<Попередній | зміст | Наступна>
Додатковий кредит
Часто буває корисно перевірити цілісність завантаженого нами образу iso. У більшості випадків розповсюджувач iso-образу також надає a файл контрольної суми. Контрольна сума – це результат екзотичного математичного обчислення, в результаті якого утворюється число, що представляє вміст цільового файлу. Якщо вміст файлу зміниться хоча б на один біт, отримана контрольна сума буде значно відрізнятися. Найпоширеніший метод формування контрольної суми використовує md5сум програма. Коли ви використовуєте md5сум, він створює унікальне шістнадцяткове число:
md5sum image.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
md5sum image.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
Після завантаження зображення слід запустити md5сум проти нього та порівняти результати з md5сум вартість, яку надає видавництво.
Окрім перевірки цілісності завантаженого файлу, ми можемо використовувати md5sum для перевірки нещодавно записаного оптичного носія. Для цього ми спочатку обчислюємо контрольну суму файлу зображення, а потім обчислюємо контрольну суму для носія. Трюк для перевірки носія полягає в тому, щоб обмежити обчислення лише частиною оптичного носія, яка містить зображення. Ми робимо це, визначаючи кількість блоків по 2048 байтів, які містить зображення (оптичний носій завжди записується в блоках по 2048 байт) і зчитуючи цю кількість блоків із носія. Для деяких типів носіїв це не потрібно. CD-R, записаний у режимі диска за один раз, можна перевірити таким чином:
md5sum /dev/cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
md5sum /dev/cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
Багато типів носіїв, наприклад DVD, вимагають точного розрахунку кількості
Додатковий кредит
блоків. У наведеному нижче прикладі ми перевіряємо цілісність файлу зображення dvd-image.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