Como instalar o pacote deb de 32 bits no ubuntu de 64 bits?

5

Eu tenho o Ubuntu 11.10 de 64 bits instalado e tenho que instalar o pacote deb de 32 bits nele. Depende de outras bibliotecas de 32 bits. Eu supero isso com getlibs:

sudo getlibs -i ./hp-netconnect_1.2-12_i386.deb 

O pacote foi instalado com sucesso e eu posso usá-lo, mas agora não consigo instalar nada com o apt-get:

ytaras@bueno:~/Downloads$ sudo apt-get install bison-doc 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 hp-netconnect:i386 : Depends: openssl:i386 but it is not going to be installed
                      Depends: procps:i386 but it is not going to be installed
                      Depends: zenity:i386 but it is not going to be installed
                      Depends: sun-java6-jre:i386 but it is not installable or
                               sun-java5-jre:i386 but it is not installable
                      Recommends: sun-java6-plugin:i386 but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Se eu executar o 'apt-get -f install', ele apenas remove o pacote hp-netconnect. Agora eu tenho que desinstalar este pacote com 'apt-get -f install' toda vez que eu quiser instalar algo e reinstalar mais tarde.

    
por Yura Taras 03.11.2011 / 14:26

2 respostas

1

Com multiarch, você não precisa de getlibs , as dependências devem "apenas funcionar". No entanto, o problema aqui é que openssl , procps , zenity e Java ainda não foram marcados como MultiArch: foreign . Isso significa que as versões amd64 provavelmente funcionarão para este script, mas dpkg não pode ver isso.

Eu tenho medo, sua melhor maneira de contornar isso é provavelmente editar .deb e remover as dependências problemáticas. Alguém escreveu um script para ajudar com isso.

    
por tumbleweed 06.01.2012 / 10:21
5

Você pode instalar um pacote de 32 bits no Ubuntu. Use o dpkg com o sinalizador --ignore-depends. Se você fizer isso, dependências deste pacote devem ser ignoradas.

Então, eu tentaria:

sudo dpkg -i --force-architecture --ignore-depends hp-netconnect_1.2-12_i386.deb

Como alternativa, você também pode ignorar as dependências ausentes com o apt por sinalizador attach -ignore-missing.

    
por Michael K 03.11.2011 / 14:40