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-libs
paquete 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 i386
paquetes, y amd64
sigue 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:i386
por 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-libs
paquete 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-libs
paquete es 155,812.0 kB.
dpkg --print-foreign-architectures
lugar de atrapar/etc/dpkg/dpkg.cfg.d/multiarch
. No existe después del 12.04.