- bzip2
-
bzip2 Расширение .bz2
MIME application/x-bzip
Сигнатура BZh
Разработан Тип формата Открытый формат? Да: Лицензия BSD
bzip2 Тип Разработчик Операционная система Последняя версия 1.0.6 (20 сентября 2010 года)
Лицензия Сайт bzip2 — бесплатная свободная утилита командной строки с открытым исходным кодом для сжатия данных, реализация алгоритма Барроуза — Уилера.
Разработана и впервые опубликована Джулианом Сюардом (англ. Julian Seward) в июле 1996 года (версия 0.15). Стабильность и популярность компрессора росли в течение нескольких лет, и версия 1.0 была опубликована в конце 2000 года.
Содержание
Эффективность
В соответствии с традициями UNIX‐программирования, bzip2 единовременно выполняет только одну функцию: сжатие или распаковку одного файла. При этом к названию файла по умолчанию добавляется
.bz2
. Для упаковки нескольких файлов их обычно сперва архивируют в один файл утилитой tar и затем уже сжимают при помощи bzip2. Такие архивы обычно имеют расширение.tar.bz2
.bzip2 сжимает большинство файлов эффективнее, но медленнее, чем более традиционные gzip или ZIP. В этом отношении он похож на другие современные алгоритмы сжатия.
bzip2 плохо подходит для ежедневной работы в качестве штатного архиватора резервного копирования серверной системы с круглосуточной востребованностью. Рекомендуется в основном для разовых процедур эффективной упаковки большого объёма данных, когда не критично время исполнения и нагрузка на CPU. Операции упаковки bzip2 выполняет с существенной нагрузкой на CPU (что обусловлено его математическим аппаратом), поэтому достаточно продолжительное время (10Gb упаковываются 3-4 часа) центральный процессор будет занят в основном процессом bzip2 (архивацией данных) и не сможет оперативно обслуживать другие процессы системы, что может являться причиной отказа в обслуживании, например веб-сервера, в период выполнения на нём операции резервного копирования.
В некоторых случаях bzip2 проигрывает архиваторам 7-Zip (LZMA) и RAR по абсолютной эффективности сжатия. Согласно автору, bzip2 проигрывает от 10 до 15 процентов наилучшему классу алгоритмов сжатия данных, известных на данный момент (PPM)[2], но при этом в два раза быстрее при сжатии и в 6 раз быстрее при распаковке.
bzip2 использует Преобразование Барроуза — Уилера для превращения последовательностей многократно чередующихся символов в строки одинаковых символов, затем применяет преобразование MTF, и в конце кодирование Хаффмана. Блоки в 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
Кроме того существует набор утилит для выполнения поиска, вывода, восстановления и сравнения данных в формате bzip2: bzcat, bzdiff, bzfgrep, bzless, bzcmp, bzegrep, bzgrep, bzip2recover, bzmore.
См. также
Примечания
- ↑ bzip2 : Home. Julian Seward. — «Why would I want to use it? [..] Because it's open-source (BSD-style license), and, as far as I know, patent-free.» Архивировано из первоисточника 15 февраля 2012. Проверено 27 сентября 2008.
- ↑ На данный момент наиболее эффективными компрессорами являются различные варианты PAQ, однако использование данного алгоритма крайне затруднено по причине очень низкой производительности, сжатие требует больших временных затрат.
Ссылки
- Официальный сайт bzip.org (англ.)
- Введение в bzip2 (англ.)
Архиваторы и компрессоры (сравнение) Открытые и свободные 7-Zip • Ark • File Roller • FreeArc • Info-ZIP • KGB Archiver • PeaZip • The Unarchiver
Бесплатные Коммерческие ALZip • Archive Utility • MacBinary • PowerArchiver • Squeez • StuffIt • WinAce • WinRAR • WinZip
Командная строка Форматы архивов (сравнение по типу) Только архивирование Только сжатие Архивирование и сжатие Упаковка и распространение ПО Категории:- Форматы файлов
- Программное обеспечение по алфавиту
- Утилиты UNIX
- Свободные архиваторы
- Форматы архивов
- Сжатие данных
- Алгоритмы сжатия без потерь
Wikimedia Foundation. 2010.