GNU/Linux >> Tutoriels Linux >  >> Linux

« e :le sous-processus /usr/bin/dpkg a renvoyé un code d'erreur (1) » Qu'est-ce que cela signifie ?

J'ai vu ce message plusieurs fois chaque fois que quelqu'un a un problème pour installer, mettre à jour ou supprimer un logiciel, mais je me demande qu'est-ce que cela signifie , et plus important encore, est-il possible de le résoudre ?

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

(ce qui précède n'est qu'un exemple, pas mon vrai problème)

Réponse acceptée :

Ce message est générique. Cela signifie simplement que le dpkg instance appelée par apt /apt-get a échoué pour une raison quelconque. Il n'explique pas pourquoi, comment, ni ne donne d'indices pour le résoudre. En tant que message de diagnostic, il n'est pas utile.

Vous devez lire les lignes avant le message (parfois un grand nombre d'entre elles) pour trouver la véritable erreur qui vous empêche de terminer l'installation.

Oui, mais comment puis-je le résoudre ?

Il n'y a pas une seule façon de le résoudre. Il y a tellement de raisons pour lesquelles cela peut arriver qu'il est vain d'essayer de toutes les énumérer dans un seul article. Chaque circonstance est presque unique à ce package/environnement.

Mais, il y a la rédemption. Le fait que vous voyez ce message signifie qu'il y a probablement des informations plus pertinentes dans les lignes avant le message. À des fins d'illustration, je vais utiliser un exemple :

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

Maintenant, pour trouver le problème, vous devez lire à l'envers :

  • E: Sub-process /usr/bin/dpkg returned an error code (1) ne me dit rien d'utile. Alors continuez.

  • Errors were encountered while processing: mongodb-10gen me dit juste quel paquet a des problèmes. Est utile mais pas suffisant.

  • subprocess installed post-installation script returned error exit status 100 :cela me dit que le script qui a échoué était le postinst , celui exécuté en post-installation. Cela sera utile dans certaines situations, mais pas dans celle-ci.

  • dpkg: error while cleaning up: rien d'utile ici.

  • invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found. BINGO ! Cela nous indique que invoke-rc.d , un binaire qui contrôle le script init dans la plupart des systèmes de type Debian, a échoué. Il a échoué car il n'a pas pu trouver le /etc/init.d/mongodb scénario. C'est mauvais. Nous devons le créer ou le copier depuis un autre endroit pour qu'il recommence à fonctionner. La réinstallation du package est également normalement une option pour file not found erreurs.

    Dans ce cas, signaler un bogue n'est pas nécessaire car il est probable que nous ayons supprimé le script, mais si vous êtes complètement sûr de ne pas avoir touché au fichier (un debsums -sla devrait le confirmer) puis signaler un bogue.

Connexe :Trouver et différences entre -perm /6000 et -perm /u+s ?

Alors, de quoi avez-vous exactement besoin pour obtenir de l'aide ? Idéalement, la sortie complète du problème. Il est également utile d'inclure la sortie de sudo dpkg -C et sudo apt-get check , et la sortie de apt-cache policy package1 package2... où "package1 package2 …" inclut tous les packages avec des problèmes.


Linux
  1. Comment résoudre "le sous-processus /usr/bin/dpkg a renvoyé un code d'erreur (1)" dans Ubuntu

  2. /usr/bin Vs /usr/local/bin Sous Linux ?

  3. Linux – Fusionner /usr/bin et /usr/sbin dans /bin (gnu/linux) ?

  4. Erreur Python Ubuntu 15.04 Linux 4.0 lors de la mise à jour, le sous-processus /usr/bin/dpkg a renvoyé un code d'erreur (1) ?

  5. Que fait la ligne '!/bin/sh -e' ?

Comment réparer le sous-processus /usr/bin/dpkg a renvoyé un code d'erreur (1) dans Ubuntu

Correction "Le sous-processus /usr/bin/dpkg a renvoyé un code d'erreur (1)" dans Ubuntu

Comment résoudre "le sous-processus usr bin dpkg a renvoyé un code d'erreur 1" Erreur dans Ubuntu

Pourquoi /bin/sh pointe-t-il vers /bin/dash et non /bin/bash ? ?

Que signifie cet avertissement ?

Différence entre /bin et /usr/bin