比较 7z 压缩包与本地文件夹

比较 7z 压缩包与本地文件夹

如何将本地文件夹与 7z 存档进行比较?

需要将内容与文件差异进行对比验证。

档案非常庞大,在这种情况下提取和比较不是一种选择。

答案1

fuse-7z 是一个选项

fuse-7z -r archivetest.7z /mnt/7zreadonly

fuse-7z 将把 7z 文件挂载为只读文件系统,然后您可以进行比较。

Fuse-Archive 位于https://github.com/google/fuse-archive也可以挂载 7z 文件。

答案2

除非提取 7z 文件,否则无法比较 7z 文件内容与本地文件夹内容的差异。这是无损压缩的副作用:无法与未压缩数据进行并排比较。

您可以查看 7z 存档内部以查看各个文件的哈希值,但无法准确确定该文件内部的哪些字节与存档外部的同一文件不同。这是哈希校验和的副作用:只能使用它来验证数据的完整性,而不能验证数据是否加密,您可以使用哈希校验和对其进行解密,从而恢复数据本身。我认为这也不是您想要的。

因此,最后的选择是,如果您无法提取巨大的 7z 存档,您可以再次存档本地文件夹,我假设创建另一个巨大的 7z 存档,然后将其哈希值与相关 7z 文件的哈希值进行比较,这将告诉您它们之间是否存在差异,但不会告诉您这些差异是什么,因为同样,考虑到您的场景限制,这是不可能的。

答案3

然后你必须分别提取每个文件并逐一验证。需要脚本能力。

相关内容