So beheben Sie defekte synaptische Updates: "Das Paket befindet sich in einem sehr schlechten inkonsistenten Zustand."

24647
spoulson

Ich habe einen Dell Mini9 mit Ubuntu 8.10. Eines Tages hatte ich die kluge Idee, ob ich einen LAMP-Stack installieren könnte. Ich hatte Probleme bei der Installation von MySQL 5.0. Ich erinnere mich nicht an den Fehler, aber seit alle Versuche, update-manager, synaptic oder apt-get auszuführen, scheitert ein Fehler bezüglich mysql-server-5.0: "Das Paket befindet sich in einem sehr schlechten inkonsistenten Zustand".

Ich habe es auch probiert apt-get remove mysql-server-5.0und auch installohne Glück. Beide schlagen mit dem gleichen Fehler fehl. Wie kann ich das beheben?

$ sudo apt-get entfernt mysql-server-5.0 Paketlisten lesen ... Fertig Abhängigkeitsbaum erstellen  Statusinformationen werden gelesen ... Fertig Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: dhcdbd libisc32 Verwenden Sie "apt-get autoremove", um sie zu entfernen. Die folgenden Pakete werden ENTFERNT: MySQL-Server-5.0 0 aktualisiert, 0 neu installiert, 1 zu entfernen und 164 nicht aktualisiert. 1 nicht vollständig installiert oder entfernt. Nach diesem Vorgang werden 85,4 MB Festplattenspeicher freigegeben. Möchten Sie fortfahren [J / n]?  dpkg: Fehler bei der Verarbeitung von mysql-server-5.0 (--remove): Das Paket befindet sich in einem sehr schlechten inkonsistenten Zustand - Sie sollten dies tun Installieren Sie es erneut, bevor Sie versuchen, es zu entfernen. Bei der Verarbeitung sind Fehler aufgetreten: MySQL-Server-5.0 E: Der Unterprozess / usr / bin / dpkg hat einen Fehlercode zurückgegeben (1). 
15
Erwägen Sie die Verwendung
 für Bildschirmausgaben, bei denen keine Syntaxhervorhebung erforderlich ist. 
John Oxley vor 15 Jahren 0

7 Antworten auf die Frage

19
Robin Green

Keine der anderen Antworten funktionierte für Maverick.

In meinem Fall fand ich das funktioniert:

sudo rm /var/lib/dpkg/info/flashplugin-nonfree.prerm  sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree 

(Ersetzen von "flashplugin-nonfree" durch den Namen des beschädigten Pakets und Ersetzen von "prerm" durch den Typ des fehlgeschlagenen Skripts - in meinem Fall war es "postrm", das Post-Removal-Skript.)

Und sie sagen, Ubuntu sei einfach zu benutzen !! murren murren

--purge ist besser gebrochene deps fallen zu lassen stepancheg vor 13 Jahren 0
Ich habe stundenlang nach einer Lösung für ein ähnliches Problem gesucht, und dies ist das einzige, das funktioniert hat. Vielen Dank. LukeGT vor 12 Jahren 1
6
nagul

Ich hatte genau das gleiche Problem mit einer MySQL-Installation. Sie müssen reinigen die packge. Durch das einfache Entfernen eines Pakets werden die mitgelieferten Konfigurationsdateien nicht entfernt.

Ich beziehe mich auch auf mysql-server-5.0, erkenne aber, dass es ein Wrapper-Paket mysql-server gibt, das immer auf die neueste Version verweist. Wenn Sie also nach der Installation von mysql-server fragen, sollte apt-get Ihnen mitteilen, dass es von mysql-server-5.0 abhängt und beide installieren. Wenn Sie das Paket mysql-server auf dem System installiert haben, sollten Sie sicherstellen, dass auch dieses Paket nicht mehr vorhanden ist, bevor Sie eine Neuinstallation versuchen.

  • Stellen Sie sicher, dass der Mysql-Server (Mysqld) nicht läuft. Wenn ja, dann runter damit:

    Sudo /etc/init.d/mysqld stop

  • Prüfen Sie, ob Pakete von mysql-server-5.0 abhängen:

    sudo apt-cache hängt mysql-server-5.0 ab

    In diesem Fall müssen Sie zur Deinstallation die Option --force verwenden .

  • Bereinigen Sie das Paket (einschließlich der Option --force, abhängig von # 2).

    sudo apt-get --purge entfernen --force mysql-server-5.0

  • Stellen Sie sicher, dass die Installationsdateien durch Ausführen ebenfalls gelöscht werden

    sudo apt-get autoclean
    sudo apt-get automatisch entfernen

  • Installieren Sie das Serverpaket erneut

    sudo apt-get install mysql-server-5.0

Dies sollte hoffentlich Ihr Problem beheben. Das Paket ist jedoch möglicherweise immer noch fehlerhaft, wenn Sie Änderungen an Dateien vorgenommen haben, die aus dem Paket mysql-common stammen .

mysql-common ist das Basispaket, das von Client- und Serverkomponenten verwendet wird. Wenn das Problem weiterhin besteht, installieren Sie dieses Paket erneut. Es wird definitiv Pakete geben, die davon abhängen; Überprüfen Sie mit # 2 oben. Löschen Sie den mysql-server, bevor Sie mysql-common neu installieren . Vergessen Sie auch nicht, mysql-common neu zu installieren, da sonst Ihr System stark beschädigt wird.

1
innaM

Vielleicht möchten Sie es aptitudeversuchen, was eine bessere Handhabung von Abhängigkeiten ermöglicht:

sudo aptitude remove mysql-server-5.0 
Der Fehler hier ist "dpkg", also denke ich nicht, dass "Eignung" notwendigerweise besser wäre. Verstehen Sie mich nicht falsch, ich bin alles für 'aptitude' über 'apt-get', aber am Ende des Tages übergeben beide das richtige Etwas an 'dpkg' (was Sie glücklich machen wird zu hören wurde ursprünglich in Perl implementiert). Telemachus vor 15 Jahren 0
;-) Ich dachte nur, dass es einen Versuch wert wäre. innaM vor 15 Jahren 0
0
John Oxley

Versuchen

sudo dpkg -i reconfigure mysql-server-5.0 sudo apt-get remove --force mysql-server-5.0 

Wenn ein anderes Paket defekt ist, versuchen Sie apt-get remove --forcees auch.

0
Telemachus

Der dpkgFehler, den Sie dort haben, weist darauf hin, dass das Problem auftritt, wenn dpkgversucht wird, das Paket tatsächlich zu entfernen. (Am Ende des Tages apt-getund Synapticund dergleichen übergeben Sie die eigentliche Arbeit an dpkg.)

Haben Sie versucht, genau das zu tun, was in der Nachricht angezeigt wird, und zuerst neu zu installieren?

apt-get install --reinstall mysql-server-5.0

Wie dumm, wie es klingen mag, wenn dpkgwährend des Entfernungsprozesses Würgen (weil einige Datei es angenommen hat, in der Zwischenzeit entfernen ist verschwunden) dann neu zu installieren und dann manchmal helfen zu entfernen können. Stellen Sie sicher, dass sie mysqlnicht ausgeführt wird, bevor Sie versuchen, sie zu installieren oder zu entfernen, wie Nagul vorschlägt .

0
Jaime Soriano

dpkg -r --force-remove-reinstreq <package> removes a package without checking if it requires reinstallation.

After that you should be able to reinstall the package with your preferred package manager.

0
Stéphan Champagne

Ich hatte dieses Problem mit dem Postboten. /Etc/init.d/mailman wurde mit gelöscht

rm /etc/init.d/mailman 

behoben :)