Confuso, não é? Deixe-me explicar um pouco.
Por quê?
- O software de 32 bits funciona bem em um kernel de 64 bits com hardware compatível com 64 bits.
- Alguns softwares ainda dependem de bibliotecas específicas de 32 bits. Isso não é legal, mas às vezes não temos o poder de mudar isso.
- O software de 32 bits deve estar disponível para o sistema para satisfazer as dependências, para que também use os repositórios de 32 bits.
Eu sou do início de 2011. O que aconteceu?
Nas versões de 64 bits do Ubuntu anteriores à 11.10, algum conjunto de bibliotecas comuns de 32 bits era empacotado em um único ia32-libs
pacote representado pelo APT / Dpkg como sendo de 64 bits e em um local no repositório. Se você precisar de uma única biblioteca para um aplicativo, isso dependerá dos mais de 150 MB de bibliotecas de 32 bits 1 . Claramente, este não é um design agradável.
Arquiteturas múltiplas?
A nova idéia era introduzir os chamados recursos "Multiarch" no APT / Dpkg e nas ferramentas ao seu redor. Isso foi apresentado em vários modelos no Launchpad, aqui está um deles . Oneiric (11.10) tornou-se o primeiro lançamento que suportava o Multiarch.
Como funciona?
Você pode dizer ao Dpkg quais arquiteturas seu sistema pode executar. Na minha instalação 12.04 de 64 bits, está aqui:
$ cat /etc/dpkg/dpkg.cfg.d/multiarch
foreign-architecture i386
Ele abre o mundo inteiro de i386
pacotes, amd64
ainda sendo o padrão:
$ 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
O exemplo acima mostra que o Multiarch permite que os mantenedores de pacotes simplesmente façam seus pacotes dependerem, libqt4-core:i386
por exemplo, e possibilite instalar qualquer biblioteca / pacote de 32 bits (e, assim, instalar qualquer pacote que dependa de qualquer biblioteca / pacote de 32 bits) , em vez de um conjunto pré-selecionado.
ia32-libs
compatibilidade
Caso você tenha sido usado para instalar o ia32-libs
pacote como um pacote de conveniência para instalar um conjunto comum de bibliotecas básicas de 32 bits, agora você pode usá-lo . Esse é um metapacote simples, dependendo do mesmo (ou pelo menos muito semelhante) conjunto de bibliotecas, mas será instalado com o poder do Multiarch.ia32-libs-multiarch
Outras leituras relacionadas
1 No Lucid (10.04), o tamanho da instalação do ia32-libs
pacote é 155.812,0 kB.
dpkg --print-foreign-architectures
ao invés de catting/etc/dpkg/dpkg.cfg.d/multiarch
. Não existe após 12.04.