Wie finde und entferne ich defekte Pakete, die ich installiert habe?

11

Ich habe hier einige Fragen durchsucht, um eine Lösung zum Auffinden und Entfernen defekter Pakete zu finden. Als relativer Neuling habe ich einige PPAs für 11.10 auf meinem 12.04 LTS-Computer installiert. Im Terminal schlug es vor, dass ich apt-get -f install versuche, was mich zu dieser Frage brachte. Eine große Lektion, die ich gelernt habe, wenn jemand helfen kann

stephenmyall
quelle

Antworten:

6

Synaptic Package Manager (verfügbar im Software Center) ist ein grafisches Tool zum Verwalten von Paketen. Unter vielen Funktionen können Sie Pakete nach ihrem Status filtern. Mit wenigen Klicks wird durch Auswahl der gewünschten Kategorie im linken Bereich die Liste der Pakete angezeigt, die repariert werden müssen.

Rafał Cieślak
quelle
28
  • Installieren Sie den Synaptic Package Manager entweder über das Software Center oder indem Sie diesen Befehl im Terminal ausführen:

     sudo apt-get install synaptic 
    
  • Öffnen Sie es, indem Sie synapticden Unity-Bindestrich eingeben und dann drücken Enter.

  • Befolgen Sie dann diese Prozedur:

    1. Wählen Sie die Kategorie "Status". Dies zeigt Pakete, die nach Status organisiert sind.
    2. Wählen Sie im oberen linken Bereich die Kategorie "Unterbrochene Abhängigkeiten" aus.
    3. Wählen Sie die defekten Pakete aus. Wenn die Pakete mehr als eins sind, wählen Sie sie alle aus, indem Sie Ctrl+ drücken A.
    4. Klicken Sie dann mit der rechten Maustaste auf ein ausgewähltes Paket und wählen Sie im Menü die Option "Zum vollständigen Entfernen markieren".

    Screenshot mit der Aufschrift "Zum vollständigen Entfernen markieren" für Pakete mit fehlerhaften Abhängigkeiten

Das ist es. Die kaputten Pakete sind weg.

Anwar
quelle
Ich habe nicht Broken dependenciesin meiner Statusseite.
Mark Deven
3

Keine Downloads, keine GUI erforderlich:

Sie können defekte Pakete auflisten:

dpkg -l | grep ^..r 

r state (im dritten Feld) bedeutet: Neuinstallation erforderlich (Paket defekt, Neuinstallation erforderlich)

Erklärung der dpkg-Felder

So listen Sie diese Pakete auf und entfernen sie :

dpkg -l | grep ^..r | while read -r | tr -s ' ' | cut -d' ' -f2 | while read -r name; do sudo apt-get remove "$name"; done

(Antwort aus diesem Thread kopiert .)

JellicleCat
quelle
1

Um die von ppa installierten Pakete zu bereinigen, sollten Sie ppa-purgedavon ausgehen, dass ppa ppa: xorg-edger / ppa ist

  1. sudo apt-get install ppa-purge
  2. sudo apt-get update
  3. sudo ppa-purge ppa:xorg-edger/ppa
  4. Sie werden aufgefordert, eine Liste der zu entfernenden und / oder herunterzustufenden Pakete anzuzeigen. Wenn nichts verdächtig aussieht, antworten Sie mit Y und warten Sie
  5. Wenn Sie Glück haben, sollte es ohne Fehler enden, sonst müssen Sie eine sudo apt-get install -f

Wenn Sie nach Schritt 5 immer noch Fehler haben, kommen Sie zurück und aktualisieren Sie Ihre Frage.

Viel Glück.

Nummer 5
quelle
E: Paket ppa-purge konnte nicht gefunden werden
stiv
Ich werde zweitens sagen, dass .. ppa-purge nicht existiert.
John Drefahl
0

Ich habe ein Skript zum Beheben defekter Pakete erstellt. Dies sucht nach den fehlerhaften Paketen in /var/log/dist-upgrade/apt.log und findet dann die Paketnamen und wendet dann den angegebenen Befehl auf sie an.

Achten Sie auf die Verwendung dieses Skripts, da einige fehlerhafte Pakete manchmal systembezogen sind und ein neues Problem verursachen können. Verwenden Sie daher den Befehl install oder upgrade anstelle des Befehls remove .

Hol es dir von hier

Laden Sie das Skript mit dem folgenden Befehl herunter:

wget https://gist.githubusercontent.com/EmpireWorld/8eb920165777399cfd684d8d4227a6e2/raw/17e6d4a151a6163aa45dd8302b965ed433b27741/fix-broken.sh

Dann führen Sie es aus:

./fix-broken.sh

Sie können auch die Aktion festlegen, die Sie auf beschädigte Pakete anwenden möchten:

./fix-broken (install|upgrade|remove)

Die Standardaktion ist Entfernen .

Hasan Bayat
quelle