我应该使用 xz 还是 lzma 压缩?

我应该使用 xz 还是 lzma 压缩?

我很好奇,既然在 Ubuntu 10.10 中我可以同时创建 xz 和 lzma 档案。我应该切换到 xz 吗?

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

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

答案1

我不同意@dv3500ea的结论,“使用其中任何一个都可以”,因为这是不合适的。即使在发布日期/时间,.lzma文件也已被完全替换.xz。这两个实用程序的作者曾公开表示,用户应过渡到 XZ-Utils ≥ 5.00。LZMA-Utils 的最后一个版本是 2008-07-30,现已停用。

LZMA Utils 是具有高压缩率的传统数据压缩软件。LZMA Utils 不再开发,但可以修复关键错误(只要修复它们不需要对代码进行大量更改)。

LZMA Utils 的用户应转用 XZ Utils。XZ Utils 支持.lzmaLZMA Utils 使用的旧格式,还可以模拟 LZMA Utils 的命令行工具。这应该会使从 LZMA Utils 到 XZ Utils 的过渡相对容易。

决定因素可能不是压缩,尽管讽刺的是,在本例中它确实是压缩。“实际原因”是使用 XZ-Utils 不言而喻且重要的原因。此外,该.xz格式允许您指定压缩算法和过滤器,因此.xz文件可以使用 LZMA 或 LZMA2。避免创建新.lzma文件,它们被视为遗留格式。

至于是否保留 LZMA-Utils:不要。XZ-Utils 支持旧.lzma文件。它还为仍在使用 LZMA-Utils 的脚本提供了包装器。如果所有这些理由仍然不够,Ubuntu 会从其存储库中删除旧版 lzma-utils。

答案2

这个基准提供了一些有关此问题的有效信息。似乎 LZMA 的压缩率和性能略优于 XZ,但由于“实际原因”(我不确定这些原因是什么),人们通常更喜欢 XZ。

XZ 是 lzma2 算法的一种实现,更擅长压缩“不可压缩”的数据:

lzma2 是 7-Zip LZMA2 压缩器采用的压缩方法。LZMA2 是 LZMA 的修改版本,它为不可压缩数据提供了更好的压缩率(随机数据膨胀约 0.005%,而原始 LZMA 则为 1.35%),并且可以选择并行压缩大文件的多个部分,大大提高压缩速度,但压缩率可能会降低(请参阅 LZMANumBlockThreads)。与 LZMA 一样,它会消耗大量内存;请参阅上表。如果未指定压缩级别,则默认为最大。

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

使用其中任意一种都可以。

答案3

正如其他人所说,你绝对不应该使用 lzma。

lzip 格式的作者 Antonio Diaz Diaz 说道Xz 格式不适合长期存档。如果您想备份重要文件,请考虑其他文件格式,例如具有损坏恢复工具的 bzip2。

答案4

xz 是首选,因为它的压缩率最高。不过,它的压缩速度较慢,但​​它的压缩率弥补了这一缺点。

相关内容