В моя домашен каталог има раздел OS. Там съхранявам образите на изтеглените деривати. По средата се намира текстови файл md5. Той съдържа споменатите суми на всеки iso-файл.
ISO-файлът и конкретната сума се намират на грижливо спретната страница на адрес releases.ubuntu.com/12.04/
Вижда се в началото на снимката линк за изтегляне на образа, а в дъното приложен документ на име MD5SUMS. MD5SUMS е обикновен текстови документ и когато го отворите, просто го копирайте на вашия твърд диск. Той съдържа контролна сума на всяко едно приложено копие на страницата.
В един прекрасен момент образът е изтеглен, а след него добавен текстовия файл с сумата. Остава да сравним посочената сума с тази на изтегленото iso, за да сме сигурни, че имаме читаво копие.
В семейството на Linux системите има команда md5sum (/usr/bin/md5sum) с лаконично обяснение - compute and check MD5 message digest.
Тази команда извежда 32-битова контролна сума на зададен файл, използвайки алгоритъм md5. Вероятността два различни файла, да имат еднаква контролна сума граничи с нула, а това е достатъчно надежден способ за определяне на различия между тях.
От думи на практика
Стартираме командния процесор на bash. По селски му казват терминала. Преминаваме в каталог OS.
$ cd OS
извеждаме съдържанието
$ ls -l
копираме името на интересуващия ни файл и продължаваме с mdd5sum. Отговора отправяме в файл sum, извеждайки го на Desktop. Маниер на работа.
$ md5sum ubuntu-12.04.1-server-i386.iso > ../Desktop/sum
Следва корекция на съдържанието. Причината е, че md5sum връща резултат с добавeн към него името на файла. Последното е излишно при сравнение. Редактираме.
$ nano ../Desktop/sum
С бутон [End] се прехвърляме в края на израза, а с бутон [Backspace] изтриваме името, включително пробела (шпацията). Съхраняваме измененията [Ctrl + O] и потвърждаваме [Enter]. Излизаме от редактора [Ctrl + X].
Остава да прочетем текстови файл md5 в каталог OS, за да копираме сумата дадена от сайта.
$ cat md5
Интересуващата ни информация ще запишем в нов файл, например, result, когото ще създадем също на Desktop.
$ echo 3daaa312833a7da1e85e2a02787e4b66 > ../Desktop/result
Финална част на упражнението е да сравним двата файла. На помощ команда diff с опция -s. В пълномощията на тази команда е да сравнява два текстови файла по символно. В този случай интерес са опции:
- -q, --brief report only when files differ
- -s, --report-identical-files report when two files are the same
Преминаваме в Desktop.
$ cd;cd Desktop
Сравняваме sum и result.
$ diff -s sum result
Files sum and result are identical
Отлично. Имам еднакви контролни суми. ISO-то е изтеглено коректно.
до нови срещи ^.^
md5sum -c проверява директно сумата, без да се налага да ги сравняваш ръчно.
Пределно ясно, че като се набере man md5sum или md5sum --help ще се види всички възможни опции. Идея ми е насочена към новаците, като засягам редактор nano, а покрай него команда diff, или пък подсказвам, че изпълнена команда cd без параметър ще отведе в $HOME.
добре дошли в блога ми