Используйте tar против bzip2 для создания архива .tar.bz2?

4278
Jeffrey Jose

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

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

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

Спасибо!

6

3 ответа на вопрос

7
CodeGnome

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

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

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

Обратите внимание, что `--bzip2` - это длинная форма` -j`. Dan D. 12 лет назад 0
4
petergozz

Мне было интересно, была ли разница между использованием 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
ZaB

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

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

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

1) Ваша команда не работает. Я не скажу вам почему, потому что я указывал вам это уже несколько раз. 2) Вы не отвечаете на вопрос. slhck 12 лет назад 0

Похожие вопросы