如何比较两张 DVD?我的意思是真正的二进制比较?
问题:我有两张 DVD,里面有一个程序,应该是相同的。但我怀疑其中一张 DVD 被修改了。文件和文件夹的大小相同,但这并不意味着内容应该相同。
答案1
答案2
您可以使用常规的cmp
。
如果 DVD 想要是完美的 1:1 复制(完全相同),您可以比较 ISO。
cmp dvd1.iso dvd2.iso
否则,根据文件逐个进行
cd /mnt/cdrom1
find -type f -exec cmp {} /mnt/cdrom2/{} \;
如果存在任何差异,这两个命令只会打印一些内容(文件名和字节偏移量)。这是逐字节比较,不涉及校验和。请注意,find
此处的方法不会检测 cdrom2 上的剩余文件,我假设您已经排除了这种可能性。
答案3
尝试这个:
- 插入并安装第一张 DVD
- 打开终端
- 类型
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}
(将 ${PATH_OF_YOUR_DVD_MOUNT_POINT} 替换为 DVD 挂载点的路径) - 输入
find . -type f -exec md5sum \{\} \; >/tmp/md5sums.txt
并等待其完成(可能需要一段时间) - 键入
cd
以返回主目录 - 卸载并弹出 DVD
- 插入并安装第二张 DVD
- 再次输入
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}
(这次替换第二张 DVD 的挂载点) - 输入
md5sum --check --quiet /tmp/md5sums.txt
并观察输出
您将获得不二进制等效的文件列表。
笔记:添加了用户修正德国人由于某种原因,该论文未被同行评审接受。
答案4
将 DVD 插入驱动器并等待 Ubuntu 自动安装,然后进入安装 DVD 的目录:
$ cd /media/barbara/mydvd
创建一个包含 DVD 上所有文件的校验和的校验和文件:
$ find . -type f -print0 | xargs -0 sha1sum > /tmp/mydvd.sha1
请注意,上述命令可以正确处理带空格的文件名。接下来,用第二张 DVD 替换 DVD,并根据刚刚创建的校验和进行检查:
$ sha1sum -c /tmp/myiso.sha1
如果存在差异,sha1sum 将打印有关它的错误消息。