martes, 30 de diciembre de 2014

Eliminando arquitecturas sin uso en Debian



Ya vimos hace algún tiempo que Debían se había convertido en una distribución multiarquitectura, lo que equivale a decir que podemos instalar aplicaciones de cualquier arquitectura en nuestra máquina. Dedicamos a ello este artículo.
El problema viene cuando dejas de necesitar esta característica y quieres hacer un poquito de limpieza en el sistema, eliminando la arquitectura añadida pero no puedes hacerlo porque hay paquetes en uso de ella.


Tal vez sea porque el sistema se ha vuelto inestable por mezclar arquitecturas, porque ya tienes un paquete de tu propia arquitectura o porque te has cansado de experimentar con otras arquitecturas. El caso es que eliminar una arquitectura foránea debería ser tan sencillo como teclear en la terminal…

  •  sudo dpkg --remove-architecture arquitectura-a-eliminar

 Pero puede ocurrir que Debian se niegue a ello y te tire un error que diga algo así como…

 dpkg: error: cannot remove architecture 'arquitectura-añadida' currently in use by the database

 Ese error es debido a que en tu sistema hay paquetes instalados de la arquitectura-añadida y por tanto no se puede eliminar esa arquitectura dejando los paquetes instalados. El problema es cuando esos paquetes no los has añadido tú conscientemente, si no que se trata de dependencias de algún paquete que instalaste o si has instalado muchos paquetes y no recuerdas exactamente qué es lo que tienes que desinstalar.

En mi caso fue por unos paquetes de dependencias que se instalaron al poner un paquete de 64 bits en un sistema de 32. En su momento no me fije que dependencias instaló, y claro, ahora quería eliminar la arquitectura de 64 bits pero mi Debian le había cogido cariño.

Consultando en San Google Bendito, llegue a Apuntes Sueltos, donde encontré la solución simple y sencilla.

Si solo queremos ver que paquetes de esa arquitectura foránea tenemos instalados, basta con poner en la terminal:

  • dpkg -l | grep arquitectura-foranea

Y si lo que queremos es eliminarlos todos, para poder eliminar esa arquitectura: 

  • sudo apt-get remove --purge `dpkg --get-selections | grep arquitectura-foranea | awk '{print $1}'`

Y ya podremos eliminar la arquitectura con:

  • sudo dpkg --remove-architecture arquitectura-foranea

Ya puedes limpiar la casita de arquitecturas indeseadas.

No hay comentarios:

Publicar un comentario

prekes sodui