TAR.BZ2をTAR.XZに

TAR.BZ2をオンラインでTAR.XZに変換——より優れた圧縮率のため。より小さいアーカイブのためBZIP2からXZ圧縮アルゴリズムにアップグレードします。

またはファイルをここにドラッグ&ドロップ

PDFファイルをアップロード

高速変換安全な処理登録不要

TAR.BZ2をオンラインでTAR.XZに変換

BZIP2からXZに切り替えると、アーカイブが小さくなるうえ展開も速くなります。当社のテストでは、TAR.XZはTAR.BZ2より混在セットで5%、プログラムのバイナリで18%小さくなり、ある計測ではXZがBZIP2より約3.8倍速く展開しました。XZは現在のほとんどのLinuxディストリビューションが使う形式です。

TAR.XZ形式は、ソースコード、Linuxカーネルのリリース、ソフトウェアパッケージの配布における標準となっています。TAR.BZ2からTAR.XZに変換すれば、ストレージの必要容量を削減しつつ、アーカイブをダウンロード・展開するエンドユーザーの展開性能も向上します。

なぜTAR.XZにアップグレードするのか?

  • 最高の圧縮率 — 当社のテストでは、XZが最も小さいTARアーカイブを作り、中身に応じてBZIP2より5〜18%小さくなりました
  • 高速な展開 — XZは高い圧縮率を持ちながらBZIP2より速く展開できます
  • 最新の標準 — Linuxカーネル、GNUツール、ほとんどのディストリビューションが今ではTAR.XZを採用しています
  • 並列処理対応 — XZはpixzやpxzを使えば複数のCPUコアを圧縮に活用できます
  • 優れたツール群 — xz-utilsは整合性チェックや復旧に優れたオプションを備えています

変換の仕組み

TAR.BZ2からTAR.XZへの変換では、まずBZIP2層を展開して元のTARアーカイブを取り出し、その後XZアルゴリズムで再圧縮します。TAR層に保存されているファイルの中身、パーミッション、タイムスタンプ、所有者情報、シンボリックリンクはすべてそのまま維持されます。

この変換処理では、再エンコードがすべて自動的に行われます。TAR.BZ2ファイルをアップロードすれば、配布や保存にそのまま使える最適化済みのTAR.XZアーカイブが得られます。ファイルは暗号化されたHTTPS接続で当社のサーバーに送られます。アップロードしたファイルの扱いはプライバシーポリシーに記載しています。

技術比較: BZIP2とXZ

BZIP2はBurrows-Wheeler変換とハフマン符号化を組み合わせて使用し、XZはLZMA2(Lempel-Ziv-Markov連鎖アルゴリズム)を使用します。LZMA2はより大きな辞書とより高度なマッチングにより高い圧縮率を実現します。その代わりXZの圧縮にはより多くのメモリとCPU時間が必要になりますが、展開速度はBZIP2より実際には速くなります。

XZはBZIP2の最大900KBに対し、最大1.5GBの辞書サイズを使用します。これによりXZはより広範囲のデータからパターンを見つけ出せるため、ソースコードリポジトリやデータベースダンプのように繰り返しの多い大きなファイルで高い圧縮率を発揮します。

最新のLinuxディストリビューションでは、Linuxカーネル自体を含め、パッケージ配布にXZが標準となっています。BZIP2からXZに変換すれば、アーカイブを現在推奨される形式にし、可能な限り高い圧縮率を得られます。

メモリ要件

デフォルト設定のXZ圧縮は約100~200MBのメモリを使用します。最大圧縮(-9e)では数ギガバイトが必要になることもあり、メモリに制約のあるシステムでは現実的ではありません。展開時に必要なメモリは、作成時の圧縮レベルに関わらず通常20~50MB程度です。

BZIP2は圧縮に約8MB、展開に約4MBのメモリを使用します。このメモリ使用量の少なさから、BZIP2は組み込みシステムや旧式ハードウェアで広く使われてきました。メモリに制約のある環境をサポートする必要がある場合、XZの方が圧縮率に優れていても、TAR.BZ2の方が適した選択肢になることがあります。

実際の圧縮例

当社のテストでは、13MBのPythonソースコードがTAR.BZ2で2.29MB、TAR.XZで2.08MBになり、XZの方が9%小さくなりました。38MBのプログラムのバイナリではXZが18%小さくなりました。JPEG画像のようにすでに圧縮されている内容は、どちらの形式でもほとんど小さくならず、元のサイズに近いままです。

よくある質問

TAR.XZはTAR.BZ2と比べてどのくらい小さくなりますか?

当社のテストでは、TAR.XZはTAR.BZ2より混在セットで5%、ソースコードで9%、プログラムのバイナリで18%小さくなりました。XZのLZMA2アルゴリズムはBZIP2より効率的で、XZアーカイブは展開も速くなります。

XZの展開はBZIP2より速いですか?

はい。XZは高い圧縮率を持ちながら、BZIP2より明らかに速く展開できます。そのため、TAR.XZはサイズと展開性能の両方でTAR.BZ2からの改善となります。

なぜLinuxディストリビューションはBZ2からXZに切り替えているのですか?

XZはBZIP2より高い圧縮率と速い展開速度を持っています。Linuxカーネルや主要ディストリビューションの多くは、今ではTAR.XZ形式で配布しています。古いTAR.BZ2アーカイブを変換すれば、現在の標準に合わせて更新できます。

ファイルのパーミッションは維持されますか?

はい。どちらの形式もTARによるアーカイブ層を使用しています。パーミッション、タイムスタンプ、所有者情報、シンボリックリンクなど、Unixのメタデータはすべてそのまま維持されます。変わるのは外側の圧縮アルゴリズムだけです。

TAR.XZは旧式システムでも使えますか?

XZ対応は2010年頃にほとんどのディストリビューションに追加されました。非常に古いシステムではxz-utilsが入っていない場合があります。旧式システムとの互換性が必要な場合は、TAR.BZ2やTAR.GZの方が無難な選択肢になります。

XZはマルチコア圧縮に対応していますか?

はい。XZは複数のCPUコアを使った並列圧縮に対応しています。このオンラインコンバーターはシングルスレッドで処理しますが、ローカルツールでは-Tオプションを使って利用可能なコアをすべて活用できます。