列出与磁盘映像相比已更改的文件和文件夹

列出与磁盘映像相比已更改的文件和文件夹

我们把图像称为磁盘镜像,取自 /dev/sda。

如何列出每个有差异的文件和文件夹?

(假设文件的时间戳不正确。)

答案1

我通常将磁盘映像安装在某处,并find对其“根”目录(安装点的根)中的所有文件发出sha1sum针对它找到的每个文件的命令。

然后,切换到要检查的 FS 的根目录,并sha1sum根据保存的总和列表运行(您需要find从根发出,以便文件的路径在输出中相同sha1sum

这有点油腻,因为丢失的文件会导致错误,带有空格或 shell 元字符的文件名也会给您带来麻烦,但这是我发现的查找重复文件或检测更改的最佳方法。

  • 将图像安装到某处 ( mount -o ro /root/Disk.img /mnt/disk_img)
  • cd /mnt/disk_img && find . -type f -exec sha1sum '{}' \; > tmp/disk_img.sums
  • umount /mnt/disk_img
  • cd / && sha1sum -c /tmp/disk_img.sums

相关内容