オンラインでTAR.XZをTAR.BZ2に変換
tarアーカイブの内容を保持しながら、XZとBZIP2圧縮を切り替えます。BZIP2は古いシステムやツール全体で幅広いサポートを持つ確立された形式です。この変換はLZMA2の代わりにBurrows-Wheelerアルゴリズムを使用してアーカイブを再圧縮し、圧縮効率と引き換えにより広い互換性を提供します。
TAR.BZ2形式はTARアーカイブ標準とBZIP2圧縮を組み合わせます。XZは優れた圧縮率を提供しますが、XZツールが利用できない環境ではBZIP2が好まれる選択肢のままです。多くのレガシービルドシステム、古いLinuxディストリビューション、組み込みシステムはBZIP2を主要な圧縮形式として使用しています。
TAR.BZ2を使用すべき場合
- 互換性 — BZIP2サポートは1990年代からUnixシステムで普遍的
- ツールの可用性 — bzip2は事実上すべてのUnixライクOSにデフォルトでインストール
- 良好な圧縮 — GZIPより優れ、ほとんどのデータタイプでXZに近い圧縮率
- 確立された形式 — 特にソースコードリリースでソフトウェア配布に広く使用
- ストリーミングサポート — BZIP2はバッファリングなしでストリーミング方式でデータを展開可能
変換の仕組み
TAR.XZからTAR.BZ2への変換は2つのステップを含みます:まず、XZ圧縮レイヤーが削除されて基になるTARアーカイブが展開されます。次に、TARアーカイブがBZIP2アルゴリズムを使用して再圧縮されます。このプロセスはTARレイヤーに保存されたすべてのファイル内容、パーミッション、タイムスタンプ、シンボリックリンク、その他のメタデータを保持します。
変換はブラウザ内または処理後の自動クリーンアップとともにサーバー上で完全に行われます。元のTAR.XZファイルは変更されず、ダウンロード可能な新しいTAR.BZ2ファイルを受け取ります。
圧縮比較:XZ vs BZIP2
XZ圧縮はLZMA2アルゴリズムを使用し、通常BZIP2より10-20%優れた圧縮を達成します。ただし、BZIP2は1996年から利用可能であり、ソフトウェアサポートの面で大幅な先行優位性を持っています。古いシステムやレガシーツールで動作する必要があるアーカイブの場合、ファイルサイズがわずかに大きくなりますが、TAR.BZ2がより安全な選択であることが多いです。
BZIP2はBurrows-Wheeler変換を使用し、類似バイトをグループ化することでデータを再編成して圧縮を改善します。LZMA2ほど効率的ではありませんが、このアルゴリズムはよく理解されており、事実上すべてのUnixライク環境で実装されており、クロスプラットフォーム配布の信頼できる選択肢となっています。
BZIP2の確立された歴史は、並列バージョン(pbzip2)やリカバリツールを含む広範なツールサポートを意味します。信頼性と互換性が最新の圧縮効率を上回る環境では、BZIP2は実証済みのままです。
メモリとCPUの考慮事項
BZIP2は圧縮ブロックあたり約8MBのメモリを使用します—デフォルト設定で数百メガバイトを必要とする可能性があるXZより大幅に少ないです。これによりBZIP2は組み込みシステム、古いハードウェア、XZ展開が失敗する可能性があるメモリ制約のある環境に適しています。
BZIP2の展開はGZIPより遅いですが、ほとんどのシナリオでXZより速いです。頻繁に展開されるアーカイブ(ソフトウェアパッケージ、ビルド依存関係)の場合、速度差が顕著になる場合があります。ファイルサイズと展開速度のトレードオフはユースケースによって異なります。
破損からの回復
BZIP2には部分的に破損したアーカイブからデータを回収できるリカバリツールがあります。bzip2recoverユーティリティは破損したファイルから損傷していないブロックを抽出できます。XZアーカイブは破損に対してより敏感です—どの部分への損傷も通常、展開を完全に妨げます。時間の経過とともにデータ整合性が重要なアーカイブシナリオでは、BZIP2の回復可能性が価値を持つ場合があります。