我反复压缩同一个文件夹中的文件,但 shasum 不断变化

我反复压缩同一个文件夹中的文件,但 shasum 不断变化

我正在压缩一个文件夹并用它进行指纹识别,shasum但是每次压缩时情况都会发生变化。相同,md5知道为什么吗?它是根据访问时间还是其他方式工作?有没有办法保持一致?以前我做zip的时候是一致的git archive,现在直接zip了。

答案1

我在档案方面也遇到了类似的问题tar。差异是由 atime 和/或 ctime 条目引起的。我的解决方案是使用

tar -c --format=ustar ...

这样时间戳就不再是存档的一部分。此外,IIRC 标准 tar(即 GNU tar)创建一个描述存档本身的字符串,并且该字符串包含时间戳。即,即使归档内容在所有摘要更改时都没有更改。这可能与 ZIP 类似。

对于 ZIP,您似乎可以使用选项--no-extra/-X来避免将文件时间戳写入存档。我刚刚测试过。如果没有这个选项,我会得到不同的档案,但如果有这个选项,它们是相同的。

相关内容