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

28

Eu tenho quatro arquivos que criei usando svndump

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

agora quando eu executo 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 gzip está compactando arquivos de forma diferente. É colocar um timestamp em algum lugar antes da compactação? Eu tive um problema semelhante com mysqldump como estava usando o campo de data no topo

    
por whoami 06.02.2012 / 12:20

2 respostas

32

gzip armazena alguns dos metadados do arquivo original no cabeçalho do registro, incluindo o tempo de modificação do arquivo e o nome do arquivo, se disponível. Veja especificação do formato de arquivo GZIP .

Portanto, espera-se que seus dois arquivos gzip não sejam idênticos. Você pode contornar isso passando gzip o -n flag, o que impede que ele inclua o nome do arquivo original e o registro de data e hora no cabeçalho.

    
por 06.02.2012 / 12:58
4

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

    
por 06.02.2012 / 12:58

Tags