Paquets cassés

Les “paquets cassés” sont un problème assez courants dans les distributions basées sur Debian. Lorsque vous tentez de mettre à jour le système, d’installer un nouveau paquet ou même d’en supprimer, un message d’erreur vous empêche de les manipuler. Vous vous retrouvez alors bloqué·e avec une erreur du type E: Sub-process /usr/bin/dpkg returned an error code (1)

Vérification

La commande dpkg vous fournira plusieurs informations sur l’état de vos paquets. La commande suivantes affiche les paquets qui ont rencontrés un problème :

# dpkg -l | grep -v ^ii

Message d’erreur

Les messages rencontrés lors de l’utilisation des commandes relatives aux paquets sont du type :

Erreur FR

(version VF)

dpkg: erreur de traitement du paquet monPaquet-problematique (--remove) :
le sous-processus script post-removal installé a retourné une erreur de sortie d'état 127
Des erreurs ont été rencontrées pendant l'exécution :
monPaquet-problematique
E: Sub-process /usr/bin/dpkg returned an error code (1)

Erreur EN

(version EN)

dpkg: error processing monPaquet-problematique (--remove) :
subprocess installed post-installation script returned error exit status 127
Des erreurs ont été rencontrées pendant l'exécution :
monPaquet-problematique
Errors were encountered while processing:
monPaquet-problematique
E: Sub-process /usr/bin/dpkg returned an error code (1)

Plusieurs solutions sont possibles pour réparer le paquet cassé : le reconfigurer, forcer l’installation, forcer la suppression et en dernier recourt, supprimer les fichiers d’installations du paquets.

Reconfigurer la base de données

La base de données a peut-être été corrompue lors de l’installation du paquet. Une reconfiguration peut résoudre le problème.

# dpkg --configure -a

Forcer l’instalaltion

L’option -f permettra de forcer l’installation :

# apt-get install -f

Supprimer le paquet

Vous pouvez essayer de supprimer le package :

# apt remove

Supprimer les fichiers d’instalaltion

Vous pouvez essayer de supprimer les fichiers associés au paquet en question, il sont situés dans /var/lib/dpkg/info.

Ici, le paquet problématique est monPaquet-problematique :

# ls -l /var/lib/dpkg/info | grep -i monPaquet-problematique
-rw-r - r-- 1 racine racine 2324811 14 août 19:29 monPaquet-problematique.list
-rw-r - r-- 1 racine racine 2822824 10 août 04:28 monPaquet-problematique.md5sums
-rwxr-xr-x 1 racine racine 113 10 août 04:28 monPaquet-problematique.postinst
-rwxr-xr-x 1 racine racine 84 août 10 04:28 monPaquet-problematique.postrm

Il ne reste plus qu’à les déplacer/supprimer :

# mv /var/lib/dpkg/info/monPaquet-problematique.* /tmp

Maintenant, l’utilisation des commandes relatives au paquets devraient fonctionner correctement.

Documentation

https://doc.ubuntu-fr.org/probleme_apt
https://askubuntu.com/questions/765565/how-to-fix-processing-with-runit-and-git-daemon-run
https://serverfault.com/questions/179570/how-to-remove-a-package-which-post-installation-and-pre-removal-script-fails
https://itsfoss.com/dpkg-returned-an-error-code-1/

> Partager <