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 中的默认公钥算法。
RPM 现在支持 Zstandard (zstd
) 压缩算法
在这个版本中,默认的 RPM 压缩算法已切换到 Zstandard (zstd
)。因此,用户可以受益于更快的软件包安装,这在大型环境中特别明显。
(JIRA:RHELPLAN-117903)
新的 DNF 选项 exclude_from_weak_autodetect
和 exclude_from_weak
在这个版本中,默认的 DNF 行为是不安装不需要的弱依赖项。要修改此行为,请使用以下新选项:
exclude_from_weak_autodetect
如果启用,则
exclude_from_weak_autodetect
选项会自动检测您系统中安装的弱依赖关系软件包(Recommends: 或 Supplements:)。因此,这些弱依赖项不会作为弱依赖项进行安装,但如果进行拉取,则会作为常规依赖项进行安装。默认值为true
。exclude_from_weak
如果启用,
exclude_from_weak
选项可防止将软件包安装为弱依赖项(Recommends: 或 Supplements:)。您可以使用软件包名称或 glob 指定软件包,使用逗号分隔它们。默认值为[]
。
RHEL 9 提供 libmodulemd 2.13.0
RHEL 9 带有 libmodulemd
软件包 2.13.0 版本。与版本 2.9.4 相比,重要的程序错误修复和增强包括:
- 添加了对从模块中分离软件包的支持。
-
添加了对使用
modulemd-validator
工具的新--type
选项验证modulemd-packager-v3
文档的支持。 - Fortified 解析整数。
-
修复了多个
modulemd-validator
问题。