XZ Utils 是 .xz 文件格式的开源完整 C99 实现,今天已更新到 5.8 版,该版本引入了性能改进和新功能。
XZ Utils 5.8 在 32/64 位 x86 平台上更新了 liblzma 压缩库,在使用 GCC 运行时库例外构建的系统上将解压缩时间缩短了 0-5%,在针对具有高度压缩文件的 musl libc C 标准库构建的系统上将解压缩时间提高了 15%。
该版本还提高了 LZMA/LZMA2 编码器在 64 位 PowerPC(均为字节序)和 64 位 RISC-V 处理器上的速度,支持快速非对齐访问,在 lzma/bcj.h 中新增了 RISC-V、ARM64 和 x86 BCJ 滤波器的低级 API,并支持在 LoongArch 架构上使用 CRC32 指令,以加快 CRC32 的计算速度。
它还向 xz 添加了一个新选项,以允许用户禁用 sync-before-delete 行为,并更新了 xz、xzdec 和 lzmainfo 组件,以便在打印消息时将不可打印的字符替换为问号。--no-sync
XZ Utils 5.8 中另一个有趣的功能是支持在删除输入文件之前使用 fsync() 同步输出文件及其目录,这在压缩许多小文件时非常有用,而不必担心系统崩溃时丢失数据。但是,处理许多小文件会导致性能受到重大影响。
除其他值得注意的更改外,XZ Utils 5.8 版本将 lzcmp、lzdiff、lzless、lzmore、lzgrep、lzegrep 和 lzfgrep LZMA Utils 脚本别名标记为已弃用,重写了 x86/x86-64/E2K CLMUL CRC 代码以提高性能,并为 Linux 系统上的 xz 和 xzdec 添加了对 Landlock ABI 5 和 6 的支持。
XZ Utils 5.8 还带来了各种 CMake 更新,包括对 CMake 3.20 的支持,增加了对 ARM64 (AArch64) CRC32 代码和 BCJ 过滤器的细微调整,并增加了对 32 位 x86、CLMUL CRC 和旧汇编版本的支持,以便与运行时检测共存。
最后但同样重要的是,此版本更新了克罗地亚语、意大利语、葡萄牙语和罗马尼亚语的翻译,以及德语、意大利语、韩语、罗马尼亚语、塞尔维亚语和乌克兰语的手册页翻译。您现在可以从官方网站下载 XZ Utils 5.8。
RHEL6.5不是都支持docker了吗?7才支持LXC?