Dlaczego wersja plików gzip generuje inną sumę kontrolną md5


28

Mam cztery pliki, które utworzyłem za pomocą svndump

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

teraz kiedy to uruchomię

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

Oto wynik

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

Nie mogę więc zrozumieć, dlaczego gzipkompresja plików jest inna, czy umieszcza gdzieś znacznik czasu przed kompresowaniem? Miałem podobny problem, mysqldumpponieważ używał pola daty na górze


Cholera, właśnie to rozgryzłem, ale pozwolę komuś podnieść punkty. Odpowiedź: D
whoami,

Odpowiedzi:


32

gzipprzechowuje niektóre metadane oryginalnego pliku w nagłówku rekordu, w tym czas modyfikacji pliku i nazwę pliku, jeśli są dostępne. Zobacz specyfikację formatu pliku GZIP .

Oczekuje się, że dwa gzippliki nie są identyczne. Można to obejść, przekazując gzipna -nflagę, który zatrzymuje go przed tym oryginalną nazwę pliku i timestamp w nagłówku.


4

Każdy plik .gz ma nagłówek z nazwą pliku ... Spróbuj head test.svn.gzihead test2.svn.gz


Daje to dużo śmieci. nie wydaje mi się, żeby głowa działała dobrze na test.svn.gz
whoami

Na początku możesz zobaczyć nazwę pliku ...
Jan Marek

1
> Głowa test2.svn.gz Fu;? @ H'N`VD Fo
whoami

11
head test2.svn.gz|hexdump -Cnie zepsuje twojego terminala
Mat

ohhh nice @Mat uwielbiam uczyć się nowych poleceń
whoami
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.