GNU/Linux >> Linux Esercitazione >  >> Linux

"e:Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" Cosa significa?

Ho visto questo messaggio diverse volte ogni volta che qualcuno ha un problema con l'installazione, l'aggiornamento o la rimozione di un software, ma mi chiedo, cosa significa e, soprattutto, è possibile risolverlo?

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

(quello sopra è solo un esempio, non il mio vero problema)

Risposta accettata:

Quel messaggio è generico. Significa solo che il dpkg istanza chiamata da apt /apt-get fallito per qualche motivo. Non spiega perché, come o fornisce suggerimenti su come risolverlo. Come messaggio diagnostico, non è utile.

È necessario leggere le righe prima del messaggio (a volte parecchie) per trovare il vero errore che impedisce di completare l'installazione.

Sì, ma come risolvo?

Non esiste un unico modo per risolverlo. Ci sono così tante ragioni per cui ciò può accadere che è inutile tentare di elencarle tutte in un unico post. Ogni singola circostanza è quasi unica per quel pacchetto/ambiente.

Ma c'è la redenzione. Il fatto che visualizzi questo messaggio significa che probabilmente ci sono informazioni più rilevanti nelle righe prima del messaggio. A scopo illustrativo userò un esempio:

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

Ora, per trovare il problema, devi leggere al contrario:

  • E: Sub-process /usr/bin/dpkg returned an error code (1) non mi dice niente di utile Quindi avanti.

  • Errors were encountered while processing: mongodb-10gen mi dice solo quale pacchetto ha problemi. È utile ma non sufficiente.

  • subprocess installed post-installation script returned error exit status 100 :questo mi dice che lo script che ha fallito era il postinst , quello eseguito in post-installazione. Questo sarà utile in alcune situazioni, ma non in questa.

  • dpkg: error while cleaning up: niente di utile qui.

  • invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found. BINGO! Questo ci dice che invoke-rc.d , un binario che controlla lo script init nella maggior parte dei sistemi simili a Debian, ha fallito. Non è riuscito perché non è stato possibile trovare il /etc/init.d/mongodb sceneggiatura. Questo non va bene. Dobbiamo crearlo o copiarlo da qualche altra parte in modo che ricominci a funzionare. Anche la reinstallazione del pacchetto è normalmente un'opzione per file not found errori.

    In questo caso non è necessario segnalare un bug perché è probabile che siamo stati noi a rimuovere lo script, ma se sei completamente sicuro di non aver toccato il file (a debsums -sla dovrebbe confermarlo) quindi segnalare un bug.

Correlati:Trova e differenze tra -perm /6000 e -perm /u+s?

Quindi, di cosa hai bisogno esattamente per ottenere aiuto? Idealmente, l'output completo del problema. È anche utile includere l'output di sudo dpkg -C e sudo apt-get check e l'output di apt-cache policy package1 package2... dove “pacchetto1 pacchetto2 …” include tutti i pacchetti con problemi.


Linux
  1. Fix Sub-Process /usr/bin/dpkg ha restituito un codice di errore(1)

  2. Come risolvere "Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" In Ubuntu

  3. /usr/bin Vs /usr/local/bin Su Linux?

  4. Perché /bin/sh punta a /bin/dash e non a /bin/bash??

  5. Ubuntu 15.04 Linux 4.0 Errore Python durante l'aggiornamento, il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)?

Come risolvere il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1) in Ubuntu

Risolto il problema con "Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" in Ubuntu

Come risolvere "il processo secondario usr bin dpkg ha restituito un codice di errore 1″ Errore in Ubuntu

Qual è il significato di /usr/sbin, /usr/local/sbin e /usr/local/bin?

Differenza tra /bin e /usr/bin

Spostato il contenuto di /bin in /usr/bin, è possibile annullare?