Md5sum

From ICO wiki
Jump to navigationJump to search

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 peaks avama terminali ja liikuma õigesse kataloogi, et kontrollida allalaetud ISO faili:

cd Downloads

Siis tuleks käivitada 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

Peaks võrdlema 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 sellisest 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

Vastus peaks olema midagi sellist:

-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 käsku, 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 count 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. Kasutamiseks peaks selle kopeerima ja kleepima 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 peaks avama terminali ja kirjutama:

sh /path/to/hashcdrom.sh /path/to/ubuntu-8.10-desktop-i386.iso /dev/mycdromdevice

Kui kasutatav 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

Kasutatud kirjandus

https://help.ubuntu.com/community/HowToMD5SUM
http://en.wikipedia.org/wiki/Md5sum

Autor

Inger Romanenko A31