我怎样才能让 apt upgrade 跳过具有“未满足依赖关系”的软件包并升级其余的软件包?

我怎样才能让 apt upgrade 跳过具有“未满足依赖关系”的软件包并升级其余的软件包?

我有一台 Ubuntu 14.04 机器,当尝试升级软件包时,我收到有关 的错误unmet dependencies

我的问题是,我如何升级其他一切缺少依赖项的软件包?我尝试过:

apt-mark hold <package name>

我可以看到该包处于“保留”状态,但仍然无法升级,同样的错误。

还尝试过:

apt-get install --only-upgrade <package name>

仍然无法升级,同样的错误。

我甚至不介意使用脚本逐个安装包并跳过有问题的包,但没有任何效果。

我怎样才能解决这个问题?

答案1

Apt 认为“未满足的依赖关系”是一个严重且通常是致命的错误:软件缺少打包者认为其实现最低限度功能所需的文件。该错误无法绕过、静音或忽略。

它与 apt 的标记(保持)功能无关。

在大多数情况下(但不是这种情况!)“缺少依赖项”错误是由用户错误地使用源或错误的软件包版本引起的,最容易纠正的方法是简单地撤消错误或同意 apt 的基于软件包的解决方案。如果您通过搜索找到了此解决方案,那么它可能适合您。

依赖关系通常存在于来自完全不同上游的软件包之间,因此可能会产生分歧。如果您不同意打包者的决定,并且可以推荐一种可以增强软件包实用性的替代方案,请随时提出错误或直接与他们联系,讨论如何改进打包和要求。大多数 deb 打包者都是志愿者。

如果您具备相关技能,您可以通过使用非 deb 方法安装软件来完全避免此问题。此方法比使用软件包更复杂,不建议初学者使用。

相关内容