Con el tiempo instalé muchos paquetes i386, que ya no necesito. ¿Cómo puedo limpiar el sistema y quedarme solo con los paquetes amd64?
package-management
64-bit
uninstall
32-bit
yossile
fuente
fuente
Respuestas:
Si no están en tu camino, los dejaría donde están.
Si insiste en su eliminación, utilizar
dpkg -l | grep i386
para crear una lista de i386-paquetes. Puede eliminar estos después de la comprobación cuidadosa con algo parecidosudo apt-get purge <package-name>
.fuente
apt-get purge <package-name>
Sin embargo, aún debería funcionar.dpkg -l | grep amd64
obtuve un paquete i386 en mi lista que esamd64-microcode 3.20160316.3 i386
, creo que el ':' en el patrón grep es importante ! (dpkg -l | grep ":amd64"
)Las soluciones automatizadas superiores son peligrosas y no siempre funcionan (1), así que aquí hay otra forma
o
(Intente usar siempre y solo una de las herramientas. Dado que aptitude es mejor cuando tiene problemas de dependencia, prefiero eso).
Buena idea también
y tal vez
(1) Los comandos anteriores también enumeran los paquetes que tienen solo i386 en su nombre (aunque son para arquitectura de 64 bits), la expresión regular no funcionó y dpkg muestra los paquetes que ya se eliminaron, pero todavía tienen archivos de configuración ( dpkg -l muestra "rc" en lugar de "ii" como estado).
fuente
awk
todos modos, también puede deshacerse de lagrep
invocación. Además,$()
es preferible en lugar de backticks. Acabo de deshacerme de mis paquetes i386 usando este comando basado en el que me diste:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
Borré todos mis paquetes de 32 bits como este:
fuente
dpkg -l | grep i386
para verificar los paquetes todavía hay alguna idea, también +1 para el comentario anterior y supongo que está relacionado con las técnicas de scripting de shellsudo dpkg --remove-architecture i386
En caso de que alguien se pregunte, hay una forma mucho más sensata y elegante de hacer esto. La última respuesta anterior espera hacer lo mismo, pero esa búsqueda falla ya que las arquitecturas no son realmente parte de los nombres de los paquetes, excepto en casos especiales.
como root (o con sudo) ejecutar:
Si ya no usa aptitude sobre apt-get, hágalo. Es realmente excelente Puede encontrar una lista de los términos de búsqueda de aptitude aquí .
fuente
Aquí hay otra forma que es aún menor riesgo:
apt-get remove "^.*:i386$"
Esto coincidirá específicamente solo con los paquetes que terminan en
":i386"
, que es la convención de nomenclatura estándar para todos losi386
paquetes Debian de arquitectura.fuente
sudo apt-get purge .*:i386
La guía multiarch del debian menciona este comando:,
apt-get purge ".*:<arch>"
que se vería así parai386
:Luego puede eliminar la arquitectura de dpkg:
fuente