web-dev-qa-db-fra.com

Dépendances non satisfaites - impossible de supprimer le paquet libgbm1

Dans ce cas, j'ai le libgbm1 en attente, ce qui me donne le message suivant:

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

Depuis que j'ai lu attentivement Comment puis-je résoudre les dépendances non résolues après avoir ajouté un PPA? J'ai essayé de supprimer le paquet cassé avec Sudo apt-get remove libgbm1 comme suggéré. Cependant, la commande remove m'a donné la même erreur.

Sudo apt-get upgrade ne met pas à niveau ce paquet ("...and 1 not upgraded."). Et j’ai besoin de celui-ci pour construire d’autres paquets qui en dépendent (problème pkgProblemResover encore). Il semble que je ne puisse pas revenir à la version ni avancer.

Les étapes que j'ai jamais essayées:

  • la désactivation de certains référentiels ppa dans software updates et Sudo apt-get update a ensuite tenté de résoudre le problème avec apt, ce qui n'a pas fonctionné.
  • Sudo apt-get -f install avec and 1 not upgraded.
  • essayé d'installer des paquets dont dépend libgbm1. Mais davantage de colis arrivent rapidement et en empilent des dizaines, ce qui semble peu fiable, et ils ont également signalé des erreurs similaires.

Pourquoi n'ai-je pas pu retirer le colis? Comment le réparer?

8
knh170

Le problème ici est de verrouiller le progiciel de résolution de problèmes et de le mettre à la porte. Ensuite, vous pouvez corriger les dépendances incohérentes avec Sudo apt-get -f install.

Donc, avec prudence, vous pouvez utiliser: Sudo dpkg --force-all -P libgbm1 pour forcer l'enlèvement du brisé. Cette commande peut endommager votre système, vous devriez donc la surveiller. Et essayez de corriger: Sudo apt-get -f install.

Si des packages sont également corrompus, répétez les étapes ci-dessus avec prudence. Et chaque fois que vous supprimez des paquets cassés, essayez de les réparer. J'ai abordé mon problème dans ce cas.

18
knh170

Au lieu de vous précipiter pour supprimer vos paquets cassés de l’option --force-all de dpkg, essayez d’abord de la supprimer sans cette option, en utilisant simplement

dpkg -P package-name

Dans mon cas, dpkg indiquait pourquoi il ne pouvait pas supprimer ce paquet: un autre paquet en dépendait. Après avoir supprimé le dépendant, le package endommagé pourrait enfin être supprimé, sans --force-anything.

Cela peut nécessiter plusieurs suppressions récursives dans le cas où le dépendant est également rompu, mais le résultat final devrait être de réparer la chaîne de dépendance, que apt n'a pas pu réparer, par suppressions.

2
Ruslan