файл, сжатый с помощью команды "pv", отличается от обычного сжатого файла
Вот мой сценарий:
tar cf - testdir | pv -s $(du -sb testdir | awk '{print $1}') | pigz -1 > pv.tar.gz
tar cf - testdir | pigz -1 > nopv.tar.gz
diff pv.tar.gz nopv.tar.gz
а затем вывод: "Двоичные файлы pv.tar.gz и nopv.tar.gz отличаются".
Я выполняю
hexdump
и я обнаружил, что только первая строка этих двух файлов немного отличается
pv.tar.gz: 8b1f 0008 9e24 5fc8 0304 bdec 5f7b c71b
nopv.tar.gz: 8b1f 0008 9c18 5fc8 0304 bdec 5f7b c71b
Но после того, как я разархивировал его и снова сравнил, testdir остался точно таким же.
Я хочу спросить, как мне сделать два файла tar.gz согласованными?
1 ответ
Это не связано с
pv
. Байты с 5 по 8 в заголовке gzip являются меткой времени. Это будет отличаться каждый раз при запуске команды. Ты можешь сказать
pigz
не хранить его с
-m
switch, поэтому ваши команды:
tar cf - testdir | pv -s $(du -sb testdir | awk '{print $1}') | pigz -1 -m > pv.tar.gz
tar cf - testdir | pigz -1 -m > nopv.tar.gz
который должен дать вам то же самое содержание. Вы заметите, когда вы
hexdump
что все изменившиеся значения
00
в настоящее время.