LINUX.ORG.RU

Подсчёт контрольных сумм файлов до и после генерации ISO


0

1

Есть папка с файлами, подготовленная для записи на диск. В папке делаю

tar -c . | md5sum

Делаю из папки ISO

mkiso -o image.iso <папка>

монтирую исошник и проверяю md5

mount image.iso <mount folder> -o loop
cd <mount folder>
tar -c . | md5sum
и получаю другую md5sum. Как тогда проверять целостность записанных файлов на CD? Нужна именно одна сумма на все файлы. Про вычисление количество блоков и dd знаю, это не то.

Заюзай md5deep, сгенерируй файлик с хэшами.

Далее в <mount folder> сделай md5sum -c <путь к файлу с хэшами>

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Боюсь, на некоторых системах, где будет происходить проверка, нет md5deep.

Unnamed_Hero ★★★
() автор топика
Ответ на: комментарий от anonymous

>find . -type f -exec sha512sum -b '{}' > SHA512SUM \;

Контрольные суммы в тестовой директории и на примонтированном ISO различаются.

Unnamed_Hero ★★★
() автор топика
Ответ на: комментарий от ananas

>а если вместо tar использовать cat? [code] cat *.* | md5sum [/code]

Эта команда одинаковые результаты даёт. Но насколько это надёжно?

Unnamed_Hero ★★★
() автор топика
Ответ на: комментарий от anonymous

>как такое может быть? программа создания образа глючит?

скорее всего дело в именах на файловой системе в образе... Хотя это очень и очень странно, ибо использование cat даёт одинаковую md5

Unnamed_Hero ★★★
() автор топика
Ответ на: комментарий от Unnamed_Hero

cat вытаскивает только содержимое. tar еще и имя файла с прочим барахлом, типа атрибутов. атрибуты не совпали (в исошине, вроде как вытирается право на запись и исполнение), или тот-же rock-ridge напихал своего хлама - вот и несовпадение

ananas ★★★★★
()
Ответ на: комментарий от ananas

а вы пробовали такую команду запускать?

anonymous
()

в ISO9660 просто нет некоторых атрибутов, потому они меняются. И естественно меняется md5.

drBatty ★★
()
Ответ на: комментарий от Unnamed_Hero

>Эта команда одинаковые результаты даёт. Но насколько это надёжно?

это команда проверяет содержимое файлов. Это было-бы надёжно, ели-бы не одно НО *.* не захватывает файлы без точки и файлы внутри каталогов. Тогда уж что-то вроде

find /dir/ -type f | sort | xargs cat | md5sum

сортировка тут нужна потому, что порядок обхода файлов может изменится. Тоже не взлетит, если файлы не на латинице названы, и изменится локаль.

drBatty ★★
()

>и получаю другую md5sum. Как тогда проверять целостность записанных файлов на CD? Нужна именно одна сумма на все файлы

посчитать md5 от образа, а потом md5 от cat /dev/sr0

dikiy ★★☆☆☆
()

>и получаю другую md5sum.

скорей всего потому, что порядок обхода файлов на iso и на ext4 раличаются. Файлы по другому лежат в дереве каталогов.

dikiy ★★☆☆☆
()

Спасибо всем за участие. Проблема, формально, не решена, но предложена иная методика учёта сумм - эталоная сумма снимается с файлов на примонтированном образе. При таком подходе

tar c . | md5sum 
отрабатывает корректно.

Unnamed_Hero ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.