web-dev-qa-db-ja.com

依存関係が満たされていない-パッケージlibgbm1を削除できません

この場合、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の問題)。バージョンを元に戻すことも、先に進むこともできないようです。

私が今まで試した手順:

  • software updatesおよびSudo apt-get updateの一部のPPAリポジトリを無効にしてから、aptで修正しようとしましたが、動作しませんでした。
  • Sudo apt-get -f installand 1 not upgraded
  • libgbm1が依存するパッケージをインストールしようとしました。しかし、今後さらに多くのパッケージが数十個に達するとすぐに山積みになります。これは処理の信頼性が低く、同様のエラーも報告されています。

パッケージを削除できなかったのはなぜですか?修正方法

8
knh170

ここでの問題は、トラブルメーカーパッケージをロックダウンして、追い出すことです。その後、Sudo apt-get -f installを使用して、矛盾した依存関係を修正できます。

したがって、慎重に使用すると、Sudo dpkg --force-all -P libgbm1を使用して、破損したものを強制的に削除できます。このコマンドはシステムに損傷を与える可能性があるため、監視する必要があります。修正してみてください:Sudo apt-get -f install

パッケージも破損している場合は、上記の手順を慎重に繰り返します。そして、壊れたパッケージを削除するたびに、それらを修正してください。この場合、問題に取り組みました。

18
knh170

壊れたパッケージを削除するためにdpkg--force-allオプションを急ぐ代わりに、まずこのオプションなしで、単純に

dpkg -P package-name

私の場合、dpkgは、このパッケージを削除できなかった理由を出力しました。別のパッケージがそれに依存していました。依存先を削除した後、壊れたパッケージは--force-anythingなしで最終的に削除できます。

これにより、依存先も壊れた場合にいくつかの再帰的な削除が必要になる場合がありますが、最終結果は、依存関係チェーンを修正する必要があり、aptは削除によって修正できませんでした。

2
Ruslan