6.4. 软件管理
dnf autoremove
命令行为现在与手册页文档一致,命令现在会考虑软件包安装原因
在以前的版本中,当使用 dnf autoremove
命令删除不必要的软件包时,标记为 installonly
的安装的软件包被删除。但是,dnf (8)
手册页文档包含 installonly
软件包从 dnf autoremove
操作中排除的信息。
有了此更新,提供了以下修复:
-
dnf (8)
手册页文档现在表达了installonly
软件包没有从dnf autoremove
中排除。 -
现在,如果
dnf autoremove
操作中包含多个安装软件包,DNF 可以正确地从安装历史记录中推断出软件包安装原因。
因此,dnf autoremove
命令的行为现在与手册页文档一致,命令现在会考虑软件包安装原因。
如果 dnf autoremove
onsists on 删除所需的软件包,请将这些软件包标记为 dnf mark install < package>
;。
dnf-automatic
systemd
服务不再无法应用安全更新
在以前的版本中,当您使用 dnf-automatic-install
systemd
服务只应用安全修复时,samba-client-libs
软件包的自动升级会失败。在这个版本中,dnf-automatic
应用安全更新的方式与 DNF 工具相同。因此,dnf-automatic
服务不再无法应用安全更新。
dnf remove --duplicates
不再以非零退出代码和错误消息退出
在以前的版本中,如果您在系统上没有重复的软件包时运行 dnf remove --duplicates
命令,dnf
exited with non-zero exit code 和 No duplicated packages found for removal.
error on standard error output (stderr
)。在这个版本中,dnf
会以 0
退出,且不会在 stderr
上写入任何内容。请注意,当没有安装旧版本的 installonly
软件包时,也为 dnf remove --oldinstallonly
命令修复了同样的问题。
dnf remove-n
现在只删除带有匹配 RPM 名称的软件包
在以前的版本中,如果您安装了一些软件包,以及在 RPM Provides 指令中有之前软件包名称的其它软件包,则第一次调用 dnf remove-n
命令会删除之前的软件包。重复调用命令会删除之后的软件包。
有了此更新,dnf remove-n
命令只删除匹配 RPM 名称的软件包,不考虑 RPM Provides。因此,现在调用一次 dnf remove-n
就足以删除所有匹配的软件包。
现在,在重新安装软件包时 dnf reinstall
会考虑存储库的成本
在以前的版本中,如果您重新安装了多个存储库中提供的软件包,则不会从具有最低成本的存储库重新安装软件包。在这个版本中,如果软件包有相同的 name-epoch-version-release-architecture
标识符,DNF 工具为所有软件仓库提供软件包到依赖项解决。因此,dnf reinstall
命令现在遵循存储库的成本。
dnf-system-upgrade
现在使用安全 HTTPS 链接指向其文档
在以前的版本中,dnf-system-upgrade
服务文档使用不安全的 HTTP 链接来访问其文档。使用此更新,URL 现在使用安全的 HTTPS 模式。
Jira:RHEL-13053[1]
dnf history rollback
现在可以在包括同一软件包的安装和升级的 RPM 事务的重复回滚过程中正确执行
在以前的版本中,当对包含同一软件包安装和升级的 RPM 事务执行重复回滚时,dnf history rollback
命令尝试执行一个虚假的事务。此事务失败,而不是执行任何操作,因为回滚到最新事务没有什么可回滚的。
有了此更新,计算两个相同版本 RPM 事务之间的差别已在 libdnf
库中修复了。因此,指向当前最新 RPM 事务的 dnf history rollback
现在可以正确地导致 Nothing to do.
输出。
microdnf
不再无法重新安装与它们提供的 RPM 符号冲突的软件包
在以前的版本中,当使用 microdnf
软件包管理器重新安装软件包时,RPM 事务失败。有了此更新,libdnf
会创建一个 RPM 事务,其中被重新安装的软件包提供了一个也会与软件包冲突的 RPM 符号。因此microdnf
现在,可以重新安装与它们提供的 RPM 符号冲突的软件包。
Jira:RHEL-1454[1]
在安装系统时,解释 Anaconda kickstart 脚本不再挂起
在以前的版本中,当使用 Anaconda kickstart 脚本安装系统时,解释此脚本会随机挂起。有了此更新,libdnf
内存管理允许在增加可用软件包数量后应用查询。因此,系统安装不会挂起,因为 libdnf
库在启用存储库后不会抛出异常。
Jira:RHEL-27657[1]
DNF (8)现在包含有关 dnf makecache --timer
的信息,如果第一个镜像失败,不会尝试其它镜像
在以前的版本中,如果第一个镜像失败,则 dnf makecache --timer
命令不会尝试存储库 mirrorlist 中其它镜像的信息不会包括在 DNF (8)手册页中。有了此更新,文档已被更新为包含此信息。