Neulich hat mein Server nach einem apt-get update Probleme gehabt. Seitdem immer Meckermeldungen ala
Paket ist in einem sehr schlechten inkonsistenten Zustand - Sie sollten es erneut installieren, bevor Sie es zu entfernen versuchen.Leider ist das gut gebrüllt, Löwe. Denn das ist nicht so einfach: Weder apt-get remove netatalk noch apt-get install netatalk funktionierten.
Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Lese Status-Informationen ein... Fertig [.... ....] dpkg: Fehler beim Bearbeiten von netatalk (--remove): Paket ist in einem sehr schlechten inkonsistenten Zustand - Sie sollten es erneut installieren, bevor Sie es zu entfernen versuchen. (Lese Datenbank ... 103730 Dateien und Verzeichnisse sind derzeit installiert.) [....] Verarbeite Trigger für man-db ... Fehler traten auf beim Bearbeiten von: netatalk E: Sub-process /usr/bin/dpkg returned an error code (1)
invoke-rc.d: initscript netatalk, action "stop" failed. dpkg: Warnung - altes pre-removal-Skript wurde mit Fehler-Status 1 beendet dpkg - probiere stattdessen Skript aus dem neuen Paket ... hostname: Unknown host invoke-rc.d: initscript netatalk, action "stop" failed. dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/netatalk_2.0.3-11+lenny 1_i386.deb (--unpack): Unterprozess neues pre-removal-Skript gab den Fehlerwert 1 zurück hostname: Unknown host invoke-rc.d: initscript netatalk, action "start" failed. dpkg: Fehler beim Aufräumen: Unterprozess post-installation script gab den Fehlerwert 1 zurück Fehler traten auf beim Bearbeiten von: /var/cache/apt/archives/netatalk_2.0.3-11+lenny1_i386.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Natürlich habe ich die üblichen Verdächtigen ausprobiert:
apt-get -f install
dpkg -i --force-all --no-triggers /var/cache/apt/archives/netatalk_2.0.3-11+lenny1_i386.deb
dpkg --remove --force-remove-reinstreq netatalk
dpkg -P --force-all netatalk
Nun blieb mir nur, das Script manuell zu bearbeiten, um den exit Status hart auf 0 zu setzen.
Doch da rief grad mein Kumpel Det vom mobbing-gegner an und hatte einen anderen Vorschlag.
Ich habe einfach in der Status Datei von dpkg mit nano /var/lib/dpkg/status das netatalk komplett gelöscht. war ja eh nicht installiert.
Dazu muß man nur den kompletten Block in der Status Datei finden und löschen, vielleicht macht man sich vorher eine Sicherheitskopie. Die Leerzeile zum nächsten Block muss natürlich beachtet werden.
Ein anschliessendes apt-get -f install hat bestätigt, das alles in Ordnung ist. Wie man sieht, findet man manchmal nicht die Lösung im www, sondern im privaten Netzwerk. Danke Detlev.



Das Problem bei dieser Lösung ist, dass dpkg einfach nichts mehr von diesem Paket weiß. Allerdings ist es tatsächlich weiterhin installiert. Das kann nun mehrere Probleme mit sich bringen – letztlich ist es aber immer vom Einzelfall abhängig. Denkbar wären:
* Paket läßt sich nicht installerieren, da einerseits die alten Dateien im Weg sind und andererseits das eigentliche Problem möglicherweise immer noch besteht. * Die Reste des Pakets könnten immer noch im Systemablauf integriert sein, und nach wie vor ungewollt zur Ausführung kommen. Es könnte auch zu Seiteneffekten kommen.Ich will damit sagen, dass diese "Lösung" eigentlich nur für den "Profi" gedacht ist, da der dann abschätzen kann, was da auf seinem System noch so liegen geblieben ist. Ein "Profi" kann das Problem aber eben auch besser richtig lösen.
Nun, wie im echten Leben gibt ein (guter) Doktor keine Standardantwort, sondern macht seine Entscheidung vom Einzelfall abhängig. Die Lösung aller Probleme ist jedenfalls nicht "Beinamputation"
Es ging mir nur darum, diese Lösung nicht unkommentiert als Allheilmittel dastehen zu lassen, denn eine Lösung in dem Sinne ist es nicht.
Da haste recht!