Pourquoi la version gzip des fichiers produit-elle une somme de contrôle md5 différente


28

J'ai quatre fichiers que j'ai créés à l'aide d'un svndump

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

maintenant quand je lance ça

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

Voici la sortie

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

Je ne comprends donc pas pourquoi la gzipcompression des fichiers différemment met-elle un horodatage quelque part avant la compression? J'ai eu un problème similaire mysqldumpcar il utilisait le champ de date en haut


Bon sang, je viens de comprendre, mais je laisse quelqu'un accumuler les points. Vous allez répondre: D
whoami

Réponses:


32

gzipstocke certaines des métadonnées du fichier d'origine dans l'en-tête d'enregistrement, y compris l'heure de modification du fichier et le nom du fichier, le cas échéant. Voir la spécification du format de fichier GZIP .

Il est donc prévu que vos deux gzipfichiers ne soient pas identiques. Vous pouvez contourner ce problème en passant gzipl' -nindicateur, ce qui l'empêche d'inclure le nom de fichier d'origine et l'horodatage dans l'en-tête.


4

Chaque fichier .gz a un en-tête avec un nom de fichier ... Essayez head test.svn.gzethead test2.svn.gz


Cela génère beaucoup de déchets. Je ne pense pas que la tête fonctionnerait bien sur test.svn.gz
whoami

Au début, vous pouvez voir un nom de fichier ...
Jan Marek

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

11
head test2.svn.gz|hexdump -Cne gâchera pas votre terminal
Mat

ohhh nice @Mat aime apprendre de nouvelles commandes
whoami
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.