xzについてのメモ

 先日、セキュリティホールmemoの方で、xzという圧縮形式を知って、bzip2よりも高圧縮って魅力あるな。と試してみました。
 現行のopenSUSE 11.1にはlzmaとして入っていますので、

$ lzma -z9 target.file

などとしてやればtarget.file.lzmaと、圧縮したファイルができあがります。
 複数のファイルをまとめてtarと一緒に使う場合は以下のような感じでしょうか。

$ tar -cf hoge.tar.xz --lzma target

 拡張子、xzとlzmaの2種類がありますが、従来から使われてきたのがlzmaで今後はxzを推しているようです。コマンド自体も新しいバージョンからxzになるみたいですね。
 で、使ってみてですが、確かにbzip2より圧縮率はいいです。ただ言われているように時間がかかります。小さなファイルならまだいいのですが、数十MBとかになってくるとかなり待たされます。こちらのページベンチマーク結果がまとまっていますが、特に圧縮率を重視すると5倍ぐらいかかっています。ただ、解凍の時間は逆にbzip2より速いようですが。
 会社のVMwareのイメージファイルをバックアップするのに今はbzip2を使っており、こちらは数十GBあって12時間ぐらいかかっています。これをxzにと考えると1日じゃ終わらない感じですね。それではバックアップできないので、とりあえず今はbzip2を使っていくことになりそうです。マシンのCPUが5倍ぐらい速くなれば考えてもいいかなとは思いますが。