Md5sum
INGER ROMANENKO WIKI NUMBER 2 POOLIK
Sissejuhtatus
Artikkel tutvustab programmi md5sum ning annab juhiseid selle kasutamiseks erinevate operatsioonisüsteemidega. Põhirõhk on pandud md5sum-i kasutamisele Linuxiga. Artikkel sobib lugemiseks algajatele, siiski tuleksid kasuks algteadmised Linuxi käsureaga töötamisel.
Tutvustus
Kui on alla laetud ISO fail, on soovitatav testida, kas see on ikka korrektne ning kas seda on turvaline kasutada. Kalkuleeritud md5 räsiväärtus peab olema võrdne korrektse ISO md5 väärtusega. Programm md5sum on disainitud, et kindlaks teha andmete terviklikkust kasutades md5 (Message-Digest algorithm 5) 128-bitilist krüptograafilist räsi. Kasutades md5 räsi õigesti, on võimalik kindlaks teha nii faili terviklikkust kui ka autentsust. Terviklikkuse koha pealt teeb md5 räsi võrdlus kindlaks muudatusi failis, mis põhjustaksid viga. Vigade tõenosus on proportsionaalne faili suurusega: mida suurem fail, seda suurem on vigade tõenäosus. Väga kasulik on läbi teha md5 räsi võrdluse, kui tegemist on operatsioonisüsteemi installeerimiise CD-ga, mis peab olema 100% korrektne. „Õige“ MD 5 räsi , millega kalkuleeritud räsi võrreldakse, peab pärinema turvaliselt ja usaldusväärselt organisatsiooni lehelt (HTTPS). Turvalised Ubuntu räsid on leitavad siit: https://help.ubuntu.com/community/UbuntuHashes. Räsi on tavaliselt kättesaadav samalt lehelt, kust laetakse alla ka ISO fail.
Md5sum ja Linux
Enamikul Linux distributsioonidel on md6sum vaikimisi peal, seega installeerimine pole vajalik.
Ühe ISO faili kontrollimine
Kõigepealt ava terminal ja liigu õigesse kataloogi, et kontrollida allalaetud ISO faili:
ubuntu@ubuntu-desktop:~$ cd Downloads
Siis käivita see käsk:
md5sum ubuntu-11.10-dvd-i386.iso
Md5sum peaks väljastama taolise rea pärast räsi arvutamist:
8044d756b7f00b695ab8dce07dce43e5 ubuntu-11.10-dvd-i386.iso
Võrdle kalkuleeritud räsi „õige“ räsiga.Kui mõlemad räsid on täpselt ühesugused, siis võib üsna kindel olla, et allalaetud fail on korras. Kui räsid ei klapi, siis on ilmselt on probleem kas allalaadimisega või serveriga. Peaks proovima faili uuesti alla laadida kasutades sama peegelsaiti või teist peegelsaiti, kui kahtlustatakse serveri viga. Kui serverist saab pidevalt vigase faili, peaks teavitama veebimeistrit, et saaks probleemi uurida.
Mitme faili kontrollimine
Juhul kui laetakse alla mitu suurt faili ja soovtakse neid kõiki kontrollida, kuid ühekaupa kontrollimine on liiga vaevarikas, siis lahendus on testida kõiki faile korraga ja salvestada tulemus eraldi tekstifaili. Selle jaoks peaks salvestama kõik failid samasse kausta ning seejärel sisestama käsu:
md5sum *.iso > mymd5sum.txt
CD kontrollimine
CD terviklikkust saab kontrollida ka ilma rebuutimata.
Võib arvata, et piisab lihtsalt selisest käsust, et koostada CD räsi: md5sum /dev/cdrom.Paraku ei ole pea kunagi tulemuseks õige räsi, sest käsklus sisaldab ka tühja ruumi plaadi lõpuosas, mis muudab räsi. Seega tuleb kontrollida ainult seda plaadi osa, millel on ISO.
Manuaalne meetod
Kõigepealt on vaja teada saada ISO image suuruse. Mugav on seda teha näteks kasutades käsurida, sest seda on edaspidi nagunii vaja kasutada:
ls -l ubuntu-8.10-desktop-i386.iso -rw-r--r-- 1 jsmith jsmith 732766208 2008-10-28 23:24 ubuntu-8.10-desktop-i386.iso
Siit selgub, et faili suurus on 732766208 ning saab kasutada dd, et lasta räsi tegemisel läbi ainult 732766208 baiti CD-st. Vali bloki suuruseks 1 ja määra count väärtuseks ISO image suurus.
dd if=/dev/cdrom bs=1 count=732766208 | md5sum 732766208+0 records in 732766208+0 records out 24ea1163ea6c9f5dae77de8c49ee7c03 - 732766208 bytes (733 MB) copied, 563.666 s, 1.3 MB/s
Toimingut võib kiirendada, kui valida suurem bloki suurus ning jagada caount väärtus uue bloki suurusega. Olenevalt kasutatavast süsteemist on mõnikord vaja cdrom asemel kirjutada näiteks cdrom0 või isegi cdrom1, kui arvutil on mitu CD seadet.
Automatiseeritud skript
See on shelli skript, mis kontrollib kõrvetatud CD md5 räsi ja võrdleb seda ISO image räsiga. Kopeeri ja kleebi see enda valitud tekstiredaktorisse ning salvesta nimega hashcdrom.sh.
#Compares the checksums of an iso9660 image and a burned disk. #This script is released into the public domain by it's author. if [ -n "$BASH" ]; then shopt -s expand_aliases fi if [ -n "$CHECKSUM" ]; then alias CHECKSUM="$CHECKSUM" elif which md5deep &> /dev/null; then alias CHECKSUM='md5deep -e' else alias CHECKSUM='md5sum' fi if [ -n "$2" ]; then DISKDEVICE="$2" else DISKDEVICE='/dev/cdrom' fi CSUM1=$(CHECKSUM "$1" | grep --only-matching -m 1 '^[0-9a-f]*') echo 'checksum for input image:' $CSUM1 SIZE=$(stat -c '%s' "$1"); BLOCKS=$(expr $SIZE / 2048); CSUM2=$(dd if="$DISKDEVICE" bs=2048 count=$BLOCKS 2> /dev/null | CHECKSUM | grep --only-matching -m 1 '^[0-9a-f]*') echo 'checksum for output disk:' $CSUM2 if [ "$CSUM1" = "$CSUM2" ]; then echo 'verification successful!' else echo 'verification failed!' fi
Nüüd ava terminal ja kirjuta:
sh /path/to/hashcdrom.sh /path/to/ubuntu-8.10-desktop-i386.iso /dev/mycdromdevice
Pane tähele, et kui sinu CD seade on /dev/cdrom, võib jätte selle parameetri. Tulemus peaks olema midagi taolist:
checksum for input image: 24ea1163ea6c9f5dae77de8c49ee7c03 checksum for output disk: 24ea1163ea6c9f5dae77de8c49ee7c03 verification successful!
Shell skript sõltub teatud tunnustest, mis on ainult GNU grep-il, seega skript ei tööta ilmselt süsteemides, mis millel puudub GNU utiliit.
Md5sum ja Mac OS X
On olemas kolm meetodit md5sum kasutamiseks OS X masinal:
1. Kõige lihtsam (kui MD5 on saadaval) on kasutada Disk Utility programmi (Applications > Utilities). Ava Disk Utility ja oota kuni see kogub informatsiooni ketaste kohta. Mine kataloogi, kus on alla laetud ISO fail ja tiri see Disk Utility dock ikooni juurde. Vali ISO fail. Vali „Images“ menüü ning seejärel Checksum > MD5. Valima peab kindlasti “MD5" ja mitte "MD5 image checksum" või "CRC-32 image checksum", sest tegemist on erinevate asjadega, mis annavad erinevaid tulemusi.
2. Kui md5 ei ole saadaval Images > Checksum menüüs, ava terminali aken (Applications > Utilities > Terminal.app). Kirjuta "md5", seejärel tühik, tiri ISO fail terminali aknasse ja vajuta Enter. Käsurida tagastab räsinumbri.
3. Võib kasutada Terminal.app ning järgida md5sum juhiseid Linuxi jaoks, ainult käsu „md5sum“ asemel peaks kasutama „openssl md5".
MD5SUM ja Windows
Windowsis ei ole vaikimisi md5sum installeeritud. Peab laadima selle alla usaldusväärsest allikast. On käsure utiliite (md5sum.exe), mis töötavad sarnaselt Unix utiliidile. Lihtsalt installitav ja uuendatav versioon on leitav siin: http://cygwin.com/. Peale installeerimist toimib Cygwin-i md5sum täpselt samamoodi nagu Linuxi md5sum.
On olemas ka graafilisi töötriistu, nagu näiteks winMD5Sum. Õpetus selle kasutamiseks:
1. Lae alla ja installeeri winMD5Sum, tasuta vabatarkvaraline räsi kontrollimise programm: http://www.nullriver.com/products/winmd5sum
2. Parem-klõps ISO failil
3. Vajuta Send To ning seejärel vali winMD5Sum
4. Oota kuni winMD5Sum laeb ja koostab räsi
5. Kopeeri õige räsi alumisele tekstiväljale
6. Vajuta "Compare"
Md5sum ja "Checksums calculator"
"Checksums calculator” on vabatarkvaraline GUI aplikatsioon, mis sobib kasutamiseks nii Windows, MacOS X kui ka Linux operatsioonissüsteemidel (32bit ja 64bit arhitektuurid) ja on tõlgitud 19 keelde. See annab võimaluse arvutada md5, sha1, sha256, sha384 ja sha512 kontrollsummat. Seda on lihtne kasutada ning ei vaja installeerimist. Peab valima faili, millele soovitakse arvutada kontrollsummat ning valima funktsiooni ja vajutama "Calculate". Kui soovitakse tulemust millegiga võrrelda, peaks sisestama allalaetud kontrollsumma väljale "Original checksum" ja vajutama "Compare". Aplikatsiooni saab alla laadida siit: http://sinf.gr/en/hashcalc.html