如何解决依赖关系 apt --fix-broken install

当我使用这个命令时
apt --fix-broken install 
我遇到了以下错误: 阅读软件包列表...完成 构建依赖关系树 读取状态信息...完成 修正依赖关系...失败。 以下软件包存在未满足的依赖关系: libhogweed4:依赖于libnettle6(= 3.3-1+b1),但已安装3.4-1 mana-toolkit:依赖于dnsmasq,但无法安装 E: 错误,pkgProblemResolver::Resolve生成了中断,可能是由于保留的软件包引起的。 E: 无法纠正依赖关系 因此,我无法安装任何东西。 我该怎么办?
3个回答

这不是一个简单的问题,我刚刚一分钟前遇到了类似的情况。我通过运行以下命令解决了它(稍作修改):
  • dpkg --force-all --configure -a
  • dpkg --purge --force-depends libnettle6(参考此帖子
  • apt --fix-broken install
  • apt-get -f install

上述解决方案只解决了我的问题的一部分,我不得不清理所有有问题的软件包。我的问题如下:
root@MrApollos:/var/cache/apt/archives/partial# apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 kali-desktop-base : Depends: kali-themes-common (= 2021.2.3) but 2021.2.1 is installed
 kali-themes : Depends: kali-themes-common (= 2021.2.3) but 2021.2.1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
在我的情况下,我不得不运行 dpkg --force-all --configure -a dpkg --purge --force-depends kali-desktop-base 以删除第一个有问题的软件包 dpkg --purge --force-depends kali-themes 以删除第二个有问题的软件包 dpkg --purge --force-depends kali-themes-common 以删除第三个有问题的软件包 然后 apt-get -f install 最后 apt update & apt-upgrade

重新启动,关闭后台运行的其他(自动)更新,并尝试以下操作:
sudo apt-get install -f

这个答案有什么优势,比其他答案更好在哪里? - Toto
我之前尝试了上述的解决方案,但它们没有起作用,因为我忽略了后台的自动更新。在这个解决方案中,已经清楚地指出了这一点。 - Benjamin Ronneling