Timestamps
我反复壓縮同一個文件夾的文件,但 shasum 不斷變化
我正在壓縮一個文件夾並對其進行指紋辨識,
shasum
但是這在每次壓縮時都會不斷變化。與md5
任何想法一樣,為什麼?它是基於訪問時間還是其他什麼?有沒有辦法讓它保持一致?以前我做git archive
壓縮包的時候是一致的,現在我直接壓縮了。
tar
我對檔案也有類似的問題。那裡的差異是由 atime 和/或 ctime 條目引起的。我的解決方案是使用tar -c --format=ustar ...
這樣時間戳就不再是檔案的一部分。此外,IIRC 標準 tar(即 GNU tar)創建了一個描述存檔本身的字元串,並且該字元串包含一個時間戳。即,即使歸檔內容根本沒有改變,摘要也會發生變化。這可能與 ZIP 類似。
對於 ZIP,您似乎可以使用選項
--no-extra
/-X
來避免將文件時間戳寫入存檔。我剛剛測試過。如果沒有這個選項,我會得到不同的檔案,但有了這個選項,它們是相同的。