Я не могу установить ia32-libs [duplicate]

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

100
задан 19 April 2014 в 05:56

12 ответов

Пакет 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-битных пакетов.

95
ответ дан 18 July 2018 в 05:35

Пакет 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-битных пакетов.

95
ответ дан 24 July 2018 в 18:22

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

sudo apt-get update

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

sudo apt-get install ia32-libs

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

4
ответ дан 18 July 2018 в 05:35

Я читал, что вы должны установить пакет 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
6
ответ дан 18 July 2018 в 05:35

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

1
ответ дан 18 July 2018 в 05:35

Я установил 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
-2
ответ дан 18 July 2018 в 05:35

Ubuntu 13.10

Что произошло?

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

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

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

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

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

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

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

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

41
ответ дан 18 July 2018 в 05:35

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

sudo apt-get update

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

sudo apt-get install ia32-libs

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

4
ответ дан 24 July 2018 в 18:22

Я читал, что вы должны установить пакет 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
6
ответ дан 24 July 2018 в 18:22
  • 1
    Работает для элементарной ОС Луны также – camelCaseD 27 April 2014 в 07:08

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

1
ответ дан 24 July 2018 в 18:22
  • 1
    Какие? В этом вопросе нет конкретного варианта использования. – gertvdijk 25 January 2013 в 03:58
  • 2
    @gertvdijk: сам пакет представляет собой ограниченный вариант использования; для более общей цели вы можете использовать несколько арка, но для тех, кто раньше использовал этот конкретный пакет, он, кажется, был заменен на «lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2», который вы можете установить без использования мульти- arch: это охватывает те же варианты использования, что и предыдущий пакет. В сущности, я нашел эти ответы бесполезными, так как многоэлемент был переполнен по причине существования ia32-libs, был удивлен, что не было более прямой замены взамен, и не было разочаровано, когда я исследовал это дальше. – saurik 4 February 2013 в 13:10
  • 3
    Это был самый простой ответ, который решил для меня аналогичную проблему. Несмотря на то, что указанные libs, похоже, не имеют ничего общего с созданием общего двоичного кода, это действительно сработало. – Per Knytt 20 November 2013 в 19:18

Я установил 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
-2
ответ дан 24 July 2018 в 18:22
  • 1
    Я получаю: Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0 – foobarbecue 8 November 2013 в 06:38

Ubuntu 13.10

Что произошло?

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

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

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

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

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

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

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

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

41
ответ дан 24 July 2018 в 18:22
  • 1
    Что такое «FOS»? Я попытался: acronyms.thefreedictionary.com/FOS – Eliptical view 3 August 2016 в 21:32
  • 2
    @Elipticalview & quot; Свободный и открытый источник & quot ;. Изменил его на FLOSS (Free / Libre и программное обеспечение с открытым исходным кодом), что является более распространенным явлением. – Galgalesh 4 August 2016 в 09:42
  • 3
    & quot; Переупаковка старых пакетов & quot; работает в основном для Ubuntu 16.04 Xenial - вам просто нужно добавить несколько адаптаций к именам пакетов, обычно добавляя пространство имен «: i386» в конец имен пакетов. Некоторые из пакетов также имеют разные имена, например libbz2-1.0: i386 – Christian Benke 26 March 2017 в 13:10

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

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