我正在压缩一个文件夹并用它进行指纹识别,shasum
但是每次压缩时情况都会发生变化。相同,md5
知道为什么吗?它是根据访问时间还是其他方式工作?有没有办法保持一致?以前我做zip的时候是一致的git archive
,现在直接zip了。
答案1
我在档案方面也遇到了类似的问题tar
。差异是由 atime 和/或 ctime 条目引起的。我的解决方案是使用
tar -c --format=ustar ...
这样时间戳就不再是存档的一部分。此外,IIRC 标准 tar(即 GNU tar)创建一个描述存档本身的字符串,并且该字符串包含时间戳。即,即使归档内容在所有摘要更改时都没有更改。这可能与 ZIP 类似。
对于 ZIP,您似乎可以使用选项--no-extra
/-X
来避免将文件时间戳写入存档。我刚刚测试过。如果没有这个选项,我会得到不同的档案,但如果有这个选项,它们是相同的。