Md5sum: Difference between revisions
(11 intermediate revisions by the same user not shown) | |||
Line 16: | Line 16: | ||
== Ühe ISO faili kontrollimine == | == Ühe ISO faili kontrollimine == | ||
Kõigepealt peaks avama terminali ja liikuma õigesse kataloogi, et kontrollida allalaetud ISO faili: | Kõigepealt peaks avama terminali ja liikuma õigesse kataloogi, et kontrollida allalaetud ISO faili: | ||
cd <kataloogi_nimi> | |||
Siis tuleks käivitada see käsk: | Siis tuleks käivitada see käsk: | ||
md5sum | md5sum <faili_nimi.iso> | ||
Md5sum peaks väljastama taolise rea pärast räsi arvutamist: | Md5sum peaks väljastama taolise rea pärast räsi arvutamist: | ||
8044d756b7f00b695ab8dce07dce43e5 ubuntu-11.10-dvd-i386.iso | 8044d756b7f00b695ab8dce07dce43e5 ubuntu-11.10-dvd-i386.iso | ||
Line 32: | Line 32: | ||
CD terviklikkust saab kontrollida ka ilma rebuutimata.<br> | CD terviklikkust saab kontrollida ka ilma rebuutimata.<br> | ||
Võib arvata, et piisab lihtsalt | 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'''<br> | '''Manuaalne meetod'''<br> | ||
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: | 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 | ls -l <faili_nimi.iso> | ||
Vastus peaks olema midagi sellist: | |||
-rw-r--r-- 1 jsmith jsmith 732766208 2008-10-28 23:24 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. | 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 | dd if=/dev/cdrom bs=1 count=732766208 | md5sum | ||
Vastus peaks olema midagi sellist: | |||
732766208+0 records in | 732766208+0 records in | ||
732766208+0 records out | 732766208+0 records out | ||
24ea1163ea6c9f5dae77de8c49ee7c03 - | 24ea1163ea6c9f5dae77de8c49ee7c03 - | ||
732766208 bytes (733 MB) copied, 563.666 s, 1.3 MB/s | 732766208 bytes (733 MB) copied, 563.666 s, 1.3 MB/s | ||
Toimingut võib kiirendada, kui valida suurem bloki suurus ning jagada | 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''' | '''Automatiseeritud skript''' | ||
See on shelli skript, mis kontrollib kõrvetatud CD md5 räsi ja võrdleb seda ISO image räsiga. | 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. | #Compares the checksums of an iso9660 image and a burned disk. | ||
#This script is released into the public domain by it's author. | #This script is released into the public domain by it's author. | ||
Line 77: | Line 79: | ||
echo 'verification failed!' | echo 'verification failed!' | ||
fi | fi | ||
Nüüd | Nüüd peaks avama terminali ja kirjutama: | ||
sh /path/to/hashcdrom.sh /path/to/ubuntu-8.10-desktop-i386.iso /dev/mycdromdevice | 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: | Tulemus peaks olema midagi taolist: | ||
checksum for input image: 24ea1163ea6c9f5dae77de8c49ee7c03 | checksum for input image: 24ea1163ea6c9f5dae77de8c49ee7c03 |
Latest revision as of 15:32, 9 January 2012
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 <kataloogi_nimi>
Siis tuleks käivitada see käsk:
md5sum <faili_nimi.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 <faili_nimi.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
Vastus peaks olema midagi sellist:
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