Biarch: различия между версиями

Материал из ALT Linux Wiki
Строка 63: Строка 63:
* официальный:
* официальный:
** <tt>rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic</tt>
** <tt>rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic</tt>
* Etersoft ({{man|lav}}):
** <tt>rpm ftp://updates.etersoft.ru/pub/ALTLinux/Sisyphus x86_32 classic</tt>
<!--
* {{man|mithraen}}:
** rpm http://downloads.mithraen.ru/arepo/sisyphus i586 classic -->


=== p8/t8 ===
=== p8/t8 ===
Строка 77: Строка 71:
* официальный:
* официальный:
** <tt>rpm [p7] http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64-i586 classic</tt>
** <tt>rpm [p7] http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64-i586 classic</tt>
<!---
* Etersoft ({{man|lav}}):
** <source lang=text>rpm ftp://updates.etersoft.ru/pub/ALTLinux/p7/branch x86_64-i586 classic</source>
-->


=== p6/t6 ===
=== p6/t6 ===
Строка 89: Строка 79:
** <tt>rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch x86_32 classic</tt>
** <tt>rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch x86_32 classic</tt>
** <tt>rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t6/branch x86_32 classic</tt>
** <tt>rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t6/branch x86_32 classic</tt>
* Etersoft ({{man|lav}}):
** <tt>rpm ftp://updates.etersoft.ru/pub/ALTLinux/p6 x86_32 classic</tt>
** <tt>rpm ftp://updates.etersoft.ru/pub/ALTLinux/t6 x86_32 classic</tt>
<!--
* {{man|mithraen}}:
** http://downloads.mithraen.ru/arepo/p6 i586 classic
** http://downloads.mithraen.ru/arepo/t6 i586 classic -->
=== p5/5.1 ===
* Etersoft ({{man|lav}}):
** <tt>rpm ftp://updates.etersoft.ru/pub/ALTLinux/p5 x86_32 classic</tt>
** <tt>rpm ftp://updates.etersoft.ru/pub/ALTLinux/5.1 x86_32 classic</tt>
=== 4.x ===
* Etersoft ({{man|lav}}):
** <tt>rpm ftp://updates.etersoft.ru/pub/ALTLinux/4.1 x86_32 classic</tt>
** <tt>rpm ftp://updates.etersoft.ru/pub/ALTLinux/4.0 x86_32 classic</tt>


== Ссылки ==
== Ссылки ==

Версия от 11:28, 10 июня 2020

Поддержка исполнения приложений нескольких архитектур в одной операционной системе (Biarch)

Описание

Biarch — поддержка исполнения кода для нескольких архитектур или ABI в одной системе (например, запуск 32-битных приложений на x86_64, или EABI и OABI-приложений на ARM). В случае более чем двух архитектур поддержка называется multiarch (например, запуск 16-, 32- и 64-битного кода на MIPS).

Требует поддержки со стороны многих компонентов системы:

  • компилятор и toolchain вообще должны уметь собирать код под необходимые архитектуры и ABI
  • пакетный менеджер должен уметь работать с пакетами для нескольких архитектур
  • упаковка приложений должна вестись образом, позволяющим сосуществование пакетов для разных архитектур в одной файловой системе.

Список приложений, требующих biarch

32-битные приложения для Linux

32-битные приложения для Windows (32-битный Wine)

Реализации

Распространены два подхода к реализации biarch: «а-ля Red Hat» с использованием file coloring в rpm и «а-ля Novell» с перепаковкой нужных 32-битных частей в явном виде. В ALT Linux реализован второй, который не требует поддержки со стороны пакетного менеджера, но определяется возможностями инструмента конверсии.

«arepo 1.0»

arepo имени avm@ — специальный инструмент для перепаковки пакетов для одной архитектуры (i586) в пакеты для другой архитектуры (x86_64). Отрабатывает асинхронно со сборкой пакетов в основной репозиторий, результатом чего нередко была рассинхронизация дополнительного по версиям.

«arepo 2.0»

С целью избежания задержки обновления дополнительных репозиториев разработана новая версия arepo 2.0 (пакет rpmrebuild-arepo). В настоящее время работает синхронно при сборке пакетов в Sisyphus и бранчи, начиная с p6/t6. Смотрите также описание ldv@.

Замечания по обновлению

Внимание: arepo-репозитории x86_32 и x86_64-i586 несовместимы (одноименные пакеты отличаются по составу и зависимостям), автоматическое обновление со старого на новый не предусмотрено. Тем, у кого используется arepo-репозиторий x86_32, перед началом использования arepo-репозитория x86_64-i586 настоятельно рекомендуется удалить все пакеты, имя которых начинается на «i586-», или принудительно переустановить их все после подключения нового репозитария; поскольку новый оверлей несёт больше пакетов, также рекомендуется добавить APT::Cache-Limit 67108864; в /etc/apt/apt.conf.

Типичный /etc/apt/sources.list для Sisyphus, для желающих использовать arepo, теперь выглядит так:

rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64 classic
rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic
rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic

Переустановка i586-пакетов[1]:

apt-get reinstall $(rpmquery -a --qf '%{name} ' 'i586-*')

Публичные репозитории arepo в ALT Linux

Основная статья: Ports/x8664/32bitOn64bit

Обратите внимание: некоторые из перечисленных репозиториев несовместимы между собой.

Sisyphus

p8/t8

p7/t7

p6/t6

Ссылки

Примечания