Debian Multiarch: Gestionando arquitecturas i386 y amd64.


Una de las características de Debian desde la versión 7 (Wheezy) es el soporte multiarquitectura (Multiarch), un elemento más que contribuye a hacer de esta distribución un sistema operativo universal, que es el objetivo del proyecto Debian. Básicamente esta característica permite que el sistema operativo instale paquetes de librerías de múltiples arquitecturas en el mismo equipo.


Las arquitecturas soportadas son: Intel x86 / IA-32 ("i386"); Motorola 68k ("m68k"); Sun SPARC ("sparc"); Alpha ("alpha"); Motorola/IBM PowerPC ("powerpc"); ARM ("arm"); CPU's MIPS ("mips" y "mipsel"); HP PA-RISC ("hppa"); IA-64 ("ia64"); S/390 ("s390"); AMD64 ("amd64"). Para más detalles ir a “Arquitecturas soportadas” en www.esdebian.org.

La utilidad más común es instalar paquetes de 32 (i386) y 64 bits (amd64) de manera simultánea y de haber dependencias estas se resuelven automáticamente. Esto, como es mi caso, es importante cuando tenemos un sistema de 64 bits y tenemos que instalar algunos paquetes en 32 bits.

1. Actualizar nuestro sistema

Es muy buena costumbre antes de trabajar con repositorios o paquetes actualizar el sistema:

# su (contraseña)
# apt-get update
# apt-get upgrade

2. dpkg es imprescindible

Para operar con multiarch se requiere dpkg, y este, por lo general, está instalado por defecto. No obstante, podemos comprobarlo y si no lo estuviera lo instalamos:

# apt-get install dpkg

3. ¿Tenemos ya más de una arquitectura en nuestro sistema?

Para comprobar si Multiarch está ya disponible en nuestro sistema:

# dpkg --print-foreign-architectures

Si no nos devuelve ningún mensaje es que nuestro sistema tiene una sola arquitectura y tendremos que realizar el siguiente paso. También podemos consultarlo en Synaptic picando en “Arquitectura” en la parte inferior izquierda de la ventana principal.



4. Instalar otra arquitectura

Para instalar una arquitectura extra, como root y en consola:

# dpkg --add-architecture arquitectura

Donde “arquitectura” puede ser i386 o amd64. Si nuestro sistema es de 64 bits y queremos instalar la arquitectura de 32 bits, el comando quedaría como:

# dpkg --add-architecture i386

Y, muy importante, seguidamenterefrescamos los repositorios:

# apt-get update

Las arquitecturas son almacenadas en /var/lib/dpkg/arch

Si tenemos un sistema amd64 y hemos añadido i386, ahora el comando:

# dpkg --print-foreign-architectures

Nos dará la siguiente salida: i386

5. Instalar paquetes de la arquitectura extra

Para instalar paquetes de la arquitectura añadida lo especificaremos de la forma siguiente:

# apt-get install paquete:arquitectura

Por ejemplo:

# apt-get install libpulse0:i386

6. Desactivar la arquitectura extra

Para eliminar una arquitectura, por ejemplo porque ya hemos instalado lo que necesitábamos, y queremos que el proceso de refresco de los repositorios no se vea relentizado por esa otra arquitectura:

# dpkg --remove-architecture arquitectura

Ahora bien, no es necesario eliminar esa otra arquitectura.

7. Algunas utilidades de todo esto


Saludos flamencos,

Comentarios