web-dev-qa-db-ja.com

ファイルのgzipバージョンが異なるmd5チェックサムを生成するのはなぜですか

svndumpを使用して作成した4つのファイルがあります

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でも同様の問題がありました

29
whoami

gzipは、元のファイルのメタデータの一部を、ファイルの変更時刻やファイル名(ある場合)を含めて、レコードヘッダーに格納します。 GZIPファイル形式の指定 を参照してください。

したがって、2つのgzipファイルが同一でないことが予想されます。これを回避するには、gzip-nフラグを渡します。これにより、元のファイル名とタイムスタンプがヘッダーに含まれなくなります。

33
Mat