Почему версия файлов gzip выдает другую контрольную сумму md5

28

У меня есть четыре файла, которые я создал с помощью svndump

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

теперь, когда я запускаю это

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

Вот вывод

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

Так что я не могу понять, почему gzipпроисходит сжатие файлов по-разному, это ставит метку времени где-то перед сжатием? У меня была похожая проблема с mysqldumpиспользованием поля даты сверху

кто я
источник
Черт возьми, я только что понял это, но я позволил кому-то набрать очки Из вас иди ответ: D
whoami

Ответы:

32

gzipхранит некоторые метаданные исходного файла в заголовке записи, включая время изменения файла и имя файла, если оно доступно. См. Спецификацию формата файла GZIP .

Поэтому ожидается, что ваши два gzipфайла не идентичны. Вы можете обойти эту проблему , передавая gzipна -nфлаг, который останавливает его от включения в исходное имя файла и временную метку в заголовке.

Мат
источник
4

Каждый файл .gz имеет заголовок с именем файла ... Попробуйте head test.svn.gzиhead test2.svn.gz

Ян Марек
источник
Это выводит много мусора. я не думаю, что голова будет хорошо работать на test.svn.gz
whoami
В начале вы можете увидеть имя файла ...
Ян Марек
1
> head test2.svn.gz F u ; @ h 'N` V D ? Fo
whoami
11
head test2.svn.gz|hexdump -Cне испортит ваш терминал
Мат
ооооо приятно @Mat люблю изучать новые команды
whoami