Diese Nachricht ist generisch. Es bedeutet nur, dass die dpkg
von apt
/ aufgerufene Instanz apt-get
aus irgendeinem Grund fehlgeschlagen ist. Es erklärt nicht warum, wie oder gibt Hinweise, wie man es löst. Als Diagnosemeldung ist es nicht sinnvoll.
Sie müssen die Zeilen vor der Meldung lesen (manchmal eine ganze Reihe von Zeilen), um den tatsächlichen Fehler zu finden, der Sie daran hindert, die Installation abzuschließen.
Ja, aber wie löse ich das?
Es gibt keinen einzigen Weg, dies zu lösen. Es gibt so viele Gründe, warum dies passieren kann, dass es sinnlos ist, sie alle in einem einzigen Beitrag aufzulisten. Jeder einzelne Umstand ist für dieses Paket / diese Umgebung fast einzigartig.
Aber es gibt Erlösung. Die Tatsache, dass Sie diese Nachricht sehen, bedeutet, dass sich wahrscheinlich relevantere Informationen in den Zeilen vor der Nachricht befinden. Zur Veranschaulichung verwende ich ein Beispiel:
(Reading database ... 81657 files and directories currently installed.)
Removing mongodb-10gen ...
arg: remove
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
dpkg: error processing mongodb-10gen (--remove):
subprocess installed pre-removal script returned error exit status 100
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 100
Errors were encountered while processing:
mongodb-10gen
E: Sub-process /usr/bin/dpkg returned an error code (1)
Um nun das Problem zu finden, müssen Sie rückwärts lesen:
E: Sub-process /usr/bin/dpkg returned an error code (1)
sagt mir nichts nützliches. Also mach weiter.
Errors were encountered while processing: mongodb-10gen
sagt mir nur was paket probleme hat. Ist nützlich aber nicht genug.
subprocess installed post-installation script returned error exit status 100
: dies sagt mir, dass das fehlgeschlagene Skript das war postinst
, das nach der Installation ausgeführt wurde. Dies ist in einigen Situationen nützlich, in diesem jedoch nicht.
dpkg: error while cleaning up:
hier nix brauchbares.
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
BINGO! Dies sagt uns, dass invoke-rc.d
eine Binärdatei, die das Init-Skript in den meisten Debian-ähnlichen Systemen steuert, fehlgeschlagen ist. Es ist fehlgeschlagen, weil das /etc/init.d/mongodb
Skript nicht gefunden werden konnte . Das ist schlecht. Wir müssen es erstellen oder von einem anderen Ort kopieren, damit es wieder funktioniert. Das erneute Installieren des Pakets ist normalerweise auch eine Option für file not found
Fehler.
In diesem Fall ist das Melden eines Fehlers nicht erforderlich, da es wahrscheinlich ist, dass wir das Skript entfernt haben. Wenn Sie jedoch völlig sicher sind, dass Sie die Datei nicht berührt haben (a debsums -sla
sollte dies bestätigen), melden Sie einen Fehler.
Also, was genau brauchst du, um Hilfe zu bekommen? Idealerweise ist die komplette Ausgabe des Problems. Es ist auch hilfreich, die Ausgabe von sudo dpkg -C
und sudo apt-get check
und die Ausgabe von apt-cache policy package1 package2...
where "package1 package2 ..." enthält alle Pakete mit Problemen.
apt-get install (something)
und diese Fehlermeldung wie ich erhalten haben, war die Lösung für michapt-get upgrade (something)
.