GNU/Linux >> LINUX-Kenntnisse >  >> Linux

„e:Unterprozess /usr/bin/dpkg hat einen Fehlercode zurückgegeben (1)“ Was bedeutet das?

Ich habe diese Meldung mehrmals gesehen, wenn jemand ein Problem beim Installieren, Aktualisieren oder Entfernen einer Software hat, aber ich frage mich, was bedeutet das , und was noch wichtiger ist, ist es möglich, es zu lösen?

(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)

(das Obige ist nur ein Beispiel, nicht mein eigentliches Problem)

Akzeptierte Antwort:

Diese Nachricht ist generisch. Es bedeutet lediglich, dass das dpkg Instanz, die von apt aufgerufen wird /apt-get aus irgendeinem Grund fehlgeschlagen. 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 ziemlich viele), um den wahren Fehler zu finden, der Sie daran hindert, die Installation abzuschließen.

Ja, aber wie löse ich das?

Es gibt keinen einzigen Weg, es zu lösen. Es gibt so viele Gründe, warum dies passieren kann, dass es zwecklos 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 Meldung sehen, bedeutet, dass wahrscheinlich relevantere Informationen in den Zeilen vor der Meldung vorhanden sind. 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 das Problem zu finden, müssen Sie jetzt rückwärts lesen:

  • E: Sub-process /usr/bin/dpkg returned an error code (1) sagt mir nichts brauchbares. Also weitermachen.

  • Errors were encountered while processing: mongodb-10gen sagt mir nur, welches Paket Probleme hat. Ist nützlich, aber nicht genug.

  • subprocess installed post-installation script returned error exit status 100 :Dies sagt mir, dass das Skript, das fehlgeschlagen ist, postinst war , die nach der Installation ausgeführt wird. Dies wird in manchen Situationen nützlich sein, aber nicht in dieser.

  • dpkg: error while cleaning up: nichts nützliches hier.

  • 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, schlug fehl. Es ist fehlgeschlagen, weil es /etc/init.d/mongodb nicht finden konnte Skript. Das ist schlecht. Wir müssen es erstellen oder von woanders kopieren, damit es wieder funktioniert. Die Neuinstallation des Pakets ist normalerweise auch eine Option für file not found Fehler.

    In diesem Fall ist das Melden eines Fehlers nicht erforderlich, da wir wahrscheinlich diejenigen waren, die das Skript entfernt haben, aber wenn Sie absolut sicher sind, dass Sie die Datei nicht verändert haben (ein debsums -sla sollte es bestätigen) und dann einen Fehler melden.

Verwandte:Finde und Unterschiede zwischen -perm /6000 und -perm /u+s?

Also, was genau brauchen Sie, um Hilfe zu bekommen? Idealerweise die komplette Ausgabe des Problems. Es ist auch hilfreich, die Ausgabe von sudo dpkg -C einzuschließen und sudo apt-get check , und die Ausgabe von apt-cache policy package1 package2... wobei „Paket1 Paket2 …“ alle Pakete mit Problemen enthält.


Linux
  1. Fix Unterprozess /usr/bin/dpkg hat einen Fehlercode zurückgegeben(1)

  2. /usr/bin vs. /usr/local/bin Unter Linux?

  3. Linux – Zusammenführen von /usr/bin und /usr/sbin in /bin (gnu/linux)?

  4. Ubuntu 15.04 Linux 4.0 Python-Fehler beim Aktualisieren, Unterprozess /usr/bin/dpkg hat einen Fehlercode (1) zurückgegeben?

  5. Was macht die Zeile '!/bin/sh -e'?

So beheben Sie den Unterprozess /usr/bin/dpkg hat einen Fehlercode (1) in Ubuntu zurückgegeben

Fix „Unterprozess /usr/bin/dpkg hat einen Fehlercode (1) zurückgegeben“ in Ubuntu

So lösen Sie den Fehler „Unterprozess usr bin dpkg hat einen Fehlercode 1 zurückgegeben“ Fehler in Ubuntu

Was bedeutet, wenn [[ $? -ne 0 ]]; bedeuten in .ksh

cmake --version zeigt auf /usr/bin/cmake, während cmake auf /usr/local/bin zeigt

Unterschied zwischen /bin und /usr/bin