未满足的依赖项 – 无法删除包libgbm1

在这种情况下,我有libgbm1被持有,给我消息,如:

 Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages. 

自从我仔细阅读如何在添加PPA后解决未满足的依赖关系? 我按照建议用sudo apt-get remove libgbm1尝试删除损坏的包。 但是,删除命令给了我同样的错误。

sudo apt-get upgrade不升级此软件包( "...and 1 not upgraded." )。 我需要这个来构建一些依赖它的其他包(再次pkgProblemResover问题)。 看来我无法恢复版本也无法继续前进。

我尝试过的步骤:

  • 禁用software updates一些ppa存储库和sudo apt-get update然后尝试使用apt修复,这不起作用。
  • sudo apt-get -f install with and 1 not upgraded
  • 试图安装libgbm1依赖的软件包。 但是更多的软件包正在向前发展并迅速堆积到数十个软件包中,这似乎是不可靠的,并且它们也报告了类似的错误。

为什么我不能删除包裹? 怎么解决?

这里的问题是锁定故障排除程序包并将其踢出。 然后,您可以使用sudo apt-get -f install修复不一致的依赖项。

因此,谨慎使用: sudo dpkg --force-all -P libgbm1强制删除损坏的。 此命令可能会损坏您的系统,因此您应该观看它。 并尝试修复: sudo apt-get -f install

如果任何包装也有腐败,请小心重复上述步骤。 每次删除损坏的包时,请尝试修复它们。 在这种情况下我解决了我的问题。

而不是急于删除破损的软件包--force-all选项,首先尝试在没有此选项的情况下删除它,只需使用

 dpkg -P package-name 

在我的情况下, dpkg打印为什么它无法删除此包:另一个包取决于它。 在我删除了dependee之后,最终可以删除损坏的包,没有任何--force-anything

如果依赖者也被破坏,这可能需要几次递归删除,但最终结果应该是通过删除来修复apt无法修复的依赖链。