Libarchive 3.8.0 发布:多格式压缩库的重大更新
Libarchive 是一个开源的、跨平台的库,提供了对多种压缩和归档格式的读写支持。它被广泛应用于各种系统工具中,如bsdtar、bsdcpio等,能够处理包括tar、zip、7z、rar等在内的多种归档格式。
新功能亮点
增强的ZIP写入功能
Libarchive 3.8.0为ZIP写入功能带来了多项重要改进。现在支持XZ、LZMA、ZSTD和BZIP2等压缩算法,大大扩展了ZIP格式的压缩选项。特别值得注意的是新增了LZMA结合RISCV BCJ过滤器的支持,这对于处理RISC-V架构的二进制文件特别有用,可以显著提高压缩效率。
XAR格式的XML处理改进
XAR格式的读写功能得到了显著增强,新增了对xmllite的支持。这使得处理XAR格式中的XML数据更加高效和可靠,特别是对于包含大量XML元数据的归档文件。
时间戳处理增强
新版本中增加了对@前缀的Unix时间戳的支持,这使得处理各种格式的时间戳更加灵活。同时,bsdtar工具新增了--mtime和--clamp-mtime选项,为用户提供了更精确的归档文件时间戳控制能力。
安全修复
3.8.0版本包含了多项重要的安全修复:
- RAR格式处理中修复了可能导致跳过文件结尾的问题,防止了潜在的数据读取异常。
- 修复了RAR处理超过40亿节点时可能出现的内存管理问题。
- 解决了RAR格式处理中的缓冲区边界问题。
- WARC格式处理中增加了对数值溢出的防护。
- 修复了tar格式处理中可能出现的数值溢出问题。
这些修复显著提高了库在处理异常归档文件时的安全性。
其他重要改进
- bsdtar工具现在能够正确处理负inode值的文件,避免错误的硬链接。
- gzip压缩文件现在支持设置原始文件名,提高了兼容性。
- 改进了lseek处理逻辑,使文件定位操作更加可靠。
- 增强了32位系统上对大型RAR头文件的支持。
- 改进了32位系统上对大型tar文件(LFS)的支持。
技术影响
Libarchive 3.8.0的这些改进使其成为一个更加强大和安全的归档处理库。新增的压缩算法支持使开发者能够创建更高效的归档文件,而安全修复则确保了处理异常归档文件时的安全性。特别是对32位系统的改进,使得在资源受限的环境中处理大型归档文件变得更加可行。
对于系统工具开发者来说,这些改进意味着可以构建更强大、更安全的归档处理工具。对于最终用户而言,这意味着更快的压缩速度、更好的兼容性和更高的安全性。
Libarchive作为一个基础库,其稳定性和功能的持续改进对整个开源生态系统都有着重要意义。3.8.0版本的发布再次证明了该项目在归档处理领域的领导地位。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0172
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook098
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
BitCPM-CANN-8BBitCPM-CANN 是首个基于华为昇腾 NPU 原生构建的端到端 1.58 位(三值化)大语言模型训练系统。该系统将量化感知训练(QAT)集成到 Megatron-LM 框架中,并结合 MindSpeed 加速,覆盖了从自定义三值算子到基于昇腾 910B 的分布式并行训练的完整训练栈。Python00
MiniCPM5-1BMiniCPM5-1B,这是 MiniCPM5 系列的首款模型。它是一个专为端侧、本地部署和资源受限场景打造的 10 亿参数密集型 Transformer 模型,达到了 10 亿参数级开源模型的 SOTA 水平Jinja00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0239