Как сравнить два DVD? Я имею в виду действительно бинарное сравнение?
Проблема: у меня есть два DVD с программой, которая должна быть одинаковой. Но я подозреваю, что один DVD будет изменен. Размеры файлов и папок одинаковы, что не означает, что содержимое должно быть одинаковым.
Вставьте DVD в дисковод и подождите, пока Ubuntu автоматически смонтирует его, затем перейдите в каталог, где смонтирован DVD:
$ cd /media/barbara/mydvd
Создайте файл контрольной суммы, который содержит контрольные суммы всех файлов на DVD:
[ 111]Обратите внимание, что приведенная выше команда правильно обрабатывает имена файлов с пробелами. Затем замените DVD на второй и проверьте только что созданные контрольные суммы:
$ sha1sum -c /tmp/myiso.sha1
Если есть разница, sha1sum выведет сообщение об ошибке.
Попробуйте VBinDiff (Visual Binary Diff)
VBinDiff (Visual Binary Diff) отображает файлы в шестнадцатеричном и ASCII (или EBCDIC) формате. Он также может отображать два файла одновременно и выделять различия между ними. В отличие от diff, он хорошо работает с большими файлами (до 4 ГБ).
Режим работы с одним файлом был вдохновлен утилитой LIST от 4DOS и друзей. Хотя less обеспечивает хороший линейно-ориентированный дисплей, он не имеет ничего общего с шестнадцатеричным дисплеем LIST. (Правда, вы можете передать файл через hexdump, но это невероятно неэффективно для файлов объемом в несколько гигабайт.) VBindiff sup>
blockquote>Загрузка и другие информационное посещение VBindiff и Github
Вы можете использовать обычные cmp
.
Если DVD должен быть идеальной копией 1: 1 (абсолютно идентичной), вы можете сравнить ISO.
cmp dvd1.iso dvd2.iso
В противном случае для каждого файла в отдельности
cd /mnt/cdrom1
find -type f -exec cmp {} /mnt/cdrom2/{} \;
Обе команды будут печатать что-либо только (имя файла и смещение байта), если есть какие-либо различия. Это побайтовое сравнение, без контрольных сумм. Обратите внимание, что метод с find
здесь не обнаруживает лишние файлы на cdrom2, я предполагаю, что вы уже исключили это.
Попробуйте:
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}
(заменив $ {PATH_OF_YOUR_DVD_MOUNT_POINT} на путь точка монтирования DVD) find . -type f -exec md5sum \{\} \; >/tmp/md5sums.txt
и дождитесь его завершения (может занять некоторое время) cd
, чтобы вернуться в домашний каталог cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}
(на этот раз заменяя точку монтирования второго DVD) md5sum --check --quiet /tmp/md5sums.txt
и наблюдайте выходные данные Вы получите список файлов, которые НЕ были в двоичном эквиваленте.
ПРИМЕЧАНИЕ : добавлено исправление от пользователя Germar , которое по какой-то причине не было принято в рецензировании.