Files-with-same-content-but-with-different-md5sums-when-gzipd

来自disease
跳到导航 跳到搜索

相同的文件,使用gzip压缩两次,文件MD5值会不同?

$ cat a.txt | gzip -> a.txt.gz 
$ cat a.txt | gzip -> b.txt.gz

$ md5sum a.txt.gz b.txt.gz 
90d2625d763151242f96bf1fa9f09a64  a.txt.gz
23cf4833f312c8afd0803c4a6fcd7641  b.txt.gz

确实如此,因为gzip文件的header包含了原始文件的修改时间(MTIME),可通过gzip -lv命令查看

$ gzip -lv a.txt.gz b.txt.gz
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla 33e97646 Jan 18 11:11                  66                  43   7.0% a.txt
defla 33e97646 Jan 18 11:12                  66                  43   7.0% b.txt
                                            132                  86 -23.3% (totals)

如何避免这种情况?

只需在执行gzip时添加-n参数

-n, --no-name     do not save or restore the original name and time stamp
$ cat a.txt | gzip -n  -> a.txt.gz
$ cat a.txt | gzip -n  -> b.txt.gz

$ md5sum a.txt.gz b.txt.gz 
79f0a6c8b2009c71147c83ac4c0d11e3  a.txt.gz
79f0a6c8b2009c71147c83ac4c0d11e3  b.txt.gz


Suqingdong

66个月 前
分数 0++
评论测试

Suqingdong

66个月 前
分数 0++
测试回复评论
添加您的评论
disease欢迎所有评论。如果您不想匿名,注册登录。它是免费的。