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

То ia32-libs пакет больше не присутствует в репозиториях Ubuntu 12.04 для 64-разрядной системы.Существуют ли какие-либо доступные пакеты замены, доступные для загрузки?

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

sudo apt-get install package-name:i386

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

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

Ubuntu 13.10

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

То ia32-libs пакет был полностью заменен на lib32z1 lib32ncurses5 lib32bz2-1.0. Это не должно быть проблемой, потому что его функциональность все еще существует, только в других пакетах. Однако мы не живем в идеальном мире, где все поддерживают свои пакеты, а все программное обеспечение является FLOSS, поэтому некоторые пакеты все еще зависят от ia32-libs.

Как я могу установить пакет x это зависит от ia32-libs

Есть 2 способа:

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

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

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

Сначала загрузите пакет citrix receiver .deb с их веб-сайта и создайте временный каталог для взлома.

mkdir ica_temp

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

dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_tempdpkg-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.debsudo apt-get install -f

Установка приемника citrix также требует некоторого взлома. Вы можете найти полные инструкции по установке на вики-страница Ubuntu

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

2. Установите ia32-libs из raring репозитория

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

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

Я читал, что вы должны установить 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

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

sudo apt-get update

Затем попробуйте еще раз:

sudo apt-get install ia32-libs

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

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

Я установил 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

+1, просто собирался задать точно такой же вопрос. ТАК что есть действительно отличные предложения по вопросам!

Связанные 64 bit - How do you run a 32-bit program on a 64-bit version of Ubuntu? - Ask Ubuntu