6

Я только что прочитал, что tar может создавать файлы .tar.bz2 . Все это время я использовал tar + bzip2 для этого.

Мне было интересно, была ли разница между использованием tar для создания архива и использованием bzip2?

Кроме того, почему есть 2 вещи, которые делают то же самое?

Спасибо!

3 ответа3

7

GNU tar поддерживает опцию --bzip2, которая позволяет вам передавать файл tar через bzip2 перед записью результирующего файла на диск. Все tar-сжатие, поддерживаемое параметрами командной строки, работает с блоками потоковых данных, что не имеет большого значения в среднем случае, но внешнее сжатие может предложить лучшее сжатие даже при использовании того же алгоритма.

Например, использование --bzip2 использует предопределенный уровень сжатия, в то время как запуск bzip2 для несжатого архива дает вам возможность настроить различные параметры сжатия и, возможно, добиться более жесткого сжатия. Кроме того, операции, которые могут использовать весь архив данных для ввода, могут использовать возможности сжатия помимо стандартных блоков, доступных через потоковую передачу. Хорошим примером может служить lrzip, который может использовать преимущества избыточности во всем архиве tar, а не только избыточности в текущем блоке данных.

Если пространство не слишком дорого, для простоты лучше использовать встроенные параметры сжатия. Встроенные опции обеспечивают высокий уровень удобства и разумный компромисс между скоростью и сжатием. Тем не менее, ваш пробег может определенно отличаться.

4

Мне было интересно, была ли разница между использованием tar для создания архива и использованием bzip2?

Bzip2 - инструмент сжатия ... и очень хороший.

tar - это инструмент архивации (хранения) ... возможно, самый успешный и надежный.

Кроме того, почему есть 2 вещи, которые делают то же самое?

Ну, tar предшествует bzip, и я думаю, что даже оригинальный zip.

Они делают "одно и то же" только в некоторых ограниченных случаях.

Возможно, вы не до конца понимаете, что такое смола?

Tar предназначен для архивирования (Tape Archiver), он гораздо больше, чем сжимает глобус файлов.

<quote man page>
DESCRIPTION
     Tar stores and extracts files from a tape or disk archive.
 </quote>

Таким образом, вы можете добавлять, извлекать, вычитать, обновлять содержимое архива. (без распаковки во многих случаях)

Это классический инструмент, который развивался в далеком героическом прошлом, когда 64K было много памяти, а потоковое (символьное) хранилище было нормой. (как магнитные ленты).

tar может сделать что-то, например, дать указание некоторому (номинально человеческому) оператору сменить ленту или намотать вперед / назад на правильный диапазон и местоположение на многометровой "ленте".

Все эти функциональные возможности по-прежнему полезны, даже если фактическое оборудование давно прошло, концепции все еще используются. Особенно в мире резервного копирования.

Как правило, он знает о структуре и состоянии архивированной файловой системы и может изменять ее или читать из нее более или менее как настоящая живая файловая система. (что, конечно, но сжато, записано / зарегистрировано и где-то спрятано)

rsync обладает некоторой (большой) функциональностью, но с хитрыми алгоритмами для сравнения различий.

см. также чел.

Bzip - великолепный инструмент, и в большинстве случаев он может сжимать сильнее, чем zip/gzip.

Это эффективный и достаточно надежный инструмент сжатия общего назначения. Это фокус сжатия.

Со временем сжатые файлы стали называться архивами, так как большинство из них имеют что-то общее.

И, наконец, tar также имеет нативное базовое (неуправляемое) сжатие. Вы используете ключ -z или -j, чтобы выбрать использование именно этого алгоритма сжатия. (хм или, может быть, так же?)

поразить страницы руководства на gzip tar bzip2 pax rsync :)

просто пролистав tar-docs, вы получите представление.

-1

tar cf - файл файл файл dir cat list | сжимать> file.tar.Z сжимать -d файл.tar.Z | tar tvf -

Вы можете заменить компресс на gzip, bzip2, lzop на ваш выбор.

замените v на x в последней команде, чтобы извлечь файлы при распечатке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .