То 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 способа:
- Вы можете переупаковать его вручную, чтобы он не зависел от
ia32-libs
больше не. (предпочтительно) - Вы можете установить 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, просто собирался задать точно такой же вопрос. ТАК что есть действительно отличные предложения по вопросам!