Как установить 32-разрядный пакет deb на 64-разрядный ubuntu?

5

У меня установлен 64-разрядный Ubuntu 11.10, и я должен установить на нем 32-разрядный пакет deb. Это зависит от других 32-битных библиотек. Я преодолеваю это с помощью getlibs:

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

Пакет установлен успешно, и я могу его использовать, но теперь я ничего не могу установить с помощью apt-get:

[email protected]:~/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).

Если я запустил apt-get -f install, он просто удалит пакет hp-netconnect. Теперь мне нужно удалить этот пакет с помощью «apt-get -f install» каждый раз, когда я хочу что-то установить, и переустановить его позже.     

задан Yura Taras 03.11.2011 в 14:26
источник

2 ответа

1

С многократным, вам не нужно getlibs , зависимости должны «работать просто». Однако проблема заключается в том, что openssl , procps , zenity и Java еще не отмечены как MultiArch: foreign . Это означает, что версии amd64, вероятно, будут работать для этого скрипта, но dpkg не может этого увидеть.

Я боюсь, ваш лучший способ обойти это, вероятно, для редактирования этого .deb и устранения проблемных зависимостей. Кто-то написал сценарий , чтобы помочь с этим.

    
ответ дан tumbleweed 06.01.2012 в 10:21
источник
5

Вы можете установить 32-битный пакет на ubuntu, используя dpkg с флагом --ignore-depends. Если вы делаете, что зависимости этого пакета следует игнорировать.

Поэтому я бы постарался:

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

В качестве альтернативы вы также можете игнорировать отсутствующие зависимости с помощью apt приложением -ignore-missing flag.

    
ответ дан Michael K 03.11.2011 в 14:40