Как установить 32-битный пакет deb на 64-битную Ubuntu?

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

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

Пакет успешно установлен, и я могу его использовать, но теперь я ничего не могу установить с помощью 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).

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

5
задан 6 January 2012 в 13:11

2 ответа

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

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

0
ответ дан 6 January 2012 в 13:11

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

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

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

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

0
ответ дан 6 January 2012 в 13:11

Другие вопросы по тегам:

Похожие вопросы: