Gzip

為什麼gzip版本的文件會產生不同的md5校驗和

  • April 20, 2016

我有四個使用創建的文件svndump

test.svn 
test2.svn 
test.svn.gz  
test2.svn.gz

現在當我執行這個

md5sum test2.svn test.svn test.svn.gz test2.svn.gz

這是輸出

89fc1d097345b0255825286d9b4d64c3  test2.svn
89fc1d097345b0255825286d9b4d64c3  test.svn
8284ebb8b4f860fbb3e03e63168b9c9e  test.svn.gz
ab9411efcb74a466ea8e6faea5c0af9d  test2.svn.gz

所以我不明白為什麼gzip以不同的方式壓縮文件是在壓縮之前在某處放置時間戳嗎?我有一個類似的問題,mysqldump因為它使用頂部的日期欄位

gzip將一些原始文件的元數據儲存在記錄頭中,包括文件修改時間和文件名(如果有)。請參閱GZIP 文件格式規範

因此,預計您的兩個gzip文件並不相同。您可以通過傳遞標誌來解決此問題gzip-n這會阻止它在標頭中包含原始文件名和時間戳。

每個 .gz 文件都有一個文件名的標題…嘗試head test.svn.gzhead test2.svn.gz

引用自:https://unix.stackexchange.com/questions/31008