Как установить 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 в 15:11

2 ответа

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

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

1
ответ дан 25 May 2018 в 17:15

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

Итак, я бы попытался:

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

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

5
ответ дан 25 May 2018 в 17:15
  • 1
    -ignore-missing работает, но только для установки, я не могу, например, удалить пакет. Если я удалю установленный в настоящий момент пакет и установил его с предоставленной вами строкой, он все равно будет показывать тот же результат в apt-get. – Yura Taras 3 November 2011 в 20:01

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

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