Perché la versione gzip dei file produce un checksum md5 diverso


28

Ho quattro file che ho creato usando un svndump

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

ora quando eseguo questo

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

Ecco l'output

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

Quindi non riesco a capire perché la gzipcompressione dei file in modo diverso sta mettendo un timestamp da qualche parte prima della compressione? Ho avuto un problema simile con mysqldumpcome stava usando il campo della data in alto


Accidenti, l'ho appena capito, ma lascerò che qualcuno raccolga i punti. Di te vai a rispondere: D
whoami,

Risposte:


32

gzipmemorizza alcuni dei metadati del file originale nell'intestazione del record, inclusi il tempo di modifica del file e il nome file, se disponibili. Vedere le specifiche del formato di file GZIP .

Quindi si prevede che i tuoi due gzipfile non siano identici. Puoi aggirare questo passaggio passando gzipil -nflag, che impedisce di includere il nome file e il timestamp originali nell'intestazione.


4

Ogni file .gz ha un'intestazione con un nome di file ... Prova head test.svn.gzehead test2.svn.gz


Ciò produce molta spazzatura. non credo che la testa funzionerebbe bene su test.svn.gz
whoami il

All'inizio puoi vedere un nome di file ...
Jan Marek,

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

11
head test2.svn.gz|hexdump -Cnon rovinerà il tuo terminale
Mat

ohhh @Mat ama imparare nuovi comandi
whoami
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.