Чому версія файлів 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
> головний тест2.svn.gz F u ; @ h 'N` V D ? fo
whoami

11
head test2.svn.gz|hexdump -Cбуде не зіпсує ваш термінал
Mat

ой приємно @Mat люблю вивчати нові команди
whoami
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.