Как мне apt-получить 32-битный пакет при 64-битной установке? [дубликат]

На этот вопрос уже есть ответ здесь:

Я пытался чтобы игра заработала. Но у меня работает Lucid Lynx на amd64, в то время как двоичный файл игры был 32-битным (64-битная версия недоступна, и никто не был в настроении для перекомпиляции). Ему не хватало libfsml-windows1.5 для запуска, и получить его не удалось. Поэтому мне нужно вручную загрузить пакеты i386 и принудительно установить их. (Нет, не входит в ia32libs.)

Теперь мне интересно, есть ли автоматизированный способ загрузки пакетов x86, по крайней мере, при 64-битной установке. apt-get -o apt :: architecture = i386 не работал. (Если вы переключаете режим архитектуры, он не находит пакет или предполагает отсутствие зависимостей для всех существующих пакетов.)

Есть ли другой инструмент для автоматизации этого? Возможно, тот, который загружает пакеты i386 и перемещает содержащиеся библиотеки в / usr / lib32 / неявно?

32
задан 19 August 2012 в 19:18

4 ответа

Решение для Ubuntu 11.10 или новее

Начиная с Ubuntu 11.10, больше не нужно использовать getlibs или какой-то другой обходной путь. Система пакетов в 64-битных системах теперь может управлять 32-битными библиотеками параллельно с 64-битными библиотеками. Теперь вы даже можете легко установить полные приложения со всеми их зависимостями!

Просто добавьте :i386 к имени пакета, который вы хотите установить.

Например, мне нужна была 32-битная версия Java 7, и я мог установить ее (вместе со всеми ее зависимостями), просто запустив:

sudo apt-get install openjdk-7-jdk:i386
0
ответ дан 19 August 2012 в 19:18

Да, наличие chroot среды является способом пойти, это позволяет даже иметь предыдущие выпуски рядом Ваша существующая Ubuntu.

Просто сделать это;

sudo apt-get install debootstrap schroot

Править /etc/schroot/schroot.conf и добавьте новую конфигурацию schroot:

[lucid32]
type=directory
description=Ubuntu Lucid 32bit
directory=/chroot/lucid32
users=your-user
root-groups=root
personality=linux32

Затем установите chroot среду:

sudo debootstrap --variant=buildd --arch i386 lucid /chroot/lucid32 http://nl.archive.ubuntu.com/ubuntu

Затем введите chroot с:

schroot -c lucid32

Или для корневых задач, например: выполненный apt-get задачи:

sudo schroot -c lucid32
14
ответ дан 19 August 2012 в 19:18

Принудительная установка 32-битных библиотек в 64-битной системе сломает вашу систему. Вам нужно установить 32-битный chroot. См. http://ubuntuforums.org/showthread.php?t=24575 .

0
ответ дан 19 August 2012 в 19:18

Глупый я. Это - действительно решенная проблема.

getlibs

Поскольку имя подразумевает, что может только установить библиотеки, не приложения. Но это работает исключительно хорошо на соединение болтом 32-разрядных библиотек на x86-64 систему. Это автоматизирует загрузку и установку в/usr/lib32 (давайте предположим, что это делает замену пути внутренне.)

ppa:jcollins/jaminppa
https://launchpad.net / ~ jcollins / + archive/jaminppa / + пакеты

Некоторая документация (getlibs, кажется, не имеет текущую домашнюю страницу):
http://ubuntuforums.org/showthread.php?t=474790
https://help.ubuntu.com/community/32bit_and_64bit
http://www.dedoimedo.com/computers/ubuntu-utils.html
http://wiki.ubuntuusers.de/getlibs (на немецком языке)

8
ответ дан 19 August 2012 в 19:18

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

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