Большинство установочных дисков Linux распространяется через интернет в виде так называемых образов - файлов формата iso. Чаще всего к таким файлам прилагаются MD5 суммы, которые позволяют проверить целостность и неповреждённость скаченного файла.
Однако иногда возникает необходимость проверить уже записанный на болванку образ на предмет соответствия MD5. Например, если вы не уверены, что диск записался верно и у вас есть MD5 сумма исходного образа, то после такой проверки можно понять, повреждён диск или нет.
Нам потребуется консольная утилита isoinfo
. Для начала вставьте диск в ваш привод и введите в терминале:
isoinfo -d -i /dev/sr0
Вместо /dev/sr0
если у вас несколько приводов нужно подставить имя устройства, отвечающее за нужный. Узнать его можно введя в консоли
mount
Эта команда выдаст достаточно длинный вывод, нас интересуют строчки вида
/dev/sr0 on /media/Ubuntu 11.04 i386 type iso9660 (ro,nosuid,nodev,uhelper=hal,uid=1000,utf8)
Подобные строчки показывают вставленные в дисковод диски. О том, что это CD (или DVD) диск говорит «type iso9660», а /dev/sr0
- это системное имя привода, в который вставлен этот диск, оно-то нам и нужно.
После выполнения isoinfo
для нужного устройства вы получите вывод, начинающийся примерно с таких строчек:
$ isoinfo -d -i /dev/sr0 CD-ROM is in ISO 9660 format System id: LINUX Volume id: Ubuntu 11.04 i386 Volume set id: Publisher id: Data preparer id: Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 354854 El Torito VD version 1 found, boot catalog is in sector 2503 Joliet with UCS level 3 found Rock Ridge signatures version 1 found
Здесь нас интересуют два значения:
Logical block size is: 2048 Volume size is: 354854
Теперь пора получить собственно MD5 сумму. Введите в консоли следующую команду, подставив в неё ваши параметры:
dd if=/dev/sr0 bs=2048 count=354854 conv=notrunc,noerror | md5sum -b
Обратите внимание, вы должны подставить свои значения:
- Вместо /dev/sr0 подставьте нужный вам привод, тот же, что и в команде
isoimage
. - В параметр bs подставьте значение «Logical block size is:» из вывода команды
isoimage
. - В параметр count подставьте значение «Volume size is:» из вывода команды
isoimage
.
Дождавшись окончания выполнения этой команды, вы увидите примерно следующее:
e6a29ce3dccb0ab12332036dcff7d9e4 *- 354854+0 записей считано 354854+0 записей написано скопировано 726740992 байта (727 MB), 274,584 c, 2,6 MB/c
e6a29ce3dccb0ab12332036dcff7d9e4 - это и есть MD5 сумма диска, если она совпадает с указанной в том месте, откуда вы скачали образ, то диск точно не повреждён. Однако, теоретически, иногда она может и не совпадать из-за ошибок считывания, при том что диск не повреждён, поскольку dd
не очень аккуратен.