第 21 章 软件管理


下面的章节包含 RHEL 9 和 RHEL 10 之间软件管理的最显著更改。

21.1. DNF 的显著变化

现在默认不会下载存储库元数据

在以前的版本中,当您下载存储库的元数据时,文件列表元数据会被默认下载。filelists 元数据较大,通常不需要。在这个版本中,默认不会下载此元数据,这可以提高响应速度并节省磁盘空间。filelists 元数据不再从存储库中下载或更新,在运行 dnf 命令时不会加载到 DNF 事务中。如果 dnf 命令需要 filelists 元数据或包含与文件相关的参数,则会自动载入元数据。

注意

当软件包有需要处理 filelists 元数据的文件路径依赖项时,事务会失败并显示依赖项解析错误和以下提示:

(try to add '--skip-broken' to skip uninstallable packages or '--setopt=optional_metadata_types=filelists' to load additional filelists metadata)
Copy to Clipboard Toggle word wrap
注意

如果要重新启用默认的 filelist 元数据下载,您可以将 filelists 值添加到 /etc/dnf/dnf.conf 配置文件中的 optional_metadata_types 选项中。

DNF debug 插件已被删除

包含 dnf debug -dumpdnf debug-restore 命令的 DNF debug 插件已从 dnf-plugins-core 软件包中删除。根据您的场景,您可以使用以下命令:

  • dnf list --installeddnf repoquery --installed 列出系统上安装的软件包。
  • dnf repolist -v 列出系统上启用的存储库。
  • dnf install $(</tmp/list),将源系统上安装的软件包复制到目标系统。例如:

    1. 将源系统上安装的软件包列表保存到 /tmp/list 文件中:

      $ dnf repoquery --installed >/tmp/list
      Copy to Clipboard Toggle word wrap
    2. /tmp/list 文件复制到目标系统。
    3. 在目标系统中复制软件包:

      $ dnf install $(</tmp/list)"
      Copy to Clipboard Toggle word wrap

删除了对 libreport 库的支持

libreport 库的支持已从 DNF 中删除。如果要将 DNF 日志附加到错误报告中,您需要手动或使用不同的机制。

dnf-plugins-core rebase 到版本 4.7.0

dnf-plugins-core 软件包已更新至版本 4.7.0,它提供新的 python3-dnf-plugin-pre-transaction-actions 软件包。这个软件包包括一个新的 pre-transaction-actions DNF 插件,允许您在启动 RPM 事务时执行命令。如需更多信息,请参阅系统中的 dnf-pre-transaction-actions (8) 手册页。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat