web-dev-qa-db-fra.com

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

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

33
yossile

S'ils ne vous gênent pas, je les laisserais où ils sont.
Si vous insistez pour la suppression, utilisez dpkg -l | grep i386 pour créer une liste de packages i386. Vous pouvez les supprimer après vérification minutieuse avec quelque chose comme Sudo apt-get purge <package-name>.

15
Henk

Les solutions automatisées supérieures sont dangereuses et ne fonctionnent pas toujours (1), alors voici un autre moyen

Sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

ou

Sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

(Essayez de toujours utiliser un seul des outils. Comme aptitude est préférable en cas de problème de dépendance, je le préfère.)

Bonne idée aussi

dpkg --remove-architecture i386

et peut-être

dpkg --print-foreign-architectures

(1) Les commandes précédentes indiquent également les packages n’ayant que le nom i386 (bien qu’ils soient conçus pour une architecture 64 bits), l’expression régulière ne fonctionne pas et dpkg affiche les packages déjà supprimés, mais il reste des fichiers de configuration (dpkg -l indique "rc" au lieu de "ii" en tant que statut).

23
PythoNic

J'ai bombardé tous mes paquets 32bit comme ceci:

Sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
22
Mathnode

Au cas où quelqu'un se le demanderait, il existe un moyen beaucoup plus sain et élégant 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 partie des noms de paquets, sauf dans des cas spéciaux.

en tant que root (ou avec Sudo), exécutez:

aptitude remove ~i~ri386

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

9
Patrick

Voici un autre moyen encore moins risqué:

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

Cela s'appliquera spécifiquement uniquement aux paquets se terminant par ":i386", qui est la convention de dénomination standard pour tous les paquets Debian de i386 architecture.

6
kevinarpe

Le guide multiarch 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
4
Francisco Couzo