Bzip2 | это... Что такое Bzip2? (original) (raw)

bzip2 — бесплатная свободная утилита командной строки (а также алгоритм) с открытым исходным кодом для сжатия данных.

Разработана и впервые опубликована Джулианом Сьюардом (англ. Julian Seward) в июле 1996 (версия 0.15). Стабильность и популярность компрессора росли в течение нескольких лет, и версия 1.0 была опубликована в конце 2000 года.

Эффективность

В соответствии с традициями UNIX‐программирования, bzip2 выполняет только одну функцию: сжатие или распаковка одного файла. При этом к названию файла по умолчанию добавляется .bz2. Для упаковки нескольких файлов их обычно сперва архивируют в один файл утилитой tar, и затем уже сжимают при помощи bzip2. Такие архивы обычно в конце имени имеют .tar.bz2.

bzip2 сжимает большинство файлов эффективнее, но медленнее, чем более традиционные gzip или ZIP. В этом отношении он похож на другие современные алгоритмы сжатия.

В некоторых случаях bzip2 проигрывает архиваторам 7-Zip (LZMA) и RAR по абсолютной эффективности сжатия. Согласно автору, bzip2 проигрывает от 10 до 15 процентов наилучшему классу алгоритмов сжатия данных, известных на данный момент (PPM)[1], но при этом в два раза быстрее при сжатии и в 6 раз быстрее при распаковке.

bzip2 использует преобразование Барроуза-Уилера (англ. Burrows-Wheeler transform, сортировка блоков) для превращения последовательностей многократно чередующихся символов в строки одинаковых символов, затем применяет преобразование MTF (англ. move-to-front), и в конце кодирование Хаффмана. Блоки в bzip2 имеют одинаковый размер в несжатом потоке. Размер блока можно выбрать при помощи аргумента командной строки, и он помечается в сжатом тексте произвольно выбранной последовательностью битов представления числа Пи.

Предшественник bzip2, программа bzip, использовала арифметическое кодирование после сортировки блока. От него отказались из‑за патентных ограничений.

Использование

bzip2 можно использовать как в комбинации с tar, так и отдельно: bzip2 file для сжатия и bzip2 -d file.bz2 для распаковки (вместо bzip2 -d можно использовать альтернативное название bunzip2).

Аргументы командной строки bzip2 в основном такие же, как и у gzip. Так, для распаковки архива tar, сжатого bzip2:

bzip2 -cd имяархива.tar.bz2 | tar -xvf -

Для создания сжатого bzip2 архива tar:

tar -cvf - файлы | bzip2 -9 > имяархива.tar.bz2

Версия GNU tar поддерживает флаг -j, который позволяет создавать и распаковывать tar.bz2 файлы без использования перенаправлений ввода-вывода (англ. pipeline):

tar -cvjf имяархива.tar.bz2 списокфайлов

Распаковка tar-архива, сжатого bzip2 при помощи GNU tar:

tar -xvjf имяархива.tar.bz2

Современные версии GNU tar имеют функцию автоматического распознавания типа архива, и поэтому можно написать:

tar -xvf имяархива.tar.bz2

Примечания

  1. На данный момент наиболее эффективными компрессорами являются, всё же, различные варианты PAQ, однако использование данного алгоритма крайне затруднено по причине очень низкой производительности, сжатие требует больших временных затрат.

См. также

Ссылки

Программы для сжатия данных
Сжатие видео (Сравнение) MPEG-4 ASP 3ivx • DivX • Nero Digital • FFmpeg MPEG-4 • HDX4 • Xvid MPEG-4 AVC/H.264 CoreAVC • DivX H.264 • Nero Digital AVC • QuickTime H.264 • x264 Сжатие без потерь CorePNG • FFV1 • HuffyuvLagarith • MSU Lossless • SheerVideo Прочее Bink • Cinepak • Dirac • Indeo • VP3 • VP7 • Pixlet • RTVideo • Smacker • Snow • Sorenson • TarkinTheoraWMVVC-1
Сжатие аудио (Сравнение) Общие ATRAC • MusepackTwinVQVorbisWMADTSAC3 Dolby Digital Речь/Голос iLBC • AMBE • IMBE • iSAC • QCELP • RTAudio • Siren • Speex • Truespeech Сжатие без потерь Apple LosslessFLAC • La • Monkey's Audio • OptimFROG • TTAWavPackWMA Lossless
Архиваторы икомпрессоры (Сравнение) Открытые и свободные 7-Zip • Ark • File RollerFreeArc • Info-ZIP • KGB ArchiverPeaZip • The Unarchiver Бесплатные 7zX • DGCA • Filzip • GCA • IZArc • StuffIt Expander • TUGZipZipegZipGenius • WinUHA Проприетарные ALZip • Archive Utility • MacBinary • PowerArchiver • Squeez • StuffIt • WinAceWinRARWinZip Командная строка ARCARJ • JAR • bzip2 • compress • gzip • Info-ZIP • LHA • lzip • lzop • PAQPKZIPRAR • SBC • UPX • UHarc
См. также: Методы сжатия • Стандарты и форматы сжатия
Форматы архивов (сравнение по типу)
Только архивирование arcpio • shar • tar • LBR
Только сжатие bzip2 • compress • gzipLZMALZW • lzop • rzip • SQ • XZ
Архивирование и сжатие 7z • ACE • ARCALZipARJCabinet • cpt • DAR • dd • DGCA • .dmg • GCA • kgbLHALZXPAQRAR • qda • sit • SQX • zooZIP
Упаковка и распространение ПО deb • pkg • gemRPMMSIJAR (WAR • RAR (Java) • EAR)