TAR.BZ2形式について
TAR.BZ2(.tar.bz2または.tbz2とも表記)はTARアーカイブとBZIP2圧縮を組み合わせています。BZIP2はBurrows-Wheeler変換とHuffman符号化を使用してGZIPよりも優れた圧縮率を達成し、テキストファイルやソースコードでは通常10〜20%小さくなります。この形式はXZ圧縮が普及する前の2000年代から2010年代初頭にLinuxディストリビューションで人気がありました。圧縮効率と古いUnixシステムとの互換性のバランスを取っています。
なぜTAR.BZ2から変換するのか
TAR.BZ2からZIPへの変換は、BZIP2ユーティリティがインストールされていない可能性のあるWindowsおよびmacOSユーザーに普遍的なアクセシビリティを提供します。TAR.BZ2はTAR.GZより良い圧縮を提供しますが、TAR.GZへの変換は解凍速度を2〜3倍向上させ、頻繁にアクセスされるアーカイブやパッケージのインストールに重要です。TAR.XZへのアップグレードは通常さらに10〜30%のサイズ削減を達成し、大規模なソフトウェア配布に有益です。7Zへの変換は最大圧縮を提供しながら、ソリッド圧縮と強力な暗号化のサポートを追加します。
BZIP2圧縮パフォーマンス
BZIP2圧縮はGZIPより遅いですが、特にソースコード、ドキュメント、ログファイルなどのテキスト中心のコンテンツでより小さいファイルを生成します。解凍速度はGZIP(最速)とXZ(最遅)の間にあります。アルゴリズムは圧縮ブロックあたり900KBのメモリを使用し、リソースが限られている場合には重要になる可能性があります。最新のディストリビューションではXZに取って代わられていますが、BZIP2は広くサポートされており、Unix環境での信頼性の実績があります。
変換先の選択
非技術者ユーザーや組み込みの展開ツールが不可欠なWindows中心の環境にファイルを配布する場合はZIPに変換します。受信者が適切なソフトウェアを持っていてファイルサイズが主な関心事の場合は、最大圧縮のために7Zを選択します。解凍速度とより広いUnix互換性がBZIP2のサイズ優位性を上回る場合はTAR.GZを選択します。TARアーカイブ構造とUnixファイル属性を維持しながら最良の圧縮率が必要な最新のLinuxシステムにはTAR.XZにアップグレードします。
BZIP2と最新の代替手段
BZIP2は圧縮の中間点を占めています。GZIP(10〜20%小さい)より良く圧縮しますが、XZ/LZMA2(10〜30%大きい)よりは劣ります。解凍はGZIPより遅いですがXZより速いです。メモリ使用量(〜8 MB)はGZIPより高いですが、大きな辞書を持つXZより低いです。このバランスがXZが広く利用可能でなかった時代にBZIP2を人気にしました。
新しいプロジェクトでは、XZがLinuxエコシステムでBZIP2を大幅に取って代わりました。しかし、BZIP2は古いシステムや.tar.bz2アーカイブを期待するビルド環境との互換性のために依然として価値があります。多くのオープンソースプロジェクトは最新の形式と並んでBZIP2ダウンロードを提供し続けています。
Unix属性の保持
TARベースの形式(TAR.BZ2、TAR.GZ、TAR.XZ)間の変換は、すべてのUnixファイル属性を保持します:パーミッション、所有権、タイムスタンプ、シンボリックリンク、特殊ファイル。これは実行ファイルに正しいパーミッションが必要なソフトウェア配布に重要です。ZIPまたは7Zへの変換は、サーバーデプロイメントで重要な一部のUnix固有のメタデータを失う可能性があります。