系统极客一直在努力
专注操作系统及软件使用技能

RPM 6.0 发布:引入全新 v6 包格式,安全与性能飞跃

RPM 软件包管理器

RPM 6.0 正式发布!这是从 4.x 系列以来,首次迎来「主版本号」升级,意义非凡。作为 Linux 世界历史最悠久、使用最广泛的包管理系统之一,RPM 一直是 RHEL、Fedora 和 openSUSE 等主流发行版的底层支柱。

这次大版本更新则是一次从格式、安全、构建到文档的全方位革新。下面我们就来一起看看,RPM 6.0 到底带来了哪些硬核升级。

RPM 6.0 主要更新亮点

全新 RPM v6 包格式

  • 新版本最引人注目的是引入了全新的 RPM v6 包格式。它将所有大小限制提升至 64 位,彻底告别了 MD5 和 SHA-1 等过时的加密算法,并为包内容(payload)的校验新增了 SHA-512 和 SHA3-256 算法支持。
  • 包头文件也获得了 SHA3-256 摘要支持,并且每个文件的 MIME 信息现在会直接嵌入到元数据中。
  • 新格式的兼容性也相当出色:RPM 4.6 及以上版本可以查询 v6 格式包, 4.12 版本以上可以解包,而 4.14 及更新版本则可以进行校验和安装。

安全性加强

  • RPM 现在默认强制执行签名校验,支持 OpenPGP v6 乃至后量子密码学(PQC)密钥,并允许对单个软件包进行多次签名。
  • 为此,rpmkeysrpmsign等工具也进行了功能扩展,以支持这些变化。包括基于指纹的密钥管理、通过宏实现自动签名,以及在不破坏现有签名的前提下添加或替换新的签名。

打包方面增强

  • rpmbuild现在可以同时生成 v4 和 v6 两种格式包,并默认使用 v6 格式。
  • 新增了 rpm-setup-autosign 实用工具,简化自动签名的配置过程。
  • 此外,一些长期存在的构建脚本、依赖处理和宏处理方面的问题也得到了解决。

文档系统更新

  • 所有 man 手册页都用统一的风格进行了重写,并对之前缺乏文档的组件增补了新页面。
  • 推出了一个带版本控制的文档网站,用来集中托管参考手册、API 文档和更新后的示例代码。

底层实现变革

  • RPM 现在使用 C++20 编译器构建,大量内部组件也已经迁移到现代化数据结构。项目会继续提供 Python 绑定,但要求 Python 3.10 或更高版本。
  • 新版本特别强调了构建的「可复现性」,确保发布的源码包是纯净且可验证的。
  • 尽管 RPM 6.0 默认采用全新的 v6 格式,但依然完整保留了对 v4 格式包的支持,确保了与现有生态系统的兼容性。

最后,值得一提的是,新版本移除了对 v3 格式包的安装支持,但用户仍然可以使用rpm2cpio等工具来查询或解包这些旧格式的软件包。

赞(0)
分享到

评论 抢沙发