xz拡張子.xz
MIMEタイプapplication/x-xz
マジック
ナンバーFD '7zXZ' 00
開発者The Tukaani Project
xz は、データ圧縮プログラムのひとつ、およびその圧縮データのフォーマットである。LZMA/LZMA2圧縮アルゴリズムを利用している。xz自身にアーカイブ機能はないのでアーカイブする場合はtarと組み合わせて使用するのが一般的である[1]。xzの登場以前より使われていたgzip、bzip2と比較すると、圧縮時にはより多くの時間とメモリを消費するが、圧縮率では概ね優位で、また伸張速度も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]。
実装
批判
バージョン情報がないなど、実装間の安全な相互運用性が保証されていない
拡張性には不合理性があり、問題がある
フラグや長さフィールドの保護が脆弱である
LZMA2はオリジナルのLZMAよりデータロスに対して安全でなく効率が悪い
無駄な機能を含んでおり、破損の誤認識を増加させる
末尾のデータに関して一貫性のない挙動を示す
エラー検出はbzip2、gzip、lzipに比べ数倍精度が低い
用途の例
GNU Core Utilitiesバージョン7.1以上[8]やLinuxカーネル[9]のソースコードのアーカイブの圧縮。
Fedora[10](Fedora 12から開始された)、FreeBSD、Slackware Linux、CRUX
バックドア詳細は「XZ Utils」を参照
XZ Utils 5.6.0, 5.6.1 にバックドアが仕掛けられていることが判明した[13]。sshdの認証を突破して不正にアクセスされる可能性が有る。GitHubのレポジトリは2024-03-30現在GitHubにより閉じられている。
参照.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}ポータル FLOSS
XZ Utils
LZMA2
可逆圧縮
lzip
参考文献^ tarとxzを組み合わせて作成されたアーカイブファイルの拡張子は.tar.xzとなる。
^ LinuxやFreeBSDの配布など。
^ “XZ Utils”. 2022年7月26日閲覧。
^ “Tar - GNU Project - Free Software Foundation”. 2022年7月26日閲覧。
^ “ChangeLog.CVS - tar.git - GNU Tar”. 2022年7月26日閲覧。
^ “https://www.7-zip.org/history.txt”. 2022年7月26日閲覧。
^ “Xz format inadequate for long-term archiving”. 2022年7月26日閲覧。
^ GNU Coreutils files(バージョン7.1以上のファイルが.tar.xzとなっているものがあることを参照)
^ Index of /pub/linux/kernel(2011年10月頃から採用され、xzが存在しなかった時期にリリースされたバージョンにも遡って.tar.xzアーカイブが提供されている)
^ “Features/XZRpmPayloads - Fedora Project Wiki”. 2022年7月26日閲覧。
^ “ ⇒Debian Changelog dpkg”. Debian (2011年5月4日). 2011年5月22日閲覧。
^ “Arch Linux - News: Switching to xz compression for new packages”. 2022年7月26日閲覧。
^ “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
圧縮のみ
Brotli
bzip2
compress
gzip
LZMA
LZ4
lzip
lzop
SQ(英語版)
xz
Zstandard
pack
アーカイブおよび圧縮
7z
ACE
ARC(英語版)