Réponses:
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 avoir soigneusement vérifié quelque chose comme sudo apt-get purge <package-name>
.
apt-get purge <package-name>
devrait toujours fonctionner, cependant.
dpkg -l | grep amd64
un pkg i386 dans ma liste, ce qui est amd64-microcode 3.20160316.3 i386
, je pense que le ':' dans le modèle grep est important ! ( dpkg -l | grep ":amd64"
)
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 préfère cela.)
Bonne idée aussi
dpkg --remove-architecture i386
et peut-être
dpkg --print-foreign-architectures
(1) Les commandes précédentes répertorient é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 affiche "rc" au lieu de "ii" en statut).
awk
quand même, vous pouvez également vous débarrasser de l' grep
invocation. Aussi, $()
est préférable à des backticks. Je viens de me débarrasser de mes paquets i386 en utilisant cette commande basée sur celle que vous avez donnée:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
J'ai bombardé tous mes paquets 32bit comme ceci:
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
vérifie les paquets, y a-t-il encore des idées, également +1 pour le commentaire précédent et je suppose que cela est lié aux techniques de script shell
sudo dpkg --remove-architecture i386
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), lancez:
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 correspond spécifiquement aux paquets se terminant par ":i386"
, qui est la convention de nommage standard pour tous les i386
paquets Debian d'architecture.
sudo apt-get purge .*:i386
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