![未满足的依赖项-无法删除软件包 libgbm1](https://linux22.com/image/869155/%E6%9C%AA%E6%BB%A1%E8%B6%B3%E7%9A%84%E4%BE%9D%E8%B5%96%E9%A1%B9-%E6%97%A0%E6%B3%95%E5%88%A0%E9%99%A4%E8%BD%AF%E4%BB%B6%E5%8C%85%20libgbm1.png)
在这种情况下,我被libgbm1
扣留了,并给我发送了如下消息:
Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
由于我仔细阅读添加 PPA 后如何解决未满足的依赖关系?我尝试按照建议删除损坏的软件包sudo apt-get remove libgbm1
。但是,remove 命令给出了相同的错误。
sudo apt-get upgrade
不升级此软件包("...and 1 not upgraded."
)。我需要这个软件包来构建一些依赖于它的其他软件包(pkgProblemResover
问题又出现了)。看来我无法恢复版本或继续前进。
我曾经尝试过的步骤:
- 禁用一些 ppa 存储库,
software updates
然后sudo apt-get update
尝试使用 apt 修复,但没有效果。 sudo apt-get -f install
和and 1 not upgraded
。- 尝试安装
libgbm1
依赖的软件包。但是越来越多的软件包出现,很快就堆积到几十个,这似乎不太可靠,而且它们也报告了类似的错误。
为什么我无法删除该软件包?该如何修复?
答案1
这里的问题是锁定制造麻烦的包并将其踢出。然后你可以使用以下命令修复不一致的依赖关系sudo apt-get -f install
因此,请谨慎使用:sudo dpkg --force-all -P libgbm1
强制删除损坏的程序。此命令可能会损坏您的系统,因此您应该小心。并尝试修复:sudo apt-get -f install
。
如果任何软件包也损坏了,请小心地重复上述步骤。每次删除损坏的软件包时,请尝试修复它们。在这种情况下,我解决了我的问题。
答案2
不要急着使用 选项删除损坏的软件包--force-all
,dpkg
先尝试不使用此选项删除它,只需使用
dpkg -P package-name
在我的例子中,dpkg
打印了为什么无法删除此软件包:另一个软件包依赖于它。在我删除依赖项后,损坏的软件包终于可以被删除,没有任何--force-anything
.
如果依赖项也损坏,则可能需要进行几次递归删除,但最终结果应该是apt
通过删除来修复无法修复的依赖链。
答案3
使用 DPKG 强制重新配置或删除损坏的软件包
使用以下命令重新配置基本包管理系统 DPKG:
sudo dpkg --configure -a
检查 DPKG 是否将某些包标记为需要重新安装。
sudo dpkg -l | grep ^..R
如果上述命令返回一个或多个包的列表,请尝试通过键入以下内容删除这些包:
sudo dpkg --purge --force-all libgbm1
完成故障排除后,运行以下命令清理系统:
sudo apt clean
然后更新存储库:
sudo apt update
然后升级存储库:
sudo apt upgrade
希望能帮助到你。