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, por isso ele também usa os repositórios de 32 bits.
Eu sou do começo de 2011. O que aconteceu?
Em versões de 64 bits do Ubuntu anteriores a 11.10, alguns conjuntos de bibliotecas comuns de 32 bits foram empacotados em um único pacote ia32-libs
representado para o APT / Dpkg como sendo de 64 bits e em tal local no repositório. Se você precisar de uma única biblioteca para um aplicativo, isso dependerá de mais de 150 MB de bibliotecas de 32 bits 1 . Claramente, este não é um bom design.
Arquiteturas múltiplas?
A nova ideia era introduzir os recursos chamados "Multiarch" ao APT / Dpkg e as ferramentas em torno dele. Isso foi apresentado em vários projetos no Launchpad, aqui é um deles . Oneiric (11.10) tornou-se o primeiro lançamento que suportou o Multiarch.
Como isso funciona?
Você pode dizer ao Dpkg que arquiteturas seu sistema é capaz de rodar. Na minha instalação de 64 bits de 12.04, isso está aqui:
$ cat /etc/dpkg/dpkg.cfg.d/multiarch
foreign-architecture i386
Ele abre o mundo inteiro de i386
packages, com 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 de libqt4-core:i386
, por exemplo, e torna possível instalar qualquer pacote / biblioteca de 32 bits (e, portanto, instalar qualquer pacote que dependa de qualquer biblioteca / pacote de 32 bits), em vez de um conjunto pré-selecionado.
ia32-libs
compatibility
Caso você esteja acostumado a instalar o pacote ia32-libs
como um pacote de conveniência para instalar um conjunto comum de bibliotecas básicas de 32 bits, agora você pode usar ia32-libs-multiarch
. Este é um simples metapacote dependendo do mesmo (ou pelo menos muito similar) conjunto de bibliotecas, mas ele será instalado com o poder do Multiarch.
Outras leituras relacionadas
- Por que não consigo instalar o "ia32- libs "(sem candidato)?
- Wiki da comunidade do Ubuntu no MultiArch
- Wiki Oficial do Ubuntu sobre os detalhes técnicos e especificações exatas
1 Para o Lucid (10.04) o ia32-libs
package o tamanho da instalação é de 155.812,0 kB.