4.4. 软件管理

RHEL 9 提供 RPM 4.16

RHEL 9 提供 RPM 版本 4.16。与版本 4.14 相比,重要的程序错误修复和增强包括:

  • 新的 SPEC 功能,最重要的是:

    • 快速基于宏的依赖关系生成器
    • 允许生成动态构建依赖项的 %generate_buildrequires 部分
    • 元(未排序)依赖项
    • 增加了软件包构建的并行性
    • 表达式中的原生版本比较
    • 尖号( ^ ) 操作符,与波形符( ~ )相反
    • %elif%elifos%elifarch 语句
    • 可选的自动补丁和源编号
    • %autopatch 现在接受补丁范围
    • %patchlist%sourcelist 部分
    • 构建时强制进行标头数据的 UTF-8 验证
  • rpm 数据库现在基于 sqlite 库。为迁移和查询目的保留了对 BerkeleyDB 数据库的只读支持。
  • 一个新的 rpm-plugin-audit 插件,用于发出交易的审计日志事件,之前内置在 RPM 自身中

(JIRA:RHELPLAN-80734)

新的RPM插件会通知fapolicyd关于 RPM事务过程中的更改

这个 rpm 软件包更新引进了新的 RPM 插件,该插件将 fapolicyd 框架与 RPM 数据库集成。插件通知了 RPM 事务期间已安装和更改的文件的 fapolicyd。因此,fapolicyd 现在支持完整性检查。

请注意,RPM 插件了替换 DNF 插件,因为它的功能不仅限于 YUM 事务,同时也包括了 RPM 的更改。

(BZ#1942549)

RPM 现在支持 EdDSA 公钥算法

在这个版本中,rpm 命令支持使用 EdDSA 公钥算法签名密钥。因此,现在可使用 EdDSA 生成的密钥签名和验证软件包。

请注意,现在支持使用 EdDSA 签名密钥,RSA 仍然是 GnuPG 中的默认公钥算法。

(BZ#1962234)

RPM 现在支持 Zstandard (zstd) 压缩算法

在这个版本中,默认的 RPM 压缩算法已切换到 Zstandard (zstd)。因此,用户可以受益于更快的软件包安装,这在大型环境中特别明显。

(JIRA:RHELPLAN-117903)

新的 DNF 选项 exclude_from_weak_autodetectexclude_from_weak

在这个版本中,默认的 DNF 行为是不安装不需要的弱依赖项。要修改此行为,请使用以下新选项:

  • exclude_from_weak_autodetect

    如果启用,则 exclude_from_weak_autodetect 选项会自动检测您系统中安装的弱依赖关系软件包(Recommends: 或 Supplements:)。因此,这些弱依赖项不会作为弱依赖项进行安装,但如果进行拉取,则会作为常规依赖项进行安装。默认值为 true

  • exclude_from_weak

    如果启用,exclude_from_weak 选项可防止将软件包安装为弱依赖项(Recommends: 或 Supplements:)。您可以使用软件包名称或 glob 指定软件包,使用逗号分隔它们。默认值为 []

(BZ#2005305)

RHEL 9 提供 libmodulemd 2.13.0

RHEL 9 带有 libmodulemd 软件包 2.13.0 版本。与版本 2.9.4 相比,重要的程序错误修复和增强包括:

  • 添加了对从模块中分离软件包的支持。
  • 添加了对使用 modulemd-validator 工具的新 --type 选项验证 modulemd-packager-v3 文档的支持。
  • Fortified 解析整数。
  • 修复了多个 modulemd-validator 问题。

(BZ#1984403)