Frage Nicht in der Lage, Probleme zu beheben, haben Sie kaputte Pakete gehalten


Nach dem Upgrade von 10.04 auf 12.04 versuche ich verschiedene Pakete zu installieren. Zum Beispiel ia32-libs und skype (4.0).

Wenn ich versuche, diese zu installieren, erhalte ich die Fehlermeldung "Fehler können nicht behoben werden, Sie haben fehlerhafte Pakete angehalten".

Ausgabe von Befehlen:

sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Nach dem Ausführen von:

sudo dpkg --configure -a
foo@foo:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

177
2017-11-28 23:48


Ursprung


Es kann hilfreich sein, wenn Sie uns den Befehl zeigen, den Sie tatsächlich versuchen (z sudo apt-get install ia32-libs) und die Ausgabe von diesem Befehl. Auch, tut es sudo apt-get dist-upgrade Zeige verfügbare Updates? - thomasrutter
Ich weiß nicht, was mit Ihrer Frage nicht stimmt, ich sehe weder einen tatsächlichen Fehler noch den, den Sie in Ihrem Titel beschreiben. - Braiam
mögliches Duplikat von Wie behebe ich nicht erfüllte Abhängigkeiten? - Eliah Kagan
Verbunden: E: Fehler konnten nicht behoben werden, Sie haben kaputte Pakete behalten - Melebius


Antworten:


Diese spezielle Fehlermeldung kann darauf hinweisen, dass Sie Pakete gespeichert haben, aber möglicherweise auch auf ein anderes Problem hinweist.

Sie können eine Liste von erhalten tatsächlich gehaltene Pakete mit:

dpkg --get-selections | grep hold

Wenn es keine gibt oder keine, dann ist es wahrscheinlich etwas anderes. Überprüfen Sie sorgfältig die Ausgabe des Befehls, den Sie versuchten, als Sie die Fehlermeldung erhielten, da neben der Fehlermeldung möglicherweise weitere Hinweise in der vollständigen Ausgabe dieses Befehls vorhanden sind.

Eine andere Methode zur Problembehandlung könnte darin bestehen, aptitude statt apt-get zu verwenden, um zu versuchen, Ihr Paket zu installieren:

sudo aptitude install <packagename>

Aptitude wird weniger schnell aufgeben und wird versuchen, Lösungen zu finden, die andere Pakete modifizieren können. Es kann Ihnen mehr Erklärungen für das Problem geben und Möglichkeiten, es zu beheben.

Gelegentlich ist die Eignung zu groß, um eine große Anzahl von Paketen zu entfernen oder zu degradieren, um Ihre Anfrage zu erfüllen. In diesem Fall versuchen Sie erneut mit -f ändert seine Prioritäten und hilft dabei, Lösungen zu finden, die das Entfernen / Herabstufen weniger Pakete beinhalten, auch wenn dies bedeutet, dass nicht alle gewünschten Änderungen durchgeführt werden können:

sudo aptitude -f install <packagename>

198
2017-11-29 01:58



Irgendeine Idee, wie man ein Paket hält? :-) - Eugene van der Merwe
Das ist ein separate Frage. - thomasrutter
Eignung war hilfreicher für mich als apt-get, danke für den Hinweis. - szx
Eine Sache, die Sie beachten sollten, ist, dass Eignungen es leichter machen können, Ihrem System mehr Schaden zuzufügen. Wenn beispielsweise apt-get aufgrund von widersprüchlichen Abhängigkeiten keine Installation durchführt, gibt es auf. Allerdings könnte aptitude anbieten, weiterzumachen, aber eine ganze Reihe anderer Pakete deinstallieren, um diese Konflikte zu erfüllen - oder sogar Pakete downgraden. Man muss sich dessen bewusst sein und nur fortfahren, wenn es eine gute Idee ist. - thomasrutter
Die "Warteschleife" -Pakete haben nichts mit der Nachricht zu tun, nur dass der Konflikt vermieden wurde, indem man sie gedrückt hielt (nicht installieren, upgraden, herunterstufen oder entfernen). - Braiam


Das ist mir auch passiert. Alles was ich tat war sudo apt-get update und das hat mein Problem behoben. Viel Glück.


23
2017-08-27 02:43





Ich bin auf ein ähnliches Szenario bezüglich fehlender Abhängigkeiten gestoßen. In meinem Fall habe ich versucht, Curl auf ubuntu saucy Salamander 13.10 zu installieren ...

Der Fehler besagt, dass für die Abhängigkeit eine frühere Version der curl3-Bibliothek erforderlich war.

Ich konnte zu der früheren Version degradieren, indem ich versuchte, curl mit aptitude zu installieren.

Als es die fehlende Abhängigkeit und den Grund notierte (benötigte eine frühere Version der Bibliotheksdatei), gab es mir mehrere Möglichkeiten, wie ich darauf reagieren sollte ... y //n/q

Y hätte die Installation abgebrochen, N würde nach einer anderen Option suchen, und Q würde einfach aufhören und nichts mehr tun, ein gebrochenes Paket hinterlassen.

ich wählte Nund es gab mir die Möglichkeit, die Bibliotheksdatei auf eine frühere Version herunterzustufen. So habe ich es gemacht, und die Installation von curl endete ohne weitere Fehler.

  • Ich werde vielleicht nach der Installation noch einmal nachsehen, ob ich die Bibliotheksdatei aktualisieren kann, aber hey, so weit so gut.

7
2018-03-02 06:53





Ich hatte ein ähnliches Szenario in einer Neuinstallation von 14.04, in der keine Dateien aufgelistet sind dpkg --get-selections | grep holdund keine Freude danach sudo apt-get update.

Was hat getan repariere es für mich war ein einfaches

sudo apt-get autoremove

Als ich versuchte, das fehlerhafte Paket neu zu installieren, funktionierte es einwandfrei. Yay!


7
2017-07-27 13:41





Hatte das gleiche Problem, ich habe diesen Paket-Check-Befehl von der anderen Antwort (dpkg --get-selections | grep hold)  und sah

tomcat7                                         deinstall
tomcat7-common                                  install

also habe ich "apt-get remove tomcat7-common"

Dann könnte ich Tomcat 6 installieren (ich entfernte Tomcat 7 und installierte Tomcat 6 wie Sie).


4
2017-10-03 11:03



Die "Warte" -Pakete haben nichts mit der Nachricht zu tun, nur dass der Konflikt vermieden wurde, indem man sie gedrückt hielt (nicht installieren, upgraden, herunterstufen oder entfernen). - Braiam
Fügen Sie das Flag clean hinzu: apt-get remove --purge packet - Sergio Abreu


Für mich funktionierte nichts davon, weil mein System nicht aktualisiert wurde. Ich tat

Home Key > Software Updater > Install 

und habe mein System aktualisiert; danach konnte ich mein Paket normalerweise mit installieren apt.


0
2018-05-25 14:01