Confuso, ¿no es así? Déjame explicarte un poco.
¿Por qué?
- El software de 32 bits funciona bien en un kernel de 64 bits con hardware compatible con 64 bits.
- Algunos programas aún se basan en bibliotecas específicas de 32 bits. Esto no es bueno, pero a veces no tenemos el poder de cambiar esto.
- El software de 32 bits debe estar disponible para que el sistema satisfaga las dependencias, por lo que también utiliza los repositorios de 32 bits.
Soy de principios de 2011. ¿Qué pasó?
En las versiones de 64 bits de Ubuntu anteriores a 11.10, algunos conjuntos de bibliotecas comunes de 32 bits se empaquetaron en un solo ia32-libspaquete representado en APT / Dpkg como de 64 bits y en una ubicación de este tipo en el repositorio. Si necesita una biblioteca única para una aplicación, dependerá de los más de 150 MB de bibliotecas de 32 bits 1 . Claramente, este no es un buen diseño.
Múltiples arquitecturas?
La nueva idea era introducir las llamadas capacidades "Multiarch" en APT / Dpkg y las herramientas que lo rodean. Esto se presentó en varios planos en Launchpad, aquí está uno de ellos . Oneiric (11.10) se convirtió en el primer lanzamiento compatible con Multiarch.
¿Como funciona?
Puede decirle a Dpkg qué arquitecturas puede ejecutar su sistema. En mi instalación 12.04 de 64 bits, aquí está:
$ cat /etc/dpkg/dpkg.cfg.d/multiarch
foreign-architecture i386
Abre todo el mundo de los i386paquetes, y amd64sigue siendo el valor predeterminado:
$ apt-cache show libqt4-core | grep -E "^(Filename|Architecture)"
Architecture: amd64
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_amd64.deb
$ apt-cache show libqt4-core:i386 | grep -E "^(Filename|Architecture)"
Architecture: i386
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_i386.deb
El ejemplo anterior muestra que Multiarch permite a los mantenedores de paquetes simplemente hacer que sus paquetes dependan, libqt4-core:i386por ejemplo, y hace posible instalar cualquier biblioteca / paquete de 32 bits (y así instalar cualquier paquete que dependa de cualquier biblioteca / paquete de 32 bits) , en lugar de un conjunto preseleccionado.
ia32-libs compatibilidad
En caso de que haya sido utilizado para instalar el ia32-libspaquete como un paquete conveniente para instalar un conjunto común de bibliotecas básicas de 32 bits, ahora puede usarlo . Este es un metapaquete simple que depende del mismo conjunto (o al menos muy similar) de bibliotecas, pero se instalará con el poder de Multiarch.ia32-libs-multiarch 
Lecturas relacionadas adicionales
1 Para Lucid (10.04), el tamaño de instalación del ia32-libspaquete es 155,812.0 kB.
dpkg --print-foreign-architectureslugar de atrapar/etc/dpkg/dpkg.cfg.d/multiarch. No existe después del 12.04.amd64. Es similar a ejecutar un Ubuntu anterior sinia32-libsdisponibilidad.