Co je to md5. Jak použít rsync

Co je to md5? K čemu je soubor md5sums?
Jak ověřit správnost staženého souboru?

md5 součet je netriviální kontrolní součet souboru. md5 součet počítá program md5sum; jako argument se uvádí jména souborů, které chceme ověřovat. Dá se použít i jako filtr. U rozsáhlejších souborů (např. ISO obrazy CD) bývají k dispozici kontrolní součty v souboru MD5SUMS, md5sums.txt nebo v souborech s příponou md5, po stažení je vhodné spočíst kontrolní součet přetažených souborů a hodnoty porovnat.

$ md5sum soubor
caa149626c9fb9a7a995cb8e795938f8  soubor

Máte-li zkopírován originální součet jako soubor.md5 (u krátkých souborů jako je 50bytový soubor s kontrolním součtem není obvykle nutné kontrolovat jeho součet a lze se spolehnout na kontrolní mechanismy přenosových protokolů - jinak byste také mohli počítat věčně :-)), zkontrolujte očima, posloupností

$ md5sum soubor > /tmp/soubor.md5
$ diff soubor.md5 /tmp/soubor.md5
nebo využijte přepínače -c:
$ md5sum -c soubor.se.soucty

Stejným způsobem je vhodné otestovat správnost vypálení obrazu na kompaktní disk, výstup příkazu

md5sum /dev/cdrom
musí opět dát stejný součet. Zde ovšem může dojít k malé zradě kvůli připálenému paddingu (prázdné stopy navíc kvůli neošetřenému dopřednému čtení), pomůže zkontrolovat soubor jenom do původní velikosti například takto:

dd if=/dev/cdrom bs=4096 count=126536 | md5sum

přičemž velikost se spočítá z udaného kontrolního součtu

518291456 valhalla-i386-disc3.iso     5dc81ce523cfddf99b4d4d63e91bcaa7

Novější distribuce mají zabudovanou automatickou kontrolu média:

linux mediacheck

Program md5sum najdete v balíčku textutils. Je obsažen ve všech běžných distribucích. Dostupná je též verze pro MS-DOS (i na instalačních discích). Na pomalejších počítačích bude vzhledem k jisté složitosti algoritmu výsledek k dispozici za dobu odpovídající délce souboru.

Další možností je rozsáhlejší přenosy realizovat pomocí rsync - je to časově výhodnější i spolehlivější, zejména na pomalých nebo nekvalitních linkách, kdy není nutné celý přenos opakovat.

Odkazy: