О формате TAR.BZ2
TAR.BZ2 (также .tar.bz2 или .tbz2) объединяет архивацию TAR со сжатием BZIP2. BZIP2 использует преобразование Барроуза — Уилера с последующим кодированием Хаффмана и сжимает лучше GZIP: в нашем тесте он получился на 21% меньше на исходном коде и примерно на 2% меньше на смешанном наборе. Формат был популярен в дистрибутивах Linux в 2000-х и начале 2010-х, пока его не вытеснило сжатие XZ, и до сих пор открывается практически в любой Unix-системе.
Зачем конвертировать из TAR.BZ2
Конвертация TAR.BZ2 в ZIP позволяет открывать архив в Windows и macOS без дополнительных программ. Конвертация в TAR.GZ жертвует небольшой частью размера ради гораздо более быстрой распаковки — в замере GZIP распаковывал примерно в 9 раз быстрее BZIP2, — что важно для часто открываемых архивов и установки пакетов. Конвертация в TAR.XZ в нашем тесте сделала архивы ещё на 5% меньше на смешанном наборе и на 18% меньше на бинарных файлах программ, что полезно для крупных дистрибутивов ПО. Конвертация в 7Z даёт пользователям 7-Zip формат, который они открывают напрямую.
Производительность сжатия BZIP2
Сжатие BZIP2 медленнее GZIP, но создаёт меньшие файлы, особенно для текстового контента, такого как исходный код, документация и файлы журналов. Скорость распаковки находится между GZIP (самый быстрый) и XZ (самый медленный). Алгоритм использует 900 КБ памяти на блок сжатия, что может быть существенным при ограниченных ресурсах. Несмотря на вытеснение XZ в современных дистрибутивах, BZIP2 остаётся широко поддерживаемым и имеет проверенный послужной список надёжности в Unix-средах.
Выбор целевого формата конвертации
Конвертируйте в ZIP при распространении файлов нетехническим пользователям или в Windows-ориентированных средах, где важны встроенные инструменты извлечения. Выбирайте 7Z для максимального сжатия, когда получатели имеют соответствующее ПО и размер файла является главным приоритетом. Выбирайте TAR.GZ, когда скорость распаковки и более широкая совместимость с Unix важнее преимущества BZIP2 в размере. Переходите на TAR.XZ для современных Linux-систем, где вам нужен лучший коэффициент сжатия при сохранении структуры TAR-архива и атрибутов Unix-файлов.
BZIP2 против современных альтернатив
По размеру BZIP2 находится посередине, а по скорости — в самом конце. В нашем тесте он получился примерно на 2% меньше GZIP на смешанном наборе, но на 5% больше XZ, а в замере распаковывался медленнее всех троих: примерно в 9 раз медленнее GZIP и в 4 раза медленнее XZ. Он был популярен в годы, когда XZ ещё не был широко доступен.
Для новых проектов XZ в значительной степени вытеснил BZIP2 в экосистемах Linux. Однако BZIP2 остаётся ценным для совместимости со старыми системами и средами сборки, которые ожидают архивы .tar.bz2. Многие проекты с открытым исходным кодом по-прежнему предоставляют загрузки BZIP2 наряду с современными форматами.
Сохранение атрибутов Unix
Конвертация между форматами на основе TAR (TAR.BZ2, TAR.GZ, TAR.XZ) сохраняет все атрибуты Unix-файлов: разрешения, владельца, временные метки, символические ссылки и специальные файлы. Это критически важно для распространения ПО, где исполняемым файлам нужны правильные разрешения. Конвертация в ZIP или 7Z может потерять некоторые Unix-специфичные метаданные, что важно для серверных развёртываний.