Comment supprimer tous les paquets i386 d'Ubuntu 64bit?

29

Au fil du temps, j’ai installé de nombreux paquets i386 dont je n’ai plus besoin. Comment puis-je nettoyer le système et rester uniquement avec les paquets amd64?

    
posée yossile 15.03.2012 - 19:39
la source

6 réponses

14

S'ils ne sont pas sur votre chemin, je les laisserais où ils sont.
Si vous insistez pour la suppression, utilisez dpkg -l | grep i386 pour créer une liste de paquets i386. Vous pouvez supprimer ces éléments après vérification attentive avec quelque chose comme sudo apt-get purge <package-name> .

    
réponse donnée Henk 15.03.2012 - 19:51
la source
23

Les solutions automatisées supérieures sont dangereuses et ne fonctionnent pas toujours (1), alors voici une autre manière

sudo aptitude purge 'dpkg --get-selections | grep ":i386" | awk '{print }''

ou

sudo apt-get purge 'dpkg --get-selections | grep ":i386" | awk '{print }''

(Essayez d’utiliser toujours et seulement l’un des outils. Puisque aptitude est préférable en cas de problème de dépendance, je préfère cela.)

Bonne idée aussi

dpkg --remove-architecture i386

et peut-être

dpkg --print-foreign-architectures

(1) Les anciennes commandes répertorient également les packages ne portant que le nom i386 (bien qu’ils soient destinés à une architecture 64 bits), l’expression régulière ne fonctionnait pas et dpkg affichait des paquets déjà supprimés, mais des fichiers de configuration restaient ( dpkg -l affiche "rc" au lieu de "ii" comme statut).

    
réponse donnée PythoNic 17.02.2014 - 22:30
la source
21

J'ai blitzé tous mes paquets 32 bits comme ceci:

sudo apt-get remove 'dpkg --get-selections | grep i386 | awk '{print }''
    
réponse donnée Mathnode 15.06.2012 - 11:51
la source
9

Au cas où quelqu'un se demanderait, il existe une manière beaucoup plus sage et gracieuse de le faire. La dernière réponse précédente espère faire la même chose, mais cette recherche échoue car les architectures ne font pas réellement partie des noms de paquet, sauf dans des cas particuliers.

en tant qu'utilisateur root (ou avec sudo):

aptitude remove ~i~ri386

Si vous n'utilisez pas aptitude sur apt-get déjà, faites. C'est vraiment excellent. Vous trouverez une liste des termes de recherche d'aptitude ici .

    
réponse donnée Patrick 18.04.2015 - 14:44
la source
6

Voici une autre façon de réduire les risques:

apt-get remove "^.*:i386$"

Cela ne correspondra spécifiquement qu'aux paquets se terminant par ":i386" , qui est la convention de nommage standard pour tous les paquets Debian de i386 architecture.

    
réponse donnée kevinarpe 09.02.2014 - 12:09
la source
4

Le guide multi-sites de debian mentionne cette commande: apt-get purge ".*:<arch>" , qui ressemblerait à ceci pour i386 :

apt-get purge ".*:i386"

Vous pouvez ensuite supprimer l’architecture de dpkg:

dpkg --remove-architecture i386
    
réponse donnée Francisco Couzo 17.01.2017 - 20:44
la source

Lire d'autres questions sur les étiquettes