如何在 dnf 更新期间调试“损坏的依赖项”?

如何在 dnf 更新期间调试“损坏的依赖项”?

当尝试使用 更新软件包时dnf,由于“依赖关系损坏”,某些软件包会被跳过:

$ sudo dnf update
Last metadata expiration check: 0:07:38 ago on Mon Feb  6 12:05:50 2017.
Dependencies resolved.
================================================================================
 Package             Arch   Version                    Repository          Size
================================================================================
Skipping packages with broken dependencies:
... packages ...

Transaction Summary
================================================================================
Skip  8 Packages

我如何才能找到问题所在?例如,软件包x需要的软件包y版本z无法找到。

Dnf版本:1.1.10
操作系统:Fedora 25

答案1

尝试sudo dnf update --best

示例输出:

Error: package vdsm-cli-4.20.0-261.gitabb73a5.fc25.noarch requires vdsm-client = 4.20.0-261.gitabb73a5.fc25, but none of the providers can be installed.
package vdsm-cli-4.20.0-261.gitabb73a5.fc25.noarch requires vdsm-python = 4.20.0-261.gitabb73a5.fc25, but none of the providers can be installed
(try to add '--allowerasing' to command line to replace conflicting packages)

文档

-b, --best
在交易中尝试最佳可用软件包版本。具体来说,在 dnf 升级期间,默认情况下会跳过由于依赖性原因而无法安装的更新,该开关强制 DNF 仅考虑最新的软件包。当遇到依赖性中断的软件包时,DNF 将失败并给出无法安装最新版本的原因。

答案2

我通常使用 下载有问题的 RPM,wget然后尝试使用 手动安装dnf install PACKAGE。这通常会给我提供关于依赖性问题的更多详细信息。

相关内容