Zip实用程序每次在Linux中给我不同的md5sum

Mar*_*ado 9 linux zip md5 file

当我在Linux中压缩(Zip 2.31)相同的文件时,我每次都会得到不同的校验和.我怎样才能保持与上次相同的md5sum?我正在使用yum的最新zip更新

MC *_* ND 17

生成的存档不仅包含压缩文件数据,还包含"额外文件属性"(如zip 文档中所述),文件时间戳,文件属性,......

如果压缩之间的元数据不同,则永远不会获得相同的校验和,因为已编译文件的元数据已更改并已包含在存档中.

您可以使用zip's -X选项(或长--no-extra选项)来避免在归档中包含文件额外属性:

zip -X foo.zip foo-file
Run Code Online (Sandbox Code Playgroud)

在没有文件修改的情况下过度运行此命令不得更改存档的哈希值.

  • zip命令有一个`--no-extra`参数来控制文件属性.我现在没有副本可以尝试.如果这不起作用,您可以尝试使用`touch`命令在压缩之前设置文件日期/时间. (4认同)
  • 感谢MC,使用-X标志工作:-X eXclude eXtra文件属性.感谢提示导致他们的提示. (2认同)