TAR.XZ形式について
TAR.XZは、TARアーカイブ化と、LZMA2アルゴリズム(7Zと同じ圧縮方式)を使うXZ圧縮を組み合わせた形式です。この形式は最新のLinuxディストリビューションの標準となっており、優れた圧縮率からソフトウェアパッケージにおいてTAR.GZやTAR.BZ2に取って代わっています。XZは、ソースコードやバイナリファイルにおいて通常GZIPより30~50%、BZIP2より10~30%小さいアーカイブを生成するため、ダウンロードサイズやストレージ容量の削減に最適です。
TAR.XZから変換する理由
TAR.XZをZIPや7Zに変換すれば、Windowsユーザーでもアーカイブを開けるようになり、Windowsのファイルマネージャーとの連携も向上します。TAR.XZは優れた圧縮率を持ちますが、TAR.GZに変換すれば展開速度が大きく向上し、頻繁にインストールされるパッケージやデプロイの自動化で有用です。旧式システムや組み込み機器の中にはXZに対応していないものもあり、互換性のためTAR.BZ2やTAR.GZへの変換が必要になる場合があります。さらに、ZIPに変換すれば展開にコマンドラインツールが不要になります。
XZ圧縮の技術
XZは、大きな辞書サイズを用いた辞書ベースの圧縮によって高い圧縮率を実現する高度なアルゴリズム、LZMA2を使用します。このアルゴリズムは最大1.5GBの辞書を使用でき、繰り返しパターンの多い大きなファイルで卓越した圧縮を可能にします。その代償として、GZIPやBZIP2と比べて圧縮速度が遅くメモリ使用量も多くなります。ただし展開速度はそれなりに速く、圧縮時に使用した辞書を保持する分のメモリしか必要としないためメモリ効率にも優れています。
変換に適した場面
汎用的な互換性が必要な場合や、Linuxの知識やコマンドラインツールを持たないユーザーを対象とする場合はZIPに変換しましょう。最大限の圧縮を維持しつつ、TAR.XZより優れたWindows互換性が必要な場合は7Zを選んでください。旧式Unixシステムとの幅広い互換性が必要な場合や、ファイルサイズより展開速度が重要な場合はTAR.GZを選びましょう。BZIP2には対応しているがXZには対応していない特定のシステムを対象とする場合のみTAR.BZ2に変換してください。ただし、こうしたケースは最新の環境ではますます少なくなっています。
XZのリソース使用量
XZ圧縮はかなりのメモリを必要とし、デフォルト設定で100~200MB、最大圧縮では数ギガバイトになることもあります。展開はメモリ効率が良く、20~50MBで済みます。圧縮速度はGZIPよりかなり遅く(5~10倍)なりますが、展開速度は同程度に速いです。この非対称性から、XZは一度圧縮して何度も配布するファイルに最適です。
ソフトウェア配布におけるTAR.XZ
TAR.XZは、ソースコードやバイナリパッケージの配布における標準形式になっています。Linuxカーネル、GNUコアユーティリティ、ほとんどの主要オープンソースプロジェクトが公式リリースにTAR.XZを使用しています。Debian、Fedora、Archなどのディストリビューションのパッケージマネージャーは、XZ圧縮されたパッケージに依存しています。これほど広く採用されているため、XZツールはほぼすべての最新Unix系システムで利用できます。