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

98

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

    
задан Ubuntuser 24.02.2012 в 08:48
источник

6 ответов

93

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

sudo apt-get install package-name:i386

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

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

    
ответ дан Lekensteyn 24.02.2012 в 10:17
источник
41

Ubuntu 13.10

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

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

Как установить пакет x , который зависит от ia32-libs

Есть два способа:

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

1. Повторная упаковка старых пакетов

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

Сначала загрузите пакет citrix receiver .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 также требует взлома. Подробные инструкции по установке можно найти в вики Ubuntu

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

2. Установите ia32-libs из регрессивного хранилища

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

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

    
ответ дан Galgalesh 22.12.2013 в 00:42
источник
6

Я прочитал, что вы должны установить пакет 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
    
ответ дан ubarb 24.08.2012 в 11:24
источник
4

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

sudo apt-get update

Затем повторите попытку:

sudo apt-get install ia32-libs

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

ответ дан ASCPL 06.12.2012 в 15:50
источник
1

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

    
ответ дан saurik 24.01.2013 в 21:52
источник
-2

Я установил 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
    
ответ дан LivioM 02.08.2013 в 08:46
источник

Ознакомьтесь с другими вопросами по меткам