4.4. 软件管理


dnf4 可以用来运行 DNF 命令

在这个版本中,您可以输入 dnfdnf4 来运行 DNF 命令。

Jira:RHEL-82310

DNF 可以在 RPM 软件包中验证 RPMv6 签名

量级加密保证了软件的完整性和来源。但是,在量子计算中,标准非对称加密算法(如 RSA)不再相关。在这个版本中,除了标准 RPMv4 签名外,您还可以使用新的 multisig DNF 插件在 RPM 软件包上验证 RPMv6 签名。RPMv6 签名可以基于 quantum-safe 算法,如 ML-DSA。

要验证 RPMv6 签名,您可以通过 python3-dnf-plugin- multisig RPM 软件包安装 multisig 插件。

注意

成功验证是从将 gpgcheck 选项设置为 True 的仓库中安装、重新安装、升级或降级软件包的先决条件。

Jira:RHEL-100157

createrepo_c 支持 zstd

此功能增强添加了对 createrepo_c 命令的 Zstandard (zstd)压缩算法的支持。因此,createrepo_c 可以读取和生成使用 zstd 压缩的元数据。

Jira:RHEL-67689

dnf 标记 DNF 历史记录中的临时事务

dnf history info 命令显示事务是持久的还是临时的。因此,可以更轻松地跟踪软件包更改,特别是对于有很多临时软件包的系统。

Jira:RHEL-84512

RPM 在安装过程中记录原始软件包的校验和

在这个版本中,RPM 会在安装过程中记录整个 .rpm 软件包的 SHA256 和 SHA512 摘要。然后,您可以从 RPM 数据库检索这些摘要,以验证安装的软件包是否与特定的 .rpm 文件对应。因此,您可以通过重新验证安装的软件包集是否与位位(位位,一组已知 .rpm 软件包的集合)来改进 RHEL 系统的完整性,如 DNF 存储库中可用的软件包。

要输出安装的软件包摘要,请使用以下命令:

$ rpm -q --qf "[%{packagedigestalgos:hashalgo} %{packagedigests}\n]" <package_name>
Copy to Clipboard Toggle word wrap

您还可以通过配置新的 %_pkgverify_digests 宏来自定义数据库中记录哪些摘要类型,例如:

%_pkgverify_digests 8:10
Copy to Clipboard Toggle word wrap

Jira:RHEL-35619

RPM 支持 spec-local 文件属性和依赖项生成器

文件属性及其依赖项生成器通常在构建使用这些属性的软件包之前必须安装的独立软件包中提供。但是,您可能需要 file 属性在构建附带此属性的软件包期间生效。您可能还需要只用于构建软件包的 file 属性,而无需提供属性。

在这个版本中,您可以通过执行以下操作注册 spec-local 文件属性和生成器:

  1. 定义 %_local_file_attrs 宏。%_local_file_attrs 接受以冒号分隔的新属性名称列表,以直接在 spec 文件中注册。
  2. 为每个属性定义一个或多个依赖项生成器宏,如 %__NAME_provides%__NAME_path,其中 NAME 是本地文件属性的名称。

RPM 随后在构建 spec 文件时将文件属性用于依赖项生成。因此,您可以创建不一定要安装的构建时文件属性。

例如,以下 spec 文件片段使用与您的软件包源捆绑的 foobar.sh 脚本为每个打包文件生成提供:

Source1: foobar.sh
[...]
%define _local_file_attrs foobar
%define __foobar_provides %{SOURCE1}
%define __foobar_path .*
Copy to Clipboard Toggle word wrap

Jira:RHEL-52772

新的 $releasever_major$releasever_minor 变量

提供了新的 $releasever_major$releasever_minor 变量,以更好地支持 Extra Packages for Enterprise Linux (EPEL)存储库和其他按 RHEL 主版本发布内容的软件仓库,而不是每个次版本。这些变量会自动来自 $releasever 变量或 system-release (releasever_major)system-release (releasever_minor) 虚拟提供。因此,您可以使用 $releasever_major$releasever_minor 来创建在多个 RHEL 主版本或次版本间工作的存储库配置文件。

Jira:RHEL-65817

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat