Пакет ia32-libs
больше не присутствует в репозиториях Ubuntu 12.04 для 64-битной системы. Есть ли доступные для скачивания пакеты для замены?
Пакет 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-битных пакетов.
Я прочитал, что вместо этого вы должны установить пакет 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
ia32-libs
пакет был полностью заменен lib32z1 lib32ncurses5 lib32bz2-1.0
. Это не должно быть проблемой, потому что ее функциональность все еще там, только в других пакетах. Однако мы не живем в идеальном мире, где все поддерживают их пакеты, и все программное обеспечение является ВЫШИВАЛЬНЫМ ШЕЛКОМ, таким образом, некоторые пакеты все еще зависят от ia32-освобождения.
Существует 2 пути:
ia32-libs
больше. (предпочтительный)Я буду использовать получатель 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-освобождает.
Обратите внимание на то, что это очень плохая практика для установки старых пакетов! К сожалению, для некоторых двоичных установщиков, у Вас нет никакого другого выбора.
Можно загрузить, ia32-освобождает пакет из репозитория полного нетерпения. Загрузите его и установите его вручную, затем зависимости должны быть разрешены.
Если вы получили эту ошибку, попробуйте:
sudo apt-get update
Затем попробуйте снова:
sudo apt-get install ia32-libs
Я только что сделал новую установку 12.04, этот пакет все еще доступен хранилища. На самом деле, я получил эту ошибку сам, прежде чем запустить обновление. После этого все работало нормально.
Я установил 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
Я считаю, что этот конкретный вариант использования был заменен пакетами «lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2», что, вероятно, является более конкретным и полезным ответом, чем высказывание «Вы можете использовать multi-arch».