Xz (ファイルフォーマット)

xz
拡張子.xz
MIMEタイプapplication/x-xz
マジック
ナンバー
FD '7zXZ' 00
開発者The Tukaani Project
初版2009年1月14日 (15年前) (2009-01-14)
最新版
1.1.0
(2022年12月11日 (18か月前) (2022-12-11))
オープン
フォーマット
Yes
ウェブサイトアーカイブ 2023年12月2日 - ウェイバックマシン

xz は、データ圧縮プログラムのひとつ、およびその圧縮データのフォーマットである。LZMA/LZMA2圧縮アルゴリズムを利用している。xz自身にアーカイブ機能はないのでアーカイブする場合はtarと組み合わせて使用するのが一般的である[1]。xzの登場以前より使われていたgzipbzip2と比較すると、圧縮時にはより多くの時間とメモリを消費するが、圧縮率では概ね優位で、また伸張速度もgzipより多少遅いがbzip2よりは速い傾向にある。このことから、特にアーカイブ配布用途として、tarとgzipを組み合わせて作成する場合やtarとbzip2を組み合わせる場合と並んで採用され、bzip2を置き換えるケースも増えている[2]

実装

XZ Utilsはxzファイルを作成・展開するxzコマンドと、プログラムからxzファイルを扱うためのliblzmaを含んでいる。XZ Utilsバージョン4.999.9beta以降の実装では、GNU LGPL及びGNU GPLでライセンスされている。過去のソフトウェア(例えば、liblzma)はパブリックドメインである[3]

GNU tarはバージョン1.22から、gzipやbzip2と同様に、透過的にxzファイルを使用することができる[4][5]。bsdtarでも利用可能。

7-Zipはバージョン9.04betaからxzをサポートしている[6]

批判

lzipの作者は、xzは以下の設計上の理由で長期的なアーカイブ用途に不適切であるという見解を示した[7]

  1. バージョン情報がないなど、実装間の安全な相互運用性が保証されていない
  2. 拡張性には不合理性があり、問題がある
  3. フラグや長さフィールドの保護が脆弱である
  4. LZMA2はオリジナルのLZMAよりデータロスに対して安全でなく効率が悪い
  5. 無駄な機能を含んでおり、破損の誤認識を増加させる
  6. 末尾のデータに関して一貫性のない挙動を示す
  7. エラー検出はbzip2、gzip、lzipに比べ数倍精度が低い

用途の例

バックドア

詳細は「XZ Utils」を参照

XZ Utils 5.6.0, 5.6.1 にバックドアが仕掛けられていることが判明した[13]sshdの認証を突破して不正にアクセスされる可能性が有る。GitHubのレポジトリは2024-03-30現在GitHubにより閉じられている。

参照

ポータル FLOSS
ポータル FLOSS

参考文献

  1. ^ tarとxzを組み合わせて作成されたアーカイブファイルの拡張子は.tar.xzとなる。
  2. ^ LinuxやFreeBSDの配布など。
  3. ^ “XZ Utils”. 2022年7月26日閲覧。
  4. ^ “Tar - GNU Project - Free Software Foundation”. 2022年7月26日閲覧。
  5. ^ “ChangeLog.CVS - tar.git - GNU Tar”. 2022年7月26日閲覧。
  6. ^ “https://www.7-zip.org/history.txt”. 2022年7月26日閲覧。
  7. ^ “Xz format inadequate for long-term archiving”. 2022年7月26日閲覧。
  8. ^ GNU Coreutils files(バージョン7.1以上のファイルが.tar.xzとなっているものがあることを参照)
  9. ^ Index of /pub/linux/kernel(2011年10月頃から採用され、xzが存在しなかった時期にリリースされたバージョンにも遡って.tar.xzアーカイブが提供されている)
  10. ^ “Features/XZRpmPayloads - Fedora Project Wiki”. 2022年7月26日閲覧。
  11. ^ “Debian Changelog dpkg”. Debian (2011年5月4日). 2011年5月22日閲覧。
  12. ^ “Arch Linux - News: Switching to xz compression for new packages”. 2022年7月26日閲覧。
  13. ^ “NVD - CVE-2024-3094”. nvd.nist.gov. 2024年3月30日閲覧。

外部リンク

  • Decompressors: Add XZ decompressor module - 肥大化しつつある昨今のLinuxカーネル向けに、新たなカーネルイメージ圧縮専用モジュールとしてxzが採用された(2.6.38以降)。
アーカイブファイルフォーマット(比較)
アーカイブのみ
  • ar
  • AXF
  • BagIt(英語版)
  • cpio
  • LBR(英語版)
  • shar(英語版)
  • tar
  • WAD
圧縮のみ
アーカイブおよび圧縮
  • 7z
  • ACE
  • ARC(英語版)
  • ARJ(英語版)
  • B1(英語版)
  • Cabinet
  • cfs(英語版)
  • cpt
  • dar(英語版)
  • DGCA
  • .dmg(英語版)
  • .egg(英語版)
  • GCA
  • kgb(英語版)
  • LHA
  • LZX
  • MPQ(英語版)
  • PEA
  • .qda
  • RAR
  • rzip(英語版)
  • sit
  • SQX(英語版)
  • UDA(PAQ/UDA)
  • Xar(英語版)
  • zoo
  • ZIP
  • ZPAQ
ソフトウェアパッケージ
  • pkg (SVR4)
  • deb
  • pkg (macOS)
  • RPM
  • RUNZ
  • MSI
  • JAR
    • WAR
    • RAR (Java)
    • EAR
  • XPI
文書パッケージ
データ圧縮ソフトウェア実装
映像圧縮
(比較)
非可逆
MPEG-4 ASP
H.264/MPEG-4 AVC
HEVC
その他
  • CineForm
  • DNxHD
  • Helix DNA Producer(英語版)
  • libavcodec
  • SBC
  • Sorenson
  • VP7
  • Windows Media Encoder
可逆
開発停止
音声圧縮
(比較)
非可逆
可逆
可逆圧縮*
フリーソフトウェア
圧縮アーカイバ
(比較)
フリーソフトウェア
フリーウェア
  • IZArc
  • StuffIt Expander (展開のみ)
  • UHarc/WinUHA
  • ZipGenius
商用
開発停止
  • *アーカイブしない
  • 表示
  • 編集