如何比较两个tar归档(包括文件内容,新的/删除的文件,符号链接)?

我有两个tar档案(压缩或不压缩),我想find两个档案中的所有差异。 这两个档案包含一个完整的文件系统(即解压缩后,将生成/bin/home/root/usr/var/etc ,我希望你明白这一点)。 我想要一个列表如下:

  • 新文件
  • 删除文件
  • 更改的文件(文件的内容,不只是大小)
  • 更改了符号链接(相对和绝对)
  • 新/删除符号链接

我不能只是解压缩这些档案并使用diff ,因为diff不会正确识别绝对符号链接(因为他们会指出档案的文件系统结构)。

还有另一种方法来比较两个tar档案的内容吗?

我能想到的最好的是使用:

 tar -tvf archive.tar 

列出文件的内容。

就像是:

 tar -tvf archive1.tar > list1 tar -tvf archive2.tar > list2 diff list1 list2