XZ

XZファイルとは

Unix で普通に使える圧縮のなかでいちばん強力。ソースコードやパッケージの配布の標準です。

XZ とは何か

XZ はストリーム形式です。先頭から末尾へ書かれ、同じ順に読まれます。 長期保存のために使われます。

拡張子は .xz、正式名称は XZ Archive です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

XZ はどこから来たのか

2009 年までさかのぼります。

古さが役に立つのは、ごく実務的な理由からです。形式が古いほど、それを覚える時間が多くのプログラムに与えられてきたということだからです。

仕様は公開されています

誰でも、許可を求めることなく、ライセンス料も払わずに実装できます。この形式が数多くのプログラムに載っているのはそのためであり、20 年前に書かれたファイルが今も開けるのもそのためです。

捨てられるものはありません

XZ ファイルは中身をそのまま保存します。保存し直しても何も変わらないので、開いて、直して、また保存する——それを何度繰り返しても劣化は積み上がりません。これが、渡すための形式ではなく作業のための形式である理由です。

ちょうど 1 ファイルを持ちます

XZ ファイルが圧縮するのはひとつながりの流れだけで、ファイル名やフォルダーというものを知りません。これが TAR と並んで現れることがこれほど多い理由です。TAR が、その足りない構造を足してくれます。

この圧縮率がどこから来ているか

64 MB の窓で動きます。繰り返しを見つけたとき、これだけ前に見たデータまでさかのぼれる、という意味です。

この数ひとつで、書庫形式どうしの違いのほとんどが説明できます。窓が大きければ多くの繰り返しを見つけられ、そのぶん時間とメモリーを使います。取引はそれだけです。

自分を守るために何を備えているか

XZ ファイルは壊れたファイルが黙って誤読されるのではなく、壊れていると分かるようにするチェックサムを備えています。

チェックサムは何も直しません。ファイルが壊れていると教えてくれるだけです。ただしそれは、今それを知るか、送った相手から知らされるかの違いです。

XZ を開けるのは何か

xz、7-Zip、Kekaが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

これを読めるブラウザーはありません。

これを変換するいちばんよくある理由がこれです。形式が悪いのではありません。ファイルを見せたい場所が、それを読めないというだけのことです。

渡すための形式です

XZ は渡すために作られたもので、中で作業するためのものではありません。編集は可能ですが、快適だったためしはありません。賢い道は、元のファイルへ戻ってもう一度書き出すほうを通ります。

この形式でよく起きること

繰り返し挙がる不満はこれです。ひとつの流れしか扱えず、フォルダーを記述できない。

どれも、この形式を避ける理由にはなりません。どれかに不意を突かれる前に知っておくべきことがら、というだけです。これは別の主張であり、そして役に立つほうの主張です。

基本情報

XZフォーマットの識別子と出自。
拡張子.xz
メディアタイプapplication/x-xz
初版2009

XZを別のフォーマットに変換する

別のフォーマットをXZに変換する

XZの代わりに検討できるフォーマット