Мне нужно установить несколько сторонних двоичных пакетов, которые доступны только в архитектуре i386 на 64-битной (amd64) Ubuntu. Как добавить новый 32-битный репозиторий, чтобы ia32-apt-get автоматически устанавливал и конвертировал двоичные пакеты только для i386 и их зависимости?
Ты бежишь ia32-apt-get update
? ia32-apt-get
временно устанавливает каталог со списком пакетов apt-get на /etc/apt/foreign/
вместо значения по умолчанию /etc/apt
. После установки по умолчанию /etc/apt/sources.list
копируется в /etc/apt/foreign
. Итак, чтобы получить список пакетов для установки, вам нужно запустить обновление хотя бы один раз. И если вы хотите расширить репозиторий sources.list за пределы того, что доступно по умолчанию в вашем собственном sources.list, вам необходимо отредактировать этот внешний sources.list.
К сожалению, вы не можете установить пакет i386 на машину AMD64; dpkg просто не позволит вам. Вы можете сделать несколько вещей, чтобы обойти это. Наверное, проще всего настроить chroot i386 с помощью debootstrap:
# /usr/sbin/debootstrap --arch i386 jaunty /mnt/ubuntu http://archive.ubuntu.com/ubuntu
Затем вы можете выполнить chroot в / mnt / ubuntu и установить свои пакеты.
Вы не можете. Скорее всего, есть очень конкретная причина, по которой этих пакетов нет в репозитории amd64. Если вы не видите причин, то можете попробовать построить их самостоятельно.
Перейдите на страницу пакета, загрузите исходный deb и соберите его самостоятельно.
Получите необходимые файлы apt-get install devscripts, необходимые для сборки fakeroot dpkg-dev
Допустим, вы хотите построить bc. Найдите исходный пакет: http://packages.ubuntu.com/jaunty/bc Ссылка на файл dsc справа. Затем запустите: dget http://archive.ubuntu.com/ubuntu/pool/main/b/bc/bc_1.06.94-3ubuntu1.dsc cd bc-1.06.94 / dpkg-buildpackage -rfakeroot -b
И у вас будут свежие файлы deb, которые можно установить с помощью dpkg.