В чем различие в последовательности ключей в данном примере? Архивы создаются корректно, с одинаковыми объемами, но с разным содержимым.$ echo test > file
$ tar -czvf czvf.tgz file
file$ tar -zcvf zcvf.tgz file
file$ ls -l *.tgz
-rw-r--r-- 1 user group 128 2011-08-19 11:10 czvf.tgz
-rw-r--r-- 1 user group 128 2011-08-19 11:10 zcvf.tgz$ diff czvf.tgz zcvf.tgz
Двоичные файлы czvf.tgz и zcvf.tgz различаются$ gunzip czvf.tgz
$ gunzip zcvf.tgz
$ ls -l *.tar
-rw-r--r-- 1 user group 10240 2011-08-19 11:10 czvf.tar
-rw-r--r-- 1 user group 10240 2011-08-19 11:10 zcvf.tar$ diff czvf.tar zcvf.tar
>[оверквотинг удален]
> -rw-r--r-- 1 user group 128 2011-08-19 11:10 czvf.tgz
> -rw-r--r-- 1 user group 128 2011-08-19 11:10 zcvf.tgz
> $ diff czvf.tgz zcvf.tgz
> Двоичные файлы czvf.tgz и zcvf.tgz различаются
> $ gunzip czvf.tgz
> $ gunzip zcvf.tgz
> $ ls -l *.tar
> -rw-r--r-- 1 user group 10240 2011-08-19 11:10 czvf.tar
> -rw-r--r-- 1 user group 10240 2011-08-19 11:10 zcvf.tar
> $ diff czvf.tar zcvf.tarman tar:
-c, --create
create a new archive
-z, --gzip
filter the archive through gzip
очерёдность и создаёт Binary files czvf.tgz and zcvf.tgz differ
> очерёдность и создаёт Binary files czvf.tgz and zcvf.tgz differдолго пытался понять смысл этой фразы -- не получилось.
не могли бы ли вы более развернуто ответить?
>> очерёдность и создаёт Binary files czvf.tgz and zcvf.tgz differ
> долго пытался понять смысл этой фразы -- не получилось.
> не могли бы ли вы более развернуто ответить?"Двоичные фалы файл1 и файл2 отличаются"
Разница получается из-за последовательности движений.
Здесь всё дело в параметре -z (gzip)
man gzip:
gzip - compress or expand files
Можно сначала компресс потом крит или крит потом компресс.
Опередили.
>[оверквотинг удален]
> $ echo test > file
> $ tar -czvf czvf.tgz file
> file
> $ tar -zcvf zcvf.tgz file
> file
> $ ls -l *.tgz
> -rw-r--r-- 1 user group 128 2011-08-19 11:10 czvf.tgz
> -rw-r--r-- 1 user group 128 2011-08-19 11:10 zcvf.tgz
> $ diff czvf.tgz zcvf.tgz
> Двоичные файлы czvf.tgz и zcvf.tgz различаются$ cmp -bl czvf.tgz zcvf.tgz
5 337 M-_ 341 M-aЗабавно, но этот "пятый" байт "всегда" разный....
...ан, нет!! Ж))))))))))))))
Всем читать исходники gzip два часа?.... Достаточно RFC 1952 aka GZIP file format specification:
""MTIME (Modification TIME)
This gives the most recent modification time of the original file being compressed.""С пятого байта как раз.
Время создания (или конвейеров внутри tar -z) czvf.tgz и zcvf.tgz - разное, поэтому "байтики" отличаются.
Очень забавный формат!
ЗЫ: Но фантазёры -- "сначала компресс потом крит" -- забавнее.
>[оверквотинг удален]
> Всем читать исходники gzip два часа?.... Достаточно RFC 1952 aka GZIP
> file format specification:
> ""MTIME (Modification TIME)
> This gives the
> most recent modification time of the original file being compressed.""
> С пятого байта как раз.
> Время создания (или конвейеров внутри tar -z) czvf.tgz и zcvf.tgz - разное,
> поэтому "байтики" отличаются.
> Очень забавный формат!
> ЗЫ: Но фантазёры -- "сначала компресс потом крит" -- забавнее.-n, --no-name do not save or restore the original name and time stamp
> -n, --no-name do not save or restore the
> original name and time stampВау, работает! :D
$ echo test > file
$ GZIP=-n tar -czvf czvf.tgz file
file
$ GZIP=-n tar -zcvf zcvf.tgz file
file
$ cmp -bl czvf.tgz zcvf.tgz
$ _
$ od -t x1 czvf.tgz |head -1
0000000 1f 8b 08 00 00 00 00 00 00 03 ed ce 31 0a 02 31
$ _
del
>[оверквотинг удален]
> Всем читать исходники gzip два часа?.... Достаточно RFC 1952 aka GZIP
> file format specification:
> ""MTIME (Modification TIME)
> This gives the
> most recent modification time of the original file being compressed.""
> С пятого байта как раз.
> Время создания (или конвейеров внутри tar -z) czvf.tgz и zcvf.tgz - разное,
> поэтому "байтики" отличаются.
> Очень забавный формат!
> ЗЫ: Но фантазёры -- "сначала компресс потом крит" -- забавнее.Действительно, в данном случае берется время создания конвеера в tar.
Тема раскрыта, всем спасибо!