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

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

次のコマンドを使用して4つのファイルを作成しました。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上部の日付フィールドを使用すると同様の問題が発生しました。

答え1

gzipファイルの変更時間とファイル名(存在する場合)を含む、ソースファイルの一部のメタデータをレコードヘッダーに保存します。バラよりGZIPファイル形式の仕様

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

答え2

すべての.gzファイルには、ファイル名を含むヘッダーがあります。試してみてくださいhead test.svn.gzhead test2.svn.gz

関連情報