Fix: Probleme können nicht behoben werden ‘Sie haben defekte Pakete gehalten’
Dies wird durch fehlerhafte Abhängigkeiten verursacht, die ein Nebeneffekt bei der Installation von Paketen sind, die von anderen Paketen abhängen, die nicht installiert sind. Wenn apt-get etwas installiert, stellt es fest, dass es keinen Zugriff auf etwas hat, das es benötigt, und daher nicht fortfahren kann. Ein paar grundlegende Befehlszeilentricks sowie ein grafisches Tool können alles schnell reparieren.
Methode 1: Verwenden von dpkg –configure zum Beheben von gehaltenen defekten Paketen
Versuchen Sie während der Arbeit am Terminal zu laufen sudo dpkg –configure -a um einen automatischen Aktualisierungsprozess zu starten, der nach defekten Abhängigkeiten auf Ihrem System sucht, die durch nicht installierte Pakete verursacht werden. Dieses Tool sollte automatisch jedes Paket installieren, das Sie ohne Benutzereingriff vermissen. Wenn Sie jedoch aufgefordert werden, etwas zu installieren, sollten Sie die Taste y drücken, um auf die Eingabeaufforderung zu reagieren.
Wenn keine defekten Pakete gefunden werden, sollten Sie keine Ausgabe sehen. Wir haben dies auf einem sauberen Testcomputer ausgeführt, auf dem Xubuntu ausgeführt wird, sodass keine Fehler gefunden wurden. Wenn jedoch Probleme mit der Meldung “Probleme können nicht behoben werden, haben Sie defekte Pakete angehalten” angezeigt werden, werden möglicherweise mehrere Pakete gefunden, die Sie installieren müssen . Versuchen Sie es, sobald Sie es ausgeführt haben sudo apt-get install -f von der Kommandozeile.
Dieses Programm erstellt eine Abhängigkeitsliste und liest dann die Statusinformationen. Wenn Sie eine Meldung erhalten, dass “0 aktualisiert, 0 neu installiert, 0 entfernt und 0 nicht aktualisiert” -Pakete vorhanden sind, haben Sie entweder ohne fehlerhafte Abhängigkeiten gearbeitet oder der vorherige Befehl hat alles behoben. An diesem Punkt können Sie ausführen sudo apt-get clean && sudo apt-get update gefolgt von sudo apt-get upgrade um jedes Paket auf Ihrem System zu aktualisieren. Dies kann eine Weile dauern, je nachdem, wie lange auf Ihrem System diese Paketprobleme aufgetreten sind.
Methode 2: Verwenden des Befehls dist-upgrade
Wenn Sie die Meldung erhalten, dass “einige Pakete zurückgehalten wurden”, sodass Sie den vorherigen Befehl nicht erfolgreich ausführen konnten, sollten Sie ihn ausführen sudo apt-get dist-upgrade um den Rest dieser Pakete zu installieren. Die dist-upgrade-Option führt nicht nur die Funktion eines regulären Upgrades aus, sondern behandelt auch geänderte Abhängigkeiten mit neueren Versionen von Paketen. Da apt-get über ein spezielles Konfliktsystem verfügt, wird normalerweise versucht, die wichtigsten Pakete zu aktualisieren, und zwar auf Kosten der Nichtbeachtung der für Ihr System weniger wichtigen. Die Verwendung dieses Befehls erzwingt sogar die Aktualisierung.
Wenn jedoch keine defekten Pakete erkannt werden, wird nur eine dritte Meldung angezeigt, dass nichts aktualisiert und nichts neu installiert wurde. Wenn dies der Fall ist, können Sie es versuchen sudo apt-get upgrade erneut, damit die Unterroutine für das automatische Upgrade bei Änderungen wirksam werden kann. Wenn Sie jedoch den spezifischen Namen des benötigten Pakets kennen, können Sie es manuell installieren.
Angenommen, die GNUStep-Laufzeitkomponente war das, was Ihnen fehlte, da Sie die Sprachsynthese verwenden wollten. Sie könnten einfach tippen sudo apt-get install gnustep-gui-runtime um dieses wichtige Paket zu installieren. Beachten Sie, dass dies nur ein Beispiel ist und Sie gnustep-gui-runtime durch den Namen eines Pakets ersetzen können, das Sie installieren müssen. Moderne Distributionen, die auf dem apt-get-Standard basieren, haben mehrere tausend Pakete, aber solange Sie den Namen des gesuchten Pakets kennen, wird die Installation erzwungen.
Methode 3: Beheben Sie defekte Pakete mit Synaptic
Wenn Sie über den grafischen Paketmanager von Synaptic verfügen, können Sie dieses Tool auch verwenden, um eventuell beschädigte Pakete zu reparieren. Öffnen Sie das Programm und wählen Sie das Dropdown-Auswahllistenmenü Bearbeiten. In diesem Menü sollte die Option “Defekte Pakete reparieren” vorhanden sein. Wählen Sie diese Option aus, wenn Sie dies tun. Die Ausführung dauert nicht lange, wenn nicht viele fehlerhafte Pakete vorhanden sind. Es kann jedoch zu einer Reihe von Fehlern kommen, die die Ausführung verlangsamen.
Sobald der Vorgang abgeschlossen ist, werden in der unteren Statuszeile die Wörter “Erfolgreich behobene Abhängigkeitsprobleme” angezeigt.
Sie können jetzt Pakete wie gewohnt aktualisieren und installieren. Die meisten Benutzer werden Dinge nur auf diese Weise tun, wenn sie bereits in Synaptic gearbeitet haben, aber es ist immer da, wenn Sie es brauchen. Sobald es ausgeführt wird, können Sie Synaptic schließen und erneut an der Eingabeaufforderung arbeiten oder hier weitere Änderungen vornehmen.