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

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

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

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

И еще, зачем нужны две вещи, которые делают одно и то же?

Спасибо!

решение1

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

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

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

решение2

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

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

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

И еще, зачем нужны две вещи, которые делают одно и то же?

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

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

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

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

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

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

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

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

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

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

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

см. также pax.

Bzip — это блестящий инструмент, и вбольшинствослучаи могут сжиматься сильнее, чем zip/gzip.

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

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

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

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

Просто пролистав всю документацию tar, вы должны получить представление.

решение3

tar cf - файл поле файл каталог cat list| сжать > файл.tar.Z сжать -d файл.tar.Z | tar tvf -

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

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

Связанный контент