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


28

を使用して作成した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ました


くそー、私はちょうどそれを考え出したが、いくつかのポイントをラックにさせましょう。あなたの答えに行く:D
whoami

回答:


32

gzip可能な場合、ファイル変更時刻とファイル名を含む、元のファイルのメタデータの一部をレコードヘッダーに保存します。GZIPファイル形式の仕様を参照してください。

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


4

すべての.gzのファイルは、ファイルの名前を持つヘッダが...試してみてくださいhead test.svn.gzhead test2.svn.gz


それは大量のゴミを出力します。私は事のヘッドはtest.svn.gzにうまく機能していない
whoamiは

初めでは、ファイルの名前を...見ることができます
ジャン・マレック

1
> head test2.svn.gz F u ; @ h 'N` V D ?Fo
whoami

11
head test2.svn.gz|hexdump -C端末を台無しにしない
マット

ああ、素敵な@Matは新しいコマンドを学ぶのが大好き
whoami
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.