<Предыдущая | Содержание: | Следующая>
Extra Credit
Часто бывает полезно проверить целостность загруженного нами ISO-образа. В большинстве случаев распространитель ISO-образа также предоставит файл контрольной суммы. Контрольная сумма - это результат экзотического математического вычисления, в результате которого получается число, представляющее содержимое целевого файла. Если содержимое файла изменится хотя бы на один бит, результирующая контрольная сумма будет сильно отличаться. Самый распространенный метод генерации контрольной суммы использует md5sum программа. Когда вы используете md5sum, он выдает уникальное шестнадцатеричное число:
образ md5sum.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
образ md5sum.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
После загрузки изображения следует запустить md5sum против него и сравните результаты с md5sum стоимость, предоставленная издателем.
Помимо проверки целостности загруженного файла, мы можем использовать md5sum для проверки вновь записанных оптических носителей. Для этого мы сначала вычисляем контрольную сумму файла изображения, а затем вычисляем контрольную сумму для носителя. Уловка для проверки носителя состоит в том, чтобы ограничить вычисление только той частью оптического носителя, которая содержит изображение. Мы делаем это, определяя количество 2048-байтовых блоков, содержащихся в изображении (оптический носитель всегда записывается в 2048-байтовых блоках), и считывая это количество блоков с носителя. На некоторых типах носителей это не требуется. CD-R, записанный в режиме disc-at-once, можно проверить следующим образом:
md5sum / dev / cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
md5sum / dev / cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
Многие типы носителей, например DVD, требуют точного расчета количества
Extra Credit
блоки. В приведенном ниже примере мы проверяем целостность файла изображения. DVD-образ.iso
и диск в DVD-ридере / dev / dvd. Вы можете понять, как это работает?
md5sum dvd-image.iso; dd if = / dev / dvd bs = 2048 count = $ (($ (stat -c "% s" dvd-image.iso) / 2048)) | md5sum
md5sum dvd-image.iso; dd if = / dev / dvd bs = 2048 count = $ (($ (stat -c "% s" dvd-image.iso) / 2048)) | md5sum