Por que a versão gzip dos arquivos produz uma soma de verificação md5 diferente

28

Tenho quatro arquivos que criei usando um svndump

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

agora quando eu corro isso

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

Aqui está a saída

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

Portanto, não consigo entender por que a gzipcompactação de arquivos é diferente. Está colocando um carimbo de data e hora em algum lugar antes da compactação? Eu tive um problema semelhante ao mysqldumpusar o campo de data na parte superior

Quem sou eu
fonte
Droga, eu só descobri, mas eu deixo alguém acertar os pontos. Resposta: D
whoami

Respostas:

32

gziparmazena alguns dos metadados do arquivo original no cabeçalho do registro, incluindo a hora da modificação do arquivo e o nome do arquivo, se disponível. Consulte especificação de formato de arquivo GZIP .

Portanto, espera-se que seus dois gziparquivos não sejam idênticos. Você pode contornar isso passando gzipo -nsinalizador, o que impede de incluir o nome do arquivo e o carimbo de data / hora originais no cabeçalho.

Esteira
fonte
4

Todo arquivo .gz tem um cabeçalho com um nome de arquivo ... Experimente head test.svn.gzehead test2.svn.gz

Jan Marek
fonte
Isso gera muito lixo. eu não coisa cabeça iria funcionar bem em test.svn.gz
whoami
No começo você pode ver um nome de arquivo ...
Jan Marek
1
> head test2.svn.gz F u ; @ h 'N` V D ? Fo
whoami
11
head test2.svn.gz|hexdump -Cnão vai atrapalhar seu terminal
Mat
ohhh agradável @Mat amor aprender novos comandos
whoami