2
Вот как он сравнивает с bzip2
:Почему `gzip` генерирует разные двоичные файлы при сжатии одного и того же файла?
$ /tmp ls testdir
xxx!
$ /tmp cat testdir/xxx\!
$ /tmp tar -czf t1.tgz testdir
$ /tmp tar -czf t2.tgz testdir
$ /tmp md5sum t1.tgz
5485da4154e180b2c30cb43ed721aee9 t1.tgz
$ /tmp md5sum t2.tgz
c494cd05ea3fd3aee997c541983423bd t2.tgz
$ /tmp tar -cjf t1.bz2 testdir
$ /tmp tar -cjf t2.bz2 testdir
$ /tmp md5sum t1.bz2
35003556c14da931e0bb31e56a8c42f9 t1.bz2
$ /tmp md5sum t2.bz2
35003556c14da931e0bb31e56a8c42f9 t2.bz2
Интересно, почему имя архивного файла влияет на вывод gzip
.
Это не алгоритм сжатия, который отвечает за разницу в данных, а за команду архива «tar». Он также сохраняет имена файлов, разрешения и время доступа. Скорее всего, время изменилось между двумя прогонами. – arkascha
@arkascha На самом деле, gzip-сжатые файлы содержат исходное имя файла, которое здесь может быть различным. Я не знаю, как tar вызывает gzip (или сжат внутренне), чтобы быть уверенным, что это причина. – hvd
@arkascha Но когда я использую 'bz2', результат не влияет на разные имена архива. Если это так, что несжатые архивы tar в обоих случаях различны, 'bz2' также должен генерировать разные результаты. – satoru