xzまたはlzma圧縮を使用する必要がありますか?


29

Ubuntu 10.10ではxzアーカイブとlzmaアーカイブの両方を作成できるので、疑問に思っていました。xzに切り替える必要がありますか?

http://en.wikipedia.org/wiki/Xz

http://en.wikipedia.org/wiki/Lzma


「この議論から」stackoverflow.com/a/49456056/32453で基本的に導入された新しいlzアーカイブタイプもあることに注意してください。 lzmaここで言及したものと混同しないでください:)
rogerdpack

回答:


12

このベンチマークは、この問題に関するいくつかの良い情報を提供します。LZMAの圧縮率とパフォーマンスはXZよりもわずかに優れているように見えますが、「実用的な理由」のためにXZが一般的に好まれます(これらが何であるかはわかりません)。

XZはlzma2アルゴリズムの実装であり、「非圧縮」データの圧縮に優れています。

lzma2は、7-Zip LZMA2コンプレッサーで採用されている圧縮方法です。LZMA2はLZMAの修正版であり、非圧縮データの圧縮率が向上し(ランダムデータは元のLZMAの1.35%と比較して約0.005%拡大します)、オプションで大きなファイルの複数の部分を並行して圧縮できますが、圧縮速度は大幅に向上しますが、圧縮率が低下する可能性があります(LZMANumBlockThreadsを参照)。LZMAと同様に、大量のメモリを消費する可能性があります。上記の表を参照してください。圧縮レベルが指定されていない場合、デフォルトで最大になります。

http://www.jrsoftware.org/ishelp/index.php?topic=setup_compression

どちらを使用しても大丈夫です。


好奇心から、どちらを使用するかを決めましたか?
dv3500ea

1
実際、少しのテストの後、xzが前進するように思われます。また、lzmaを介したバイナリスタッフでかなりの圧縮(10 mb somtimes)も節約できます。
NightwishFan

8
「どちらを使用してもOK」に関しては、適切な答えではありませんでした。彼がこの質問を投稿したときでさえ、.lzmaファイルは近い将来に完全に.xzに置き換えられることが知られていました。LZMA-Utilsの作者は、非推奨であり、5.00以降ではxz-utilsを使用していると公に述べています。LZMA-Utilsの最後のリリースは、2008年7月30日でした。圧縮に関しては、改善は大きな決定要因ではないかもしれません。(皮肉な場合)しかし、「政治的」な理由は、XZ-Utilsを使用し、新しい.lzmaアーカイブを作成することを避ける重要な理由であるべきでした。
JMベッカー

1
@TechZilla別の回答として、これに関する意見を投稿することを検討しましたか?
アーンドリューク

1
LZMA2の実用的な理由は、マルチスレッドのサポートです。シングルスレッドのパフォーマンスと圧縮率はわずかに低くなりますが、いくつかのコアを使用するシステムでは、デコード時にLZMA2がはるかに高速になると予想されます。
ジョナサンボールドウィン

42

@ dv3500eaの結論、「どちらを使用してもOK」は不適切であるため、私は同意しません。投稿された日時でも、.lzmaファイルが完全に置き換えられることがわかっていました.xz。両方のUtilsの作者は公式に、ユーザーはXZ-Utils≥5.00に移行すべきだと述べています。最後のLZMA-Utilsリリースは2008-07-30で、廃止されました。

LZMA Utilsは、高圧縮率のレガシーデータ圧縮ソフトウェアです。LZMA Utilsはもはや開発されていませんが、重大なバグはコードの大幅な変更を必要としない限り修正できます。

LZMA UtilsのユーザーはXZ Utilsに移行する必要があります。XZ Utilsは.lzma、LZMA Utilsで使用されるレガシー形式をサポートし、LZMA Utilsのコマンドラインツールをエミュレートすることもできます。これにより、LZMA UtilsからXZ Utilsへの移行が比較的簡単になります。

皮肉なことにこの例ではそうですが、決定要因は圧縮ではないかもしれません。「実用的な理由」は、XZ-Utilsを使用する自明で重要な理由です。さらに、この.xz形式では圧縮アルゴリズムとフィルターを指定.xzできるため、ファイルはLZMAまたはLZMA2を使用できます。新しい.lzmaファイルは作成しないでください。これらはレガシー形式と見なされます。

LZMA-Utilsを維持することに関しても、しないでください。XZ-Utilsはレガシー.lzmaファイルをサポートしています。また、LZMA-Utilsをまだ使用しているスクリプトのラッパーもあります。これらの理由がすべて不十分な場合、Ubuntuはレガシからレガシーlzma-utilsを削除しました。


1
「両方のUtilsの作者は、ユーザーはXZ-Utils≥5.00に移行する必要があると述べています。」引用が必要です。:-)
ファヒームミタ

@FaheemMitha:これは投稿であり、教育的な参考資料やオリジナルの研究ではないため、引用はプロジェクトページのみになります。LZMA-Utilsの著者によるものであり、xz-utilsがレガシーLZMA-Utilsを置き換えることを意図して両方のユーティリティセットを作成したため、自明でした。...しかし、詳細を知りたい人はtukaani.org/lzmaをご覧ください。
JMベッカー14年

3

他の人が言うようにlzmaを使うべきではありません。

lzip形式の作成者であるアントニオ・ディアス・ディアスは、Xz形式は長期アーカイブには不十分だと言います。重要なファイルをバックアップする場合は、破損回復ツールを備えたbzip2などの他のファイル形式を検討してください。


一部の人はxzを安全でないと考えています。ただし、lzmaには適用されません。
oᴉɹǝɥɔ

0

圧縮率が最も高いため、xzが推奨されます。ただし、圧縮速度は遅くなりますが、圧縮によって埋め合わせられます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.