Что случилось с пакетом ia32-libs?

Пакет ia32-libs больше не присутствует в репозиториях Ubuntu 12.04 для 64-битной системы. Есть ли доступные для скачивания пакеты для замены?

105
задан 19 April 2014 в 04:56

6 ответов

Пакет ia32-libs был хаком для установки 32-битных пакетов на 64-битной установке. Начиная с версии 11.10 Ubuntu (Oneiric), Multi Arch был добавлен. Одной из целей для этого является удаление пакета ia32-libs. Вместо этого вам нужно установить 32-битные библиотеки пакета с:

sudo apt-get install package-name:i386

Вам не нужно беспокоиться об этом для пакетов в стандартных репозиториях (например, пакет wine). Для внешнего программного обеспечения это немного сложнее, потому что вы должны найти зависимости вручную. В этом случае используйте вашу любимую поисковую систему, чтобы найти, какие библиотеки вам нужны.

Кажется, что ia32-libs все еще существуют, но просто в качестве удобного пакета для включения общих 32-битных библиотек. Этот пакет теперь использует Multi Arch для правильной установки 32-битных пакетов.

0
ответ дан 19 April 2014 в 04:56

Я прочитал, что вместо этого вы должны установить пакет ia32-libs-multiarch. Однако это не сработало для меня, и я получаю эту ошибку

ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.

Решение, которое работало для меня, заключалось в установке следующих пакетов:

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
0
ответ дан 19 April 2014 в 04:56

Ubuntu 13.10

Что случилось?

ia32-libs пакет был полностью заменен lib32z1 lib32ncurses5 lib32bz2-1.0. Это не должно быть проблемой, потому что ее функциональность все еще там, только в других пакетах. Однако мы не живем в идеальном мире, где все поддерживают их пакеты, и все программное обеспечение является ВЫШИВАЛЬНЫМ ШЕЛКОМ, таким образом, некоторые пакеты все еще зависят от ia32-освобождения.

То, как я могу установить пакет x, который зависит от, ia32-освобождает

Существует 2 пути:

  1. Можно повторно упаковать его вручную, таким образом, это не зависит от ia32-libs больше. (предпочтительный)
  2. Можно установить, ia32-освобождает из Ubuntu 13.04 (Ringtail Полный нетерпения) репозиторий (не предпочтенный вообще!, только если первый метод не работает),

1. Перепакет старые пакеты

Я буду использовать получатель Citrix в качестве примера, но можно использовать этот метод для любого .deb пакета:

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

mkdir ica_temp

Извлеките пакет

dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN

Откройте файл в gedit (или Ваш любимый редактор)

sudo -H gedit ica_temp/DEBIAN/control

Найдите строку, которая запускается с Depends:.... удалить ia32-libs и добавьте lib32z1 lib32ncurses5 lib32bz2-1.0

Восстановите измененный пакет

dpkg -b ica_temp icaclient-modified.deb

И установите его

sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f

Установка получателя Citrix требует некоторого взламывания также. Можно найти инструкции по полной установке относительно Wiki Ubuntu

Можно сделать это с любым старым .deb пакетом, который все еще зависит от, ia32-освобождает.

2. Установка ia32-освобождает из репозитория полного нетерпения

Обратите внимание на то, что это очень плохая практика для установки старых пакетов! К сожалению, для некоторых двоичных установщиков, у Вас нет никакого другого выбора.

Можно загрузить, ia32-освобождает пакет из репозитория полного нетерпения. Загрузите его и установите его вручную, затем зависимости должны быть разрешены.

43
ответ дан 19 April 2014 в 04:56

Если вы получили эту ошибку, попробуйте:

sudo apt-get update

Затем попробуйте снова:

sudo apt-get install ia32-libs

Я только что сделал новую установку 12.04, этот пакет все еще доступен хранилища. На самом деле, я получил эту ошибку сам, прежде чем запустить обновление. После этого все работало нормально.

0
ответ дан 19 April 2014 в 04:56

Я установил ia32-libs следующим образом (я запускаю Ubuntu 13.04 Raring Ringtail на 64-битной машине):

Проверьте собственную архитектуру:

$ dpkg --print-architecture

Проверьте, является ли чужая архитектура Установлено:

$ dpkg --print-foreign-architectures

В зависимости от результатов двух команд выше, следующие три команды могут работать (в моем случае это заняло много времени):

$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
0
ответ дан 19 April 2014 в 04:56

Я считаю, что этот конкретный вариант использования был заменен пакетами «lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2», что, вероятно, является более конкретным и полезным ответом, чем высказывание «Вы можете использовать multi-arch».

0
ответ дан 19 April 2014 в 04:56

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

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