Wie kann man den Fehler „Package is in a very bad inconsistent state“ beheben?

93

Ich kann mein System nicht aktualisieren, da es während der Installation eines Drittanbieter-Updates (zramswap-enabler) abstürzt!

Manchmal wird im Update Manager die folgende Meldung angezeigt:

Paketinformationen konnten nicht initialisiert werden Beim Initialisieren der Paketinformationen ist ein nicht lösbares Problem aufgetreten.

Bitte melden Sie diesen Fehler im 'Update-Manager'-Paket und geben Sie die folgende Fehlermeldung ein:

E:The package zramswap-enabler needs to be reinstalled, but I can't find an archive for it.

Ich habe versucht, den zramswap-Enabler zu entfernen, dies ist jedoch nicht möglich, da die folgende Meldung angezeigt wird:

dpkg: error processing zramswap-enabler (--remove):
 Package is in a very bad inconsistent state - you should
 reinstall it before attempting a removal.
Errors were encountered while processing:
 zramswap-enabler
E: Sub-process /usr/bin/dpkg returned an error code (1)

Eigentlich würde ich dieses Paket wirklich neu installieren, aber es kann es nicht! Wenn ich diese PPA eines Drittanbieters entferne, warnt mich das System vor einem sehr, sehr ernsten Problem.

Warum kann ich dieses Paket nicht installieren / neu installieren / entfernen / aktualisieren und warum friert der Updater ein, wenn ich versuche zu aktualisieren?

Benjamin Piller
quelle

Antworten:

117

Aus der Frage herausgeschnitten und als Antwort hinzugefügt.

  1. Stellen Sie sicher, dass Ihr PPA eingerichtet ist.

  2. Entfernen Sie das beschädigte Paket mit dem folgenden Befehl:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Installieren Sie das Paket erneut:

    sudo apt-get install zramswap-enabler
    
  4. Nach einem Neustart (nicht erforderlich) können Sie die Updates korrekt installieren!

Tatsächlich können Sie mit dieser Lösung alle Probleme beheben, bei denen ein Paket in einem sehr schlechten inkonsistenten Zustand ist.

Hexafraktion
quelle
1
@CharlesL Kein Problem! Beachten Sie, dass es sich bei dieser Antwort um Community-Wiki handelt und die Lösung ursprünglich vom Verfasser der Frage gefunden wurde. Daher kann ich sie nicht gutschreiben. Alles, was ich getan habe, war zu bearbeiten und neu zu organisieren, um es in eine Antwort zu verschieben.
ζ--
Ich hatte einige Probleme mit diesem (14.04 bis 16.04). "gcc-doc" hat nicht funktioniert. Die Fehlermeldung wurde angezeigt /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.deb, und die Tools weisen '%' im Namen zurück, sodass auch der vollständige Name nicht funktioniert hat. Am Ende habe ich Dateien entfernt, bis es glücklich war - siehe ubuntuforums.org/showthread.php?t=2321414&page=2 .
Fadden
1
Ich musste eine Kombination von --force-remove-reinstreqund verwenden, --purge --force-dependswenn cpp-5irgendwie Abhängigkeitsprobleme gebrochen waren.
Bindestrich
70

Dies funktionierte für mich, nachdem ich die gesamten AskUbuntu- und Ubuntu-Foren durchforstet hatte! ( Quelle ). Ich leite Lubuntu 14.04

sudo mv /var/lib/dpkg/info/<packagename>.* /tmp/
sudo dpkg --remove --force-remove-reinstreq <packagename>
sudo apt-get remove <packagename>
sudo apt-get autoremove && sudo apt-get autoclean
Hamman Samuel
quelle
2
Endlich! Dies hat den Trick gemacht, als dpkg und apt ein Paket nicht entfernen oder neu installieren
am
1
Vielen Dank. Dies hat mir viel Zeit gespart! Ich habe versucht, die letzte Zeile zu überspringen, gefolgt von einem apt-get install...und musste von vorne beginnen und ALLE vier Zeilen ausführen, dann konnte ich endlich mein Paket löschen. :)
Ryan H.
1
Die einzig wahre Antwort, die jederzeit funktioniert.
Zweimal
1
Dies hat geholfen, als ich nach einem Upgrade von 14.04 Probleme mit gcc-doc und cpp-doc hatte. Ich hatte neuere Tools von ppa installiert: Ubuntu-Toolchain-R / Test und sie haben alles vermasselt. Moral der Geschichte: Lösche die ppas, bevor du auf eine neue Version aktualisierst. Aber dieser Tipp hat mir geholfen, das Chaos nachträglich zu beheben.
Charphacy
1
Das hat bei mir funktioniert. Ich habe 1 Datei entfernt, um das Problem beim Entfernen von Kakteen zu beheben. Entfernt /var/lib/dpkg/info/cacti.list
Mad Man
12

Ich hatte eine schlimmere Situation. Ich musste die halb installierten Pakete entfernen, indem ich Abhängigkeiten erzwang.

sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>

Dann musste ich sie neu installieren

sudo apt-get -f install

Das sollte jedes Problem lösen. Stellen Sie jedoch sicher, dass Sie über eine Netzwerkverbindung verfügen, wenn Sie dies versuchen. Andernfalls werden Sie noch mehr Schwierigkeiten haben.

Sriram Murali
quelle
1
Ich erhalte eine Fehlermeldung: dpkg: Fehler beim Verarbeiten des Pakets debconf (--configure): Das Paket befindet sich in einem sehr schlechten inkonsistenten Zustand. Sie sollten es erneut installieren, bevor Sie versuchen, die Konfiguration
vorzunehmen. Bei der
8

Die anderen Antworten sind korrekt, um eine Paketentfernung zu erwähnen, gefolgt von apt-get install -feiner Neuinstallation des defekten Pakets (und der vollständigen Installation anderer halb installierter Pakete). Dies kann jedoch in einem Schritt erfolgen:

sudo apt-get install -f --reinstall zramswap-enabler
David Foerster
quelle
2

Ich würde versuchen, den Status meiner Installation zu bereinigen, bevor ich zu der Deinstallation zurückkehre, die das Problem verursacht hat:

apt-get autoclean
apt-get update
apt-get upgrade
apt-get install -f

viel besserer Weg, um dies in den meisten Fällen zu lösen und in mindestens einem Fall hat mir geholfen, wenn der andere Weg nicht funktioniert (weil große Abhängigkeiten von dem zu entfernenden Paket bestehen)

Dr. Azrael Tod
quelle
Dies ergibt einen Fehler:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
IgorGanapolsky
1
Ich würde vermuten, dass Sie dies von einem Nicht-Administrator-Konto aus getan haben. Versuchen Sie, jeder Zeile das Präfix sudo zuzuweisen, oder melden Sie sich vollständig als root an (dh mit "sudo su" und Ihrem Passwort oder "su" und dem Admin-Passwort)
Dr. Azrael Tod
1

Ich hatte ein ähnliches Problem mit Quagga, dem Routing-Daemon. Nur die Neuinstallation des Pakets hat bei mir funktioniert:

# apt-get install -f  
<some output ommited>
dpkg: warning: overriding problem because --force enabled:
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.

wget http://security.debian.org/debian-security/pool/updates/main/q/quagga/quagga_0.99.22.4-1+wheezy3_i386.deb
dpkg -i quagga_0.99.22.4-1+wheezy3_i386.deb

Jetzt ist es wieder in Ordnung:

#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.
locutus
quelle
1

Das gleiche passierte mir, als ich beim Herunterladen des 'wireshark'-Pakets vom Internet getrennt wurde. Als ich danach versuchte, es erneut zu installieren, wurde der gleiche Fehler ausgegeben: "Das Paket befindet sich in einem sehr schlechten inkonsistenten Zustand." Ich habe versucht, alle Befehle zu installieren, zu löschen, zu entfernen und neu zu installieren, aber nichts hat funktioniert. Nachdem ich ein bisschen gegoogelt hatte, stolperte ich über einen Befehl

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.deb

(Ändern Sie libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debmit jedem Paket, das ein Problem verursacht, im Verzeichnis /var/cache/apt/archives/).

Immerhin wurden die Probleme behoben. Ich habe das Paket wieder mit entfernt

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove um das Paket vollständig zu entfernen.

Danach installierte ich wireshark wieder mit: sudo apt-get install wireshark.
Alles funktioniert jetzt reibungslos!

Hinweise:
So lösen Sie “Unterprozess usr bin dpkg hat einen Fehlercode 1 ″ Fehler zurückgegeben?
Fix dpkg Fehler

Dark_Byt3
quelle