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?
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>
.
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).
J'ai bombardé tous mes paquets 32bit comme ceci:
Sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
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 .
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.
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