ZIPをオンラインでTAR.XZに変換
WindowsのZIPアーカイブを、最大限の圧縮率を実現する最新のTAR.XZ形式に変換します。XZ(LZMA2)は一般的なアーカイブ形式の中で最も高い圧縮率を実現し、標準的なZIP圧縮と比べてファイルサイズを30〜50%削減します。
本ツールはZIPの内容を展開し、強力なLZMA2アルゴリズムを使うXZで再圧縮します。ファイルとディレクトリ構成を保持したまま、アーカイブサイズを大幅に削減します。
TAR.XZの利点
- 最大限の圧縮率 — TAR系形式の中で最小のファイルサイズを実現
- 現行の標準形式 — Linuxカーネルや主要ディストリビューションで使用
- 高速な展開 — より高い圧縮率にもかかわらずBZIP2より速く展開可能
- マルチスレッド対応 — 複数のCPUコアでの並列圧縮に対応
- Unixメタデータ — 権限、所有者情報、タイムスタンプを保持
XZと他の圧縮方式の比較
XZは一般的な形式の中で通常最も高い圧縮率を実現します。特にソースコードやテキストコンテンツでは、GZIPやBZIP2をしばしば20〜40%上回ります。圧縮には時間がかかりますが、展開速度はGZIPと同程度です。そのため、頻繁にダウンロードされる一方、展開は一度きりのファイルにXZが適しています。
XZのLZMA2アルゴリズムは最大1.5GBの辞書サイズを使用しますが、GZIPは32KB、BZIP2は900KBです。これによりXZは、はるかに広い範囲のデータからパターンを見つけ出せるため、ソースコード、ログファイル、データベースのダンプのような繰り返し構造を持つファイルで優れた圧縮を実現します。
変換の仕組み
ZIPをTAR.XZに変換する際は、ZIPアーカイブの内容を展開し、XZ圧縮を施したTARコンテナに再構成します。TAR形式は、ZIPでは十分にサポートされないことがあるファイル権限やシンボリックリンクといったUnix固有の属性を保持します。その後XZが、TARストリーム全体にLZMA2圧縮を適用します。
変換処理では、再エンコードがすべて自動的に行われます。ZIPファイルをアップロードするだけで、ダウンロードできる最適化されたTAR.XZアーカイブが得られます。データを保護するため、入力ファイルと出力ファイルはどちらも処理後に削除されます。
形式に関する考慮事項
TAR.XZはLinuxディストリビューションやオープンソースソフトウェアの標準的なアーカイブ形式です。ZIPから変換することで、Linuxのビルドシステムやパッケージマネージャーとの互換性が得られます。変換後のアーカイブは、tar、xz、各種パッケージ管理システムといった標準的なUnixツールとそのまま連携できます。
よくある用途
- Linuxカーネルのリリース — kernel.orgはTAR.XZ形式で配布
- ディストリビューションのパッケージ — 多くのLinuxディストロがパッケージにXZを使用
- 長期保存 — アーカイブデータの保存容量を最小化
- 帯域の最適化 — ユーザーのダウンロードサイズを削減
メモリとCPUの要件
XZ圧縮はメモリを多く消費します。標準的な圧縮設定では100〜200MBのRAMを使用し、最大圧縮(-9e)では数ギガバイトが必要になることもあります。展開に必要なメモリは、圧縮レベルによらず通常20〜50MB程度です。本ツールはこうしたリソース要件をサーバー側で処理するため、どんな端末からでも変換できます。
XZ圧縮はGZIPよりもかなり遅く、同程度のファイルサイズでも5〜10倍の時間がかかることがあります。ただし展開速度はGZIPと同程度のため、数千人のユーザーがダウンロードするソフトウェアリリースのように、一度だけ圧縮して何度も展開されるファイルにXZは適しています。
整合性の検証
ZIPとTAR.XZはどちらもチェックサムによる検証機能を備えています。ZIPはファイルごとにCRC-32を使用し、XZは圧縮ストリーム全体にCRC-64を使用します。一部の実装では、XZはSHA-256による整合性チェックにも対応しています。セキュリティが重視される配布物では、暗号学的な検証のために別途.sha256や.sigファイルがTAR.XZファイルに添付されることがよくあります。
関連ツール
- TAR.XZからZIPへ — ZIP形式に戻す
- ZIPからTAR.GZへ — GZIP圧縮を使うTAR
- ZIPから7Zへ — 同程度の圧縮率を持つ代替形式