Nicht erfüllte Abhängigkeiten - Paket libgbm1 kann nicht entfernt werden

12

In diesem Fall habe ich das libgbm1Wesen festgehalten und gebe mir eine Nachricht wie:

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

Da ich sorgfältig gelesen habe Wie löse ich nicht erfüllte Abhängigkeiten nach dem Hinzufügen einer PPA auf? Ich habe versucht, das kaputte Paket mit sudo apt-get remove libgbm1wie vorgeschlagen zu entfernen . Der Befehl zum Entfernen gab mir jedoch den gleichen Fehler.

sudo apt-get upgradeaktualisiert dieses Paket nicht ( "...and 1 not upgraded."). Und ich brauche dieses, um einige andere Pakete zu erstellen, die davon abhängen ( pkgProblemResoverProblem wieder). Es scheint, dass ich die Version nicht zurücksetzen oder vorwärts gehen kann.

Schritte, die ich jemals versucht habe:

  • Deaktivieren Sie einige ppa-Repositorys in software updatesund sudo apt-get updateversuchen Sie dann, mit apt zu beheben, was nicht funktioniert hat.
  • sudo apt-get -f installmit and 1 not upgraded.
  • hat versucht, Pakete zu installieren, die libgbm1davon abhängen. Aber es kommen immer mehr Pakete und stapeln sich schnell auf zehn, was unzuverlässig zu sein scheint, und sie meldeten auch ähnliche Fehler.

Warum konnte ich das Paket nicht entfernen? Wie man es repariert?

knh170
quelle

Antworten:

22

Das Problem hierbei ist, das Trouble Maker-Paket zu sperren und es rauszuschmeißen. Dann können Sie inkonsistente Abhängigkeiten mit beheben sudo apt-get -f install.

Also mit Vorsicht können Sie verwenden: sudo dpkg --force-all -P libgbm1um das Entfernen der defekten zu erzwingen. Dieser Befehl kann Ihr System beschädigen, daher sollten Sie ihn beobachten. Und versuchen Sie zu beheben : sudo apt-get -f install.

Wenn auch Pakete beschädigt sind, wiederholen Sie die obigen Schritte vorsichtig. Versuchen Sie jedes Mal, wenn Sie defekte Pakete entfernt haben, diese zu beheben. Ich habe mein Problem in diesem Fall angegangen.

knh170
quelle
Vielen Dank, zwei Tage zuvor Schmerzen, um Ihre Antwort zu finden! Allerdings muss ich Ihre Antwort abzuschließen , weil ich laufen hatte , sudo apt --fix-broken installnachdem sudo dpkg --force-all -P libgbm1die Installation zu beenden
Jérémy Pouyet
4

Anstatt sich zu beeilen, Ihre kaputten Pakete mit der --force-allOption zu entfernen dpkg, versuchen Sie zunächst, sie ohne diese Option zu entfernen , indem Sie einfach verwenden

dpkg -P package-name

In meinem Fall dpkggedruckt, warum dieses Paket nicht entfernt werden konnte: Ein anderes Paket hing davon ab. Nachdem ich den Abhängigen entfernt hatte, konnte das zerbrochene Paket endlich ohne entfernt werden --force-anything.

Dies kann mehrere rekursive Entfernungen erfordern, falls der Abhängige ebenfalls defekt ist. Das Endergebnis sollte jedoch darin bestehen, die Abhängigkeitskette, die aptnicht repariert werden konnte, durch Entfernungen zu reparieren.

Ruslan
quelle
1
Dies war die einzige Lösung, die mir bei meinem Problem geholfen hat. Sie konnte aufgrund nicht erfüllter Abhängigkeiten nicht installiert werden
Uhr