web-dev-qa-db-fra.com

Supprimer les paquets cassés dans Ubuntu

Une erreur s'est produite lorsque j'ai essayé de supprimer un package, il a donc été laissé dans un état cassé. J'ai essayé ce qui suit:

Sudo dpkg --remove --force-remove-reinstreq rvm

Sortie:

(Reading database ... 41743 files and directories currently installed.)
Removing rvm (1.29.3-1) ...
bash: rvm: command not found
dpkg: error processing package rvm (--purge):
 subprocess installed pre-removal script returned error exit status 127
Errors were encountered while processing:
 rvm

.

Sudo dpkg --purge rvm

Sortie: identique à ci-dessus

Sudo dpkg -i --force-overwrite package

Sortie:

dpkg: error processing archive rvm (--install):
 cannot access archive: No such file or directory
Errors were encountered while processing:
 rvm

Existe-t-il un moyen de forcer le retrait, en ignorant toutes les erreurs? J'utilise Ubuntu 16.04 sur WSL.

7
Leo Jiang

J'ai rencontré ce problème avec un paquet cassé, rvm . J'ai essayé beaucoup de choses comme Sudo apt install -f et Sudo dpkg --purge --force-all rvm mais rien n'a fonctionné. Enfin, j'ai réussi à trouver ce billet de blog qui explique comment supprimer les paquets cassés sur Debian/Ubunt .

Voici les étapes.

  1. Trouvez votre package dans /var/lib/dpkg/info, par exemple en utilisant: ls -l /var/lib/dpkg/info | grep <package>
  2. Déplacez le dossier du package vers un autre emplacement, comme suggéré dans le blog que j'ai mentionné précédemment.

    Sudo mv /var/lib/dpkg/info/<package>.* /tmp/
    
  3. Exécutez la commande suivante:

    Sudo dpkg --remove --force-remove-reinstreq <package>
    

Donc, à titre d'exemple, j'ai résolu mon problème en exécutant les commandes suivantes dans un terminal:

Sudo mv /var/lib/dpkg/info/rvm.* /tmp/
Sudo dpkg --remove --force-remove-reinstreq rvm
36
emont01

Exécutez la commande en tant que root

Sudo apt-get install -f

Vous avez besoin de privilèges élevés pour le gestionnaire de packages.

0
Abdelhak Ohammou

Essayez et installez avec aptitude:

Sudo apt install aptitude && Sudo aptitude install rvm
0
JosephWorks