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 paquets amd64?
package-management
64-bit
uninstall
32-bit
yossile
la source
la source
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 commesudo apt-get purge <package-name>
.la source
apt-get purge <package-name>
devrait toujours fonctionner, cependant.dpkg -l | grep amd64
un pkg i386 dans ma liste, ce qui estamd64-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
ou
(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
et peut-être
(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).
la source
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:
la source
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 shellsudo 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:
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 .
la source
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 lesi386
paquets Debian d'architecture.la source
sudo apt-get purge .*:i386
Le guide multiarch de debian mentionne cette commande :,
apt-get purge ".*:<arch>"
qui ressemblerait à ceci pouri386
:Vous pouvez ensuite supprimer l'architecture de dpkg:
la source