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

13

Dans ce cas, j'ai la libgbm1détention, me donnant un message comme:

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

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

sudo apt-get upgradene met pas à jour ce package ( "...and 1 not upgraded."). Et j'ai besoin de celui-ci pour construire d'autres packages qui en dépendent ( pkgProblemResoverproblème à nouveau). Il semble que je ne puisse pas revenir sur la version ni avancer.

Étapes que j'ai jamais essayées:

  • la désactivation de certains référentiels ppa software updates, sudo apt-get updatepuis a essayé de corriger avec apt, ce qui n'a pas fonctionné.
  • sudo apt-get -f installavec and 1 not upgraded.
  • essayé d'installer des packages qui en libgbm1dépendent. Mais plus de paquets se présentent et s'accumulent rapidement jusqu'à des dizaines d'entre eux, ce qui semble peu fiable à gérer, et ils ont également signalé des erreurs similaires.

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

knh170
la source

Réponses:

23

Le problème ici est de verrouiller le package de trouble-maker et de le lancer. 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 libgbm1pour forcer le retrait du cassé. Cette commande peut endommager votre système, vous devez donc la surveiller. Et essayer de résoudre: 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.

knh170
la source
Merci, deux jours de douleur avant de trouver ta réponse! Cependant je dois compléter votre réponse car j'ai dû courir sudo apt --fix-broken installaprès sudo dpkg --force-all -P libgbm1pour terminer l'installation
Jérémy Pouyet
4

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

dpkg -P package-name

Dans mon cas, j'ai dpkgimprimé pourquoi il ne pouvait pas supprimer ce paquet: un autre paquet en dépendait. Après avoir supprimé la personne à charge, le paquet cassé pourrait enfin être supprimé, sans aucun --force-anything.

Cela peut nécessiter plusieurs suppressions récursives dans le cas où la personne à charge est également rompue, mais le résultat final devrait être de réparer la chaîne de dépendance, qui aptn'a pas pu être corrigée, par des suppressions.

Ruslan
la source
1
C'était la seule solution que j'ai pu trouver qui a fonctionné pour m'aider avec mon problème, impossible à installer en raison de dépendances non satisfaites
wlh