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

Материал из ALT Linux Wiki
(→‎Реализации: переработал малость)
Строка 25: Строка 25:


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


=== «arepo 1.0 а-ля Novell» ===
=== «arepo 1.===


Данный вид biarch использует специальный инструмент для перепаковки пакетов из одной архитектуры в пакеты другой архитектуры. В ALT Linux таким инструментом является [http://sisyphus.ru/srpm/arepo arepo] имени avm@.
[http://sisyphus.ru/srpm/arepo arepo] имени {{man|avm}} — специальный инструмент для перепаковки пакетов для одной архитектуры (i586) в пакеты для другой архитектуры (x86_64).  Отрабатывает асинхронно со сборкой пакетов в основной репозиторий, результатом чего нередко была рассинхронизация дополнительного по версиям.


Такая реализация не требует поддержки со стороны пакетного менеджера, но ограничена возможностями инструмента конверсии.
=== «arepo 2.0» ===
 
С целью избежания задержки обновления дополнительных репозиториев разработана новая версия '''[http://lists.altlinux.org/pipermail/sisyphus/2012-April/357216.html arepo 2.0]''' (пакет {{pkg|rpmrebuild-arepo}}). В настоящее время работает синхронно при сборке пакетов в '''Sisyphus''', планируется реализация для веток '''p6''' и '''t6'''.  Смотрите также [http://lists.altlinux.org/pipermail/devel/2012-April/193781.html описание ldv@].
 
=== Замечания по обновлению ===
Внимание: '''arepo-репозитории x86_32 и x86_64-i586 несовместимы''' (одноименные пакеты отличаются по составу и зависимостям), автоматическое обновление со старого на новый '''не предусмотрено'''. Тем, кто имел <s>неосторожность</s>смелость установить пакеты из arepo-репозитория x86_32,перед подключением arepo-репозитория x86_64-i586 '''настоятельно рекомендуется''' удалить все пакеты, имя которых начинается на «i586-»; поскольку новый оверлей несёт больше пакетов, также рекомендуется добавить <tt>APT::Cache-Limit 67108864;</tt> в {{path|/etc/apt/apt.conf}}.


Смотри [[Ports/x8664/32bitOn64bit|перепакованные arepo i586-репозитории]].
Типичный {{path|/etc/apt/sources.list}} для желающих использовать arepo теперь выглядит так:
<pre>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</pre>


==== Публичный репозиторий arepo в ALT Linux ====
== Публичные репозитории arepo в ALT Linux ==
Для бранча p6:  
{{main|Ports/x8664/32bitOn64bit}}
=== Sisyphus ===
* официальный (arepo 2.0; контакт: {{man|vitty}}):
** rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic


<pre>rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch      x86_32 classic</pre>
* Etersoft ({{man|lav}}):
** rpm ftp://updates.etersoft.ru/pub/ALTLinux/Sisyphus x86_32 classic


Поддерживаются '''p6''', '''t6''', '''p5''' и '''5.1'''. Может быть задержка обновления после публикации репозитория вплоть до суток.
* {{man|mithraen}}:
Добавление пакетов в него делается весьма оперативно, достаточно письма в community@altlinux.org со словами "нужно заарепать пакет bla-bla-bla".
** rpm http://downloads.mithraen.ru/arepo/sisyphus i586 classic


=== «arepo 2.===
=== p6/t6 ===
* официальный (контакт: {{man|vitty}}):
** rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch x86_32 classic
** rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t6/branch x86_32 classic
 
* Etersoft ({{man|lav}}):
** ftp://updates.etersoft.ru/pub/ALTLinux/p6 x86_32 classic
** ftp://updates.etersoft.ru/pub/ALTLinux/t6 x86_32 classic
 
* {{man|mithraen}}:
** http://downloads.mithraen.ru/arepo/p6 i586 classic
** http://downloads.mithraen.ru/arepo/t6 i586 classic
 
=== p5/5.1 ===
* Etersoft ({{man|lav}}):
** ftp://updates.etersoft.ru/pub/ALTLinux/p5 x86_32 classic
** ftp://updates.etersoft.ru/pub/ALTLinux/5.1 x86_32 classic


С целью избежания задержки обновления репозиториев arepo, разработана новая версия '''arepo 2.0'''. [http://lists.altlinux.org/pipermail/sisyphus/2012-April/357216.html/ Анонс arepo 2.0]. В настоящее время работает на '''Sisyphus''', планируется реализация для веток '''p6''' и '''t6'''.
=== 4.x ===
Смотрите также описание [[Sisyphus_changes#.D0.90.D0.BF.D1.80.D0.B5.D0.BB.D1.8C| тут]].
* Etersoft ({{man|lav}}):
** rpm ftp://updates.etersoft.ru/pub/ALTLinux/4.1 x86_32 classic
** rpm ftp://updates.etersoft.ru/pub/ALTLinux/4.0 x86_32 classic


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

Версия от 13:33, 7 апреля 2012

Описание

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

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

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

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

Реализации

Распространены два подхода к реализации 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 для желающих использовать 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

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

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

Sisyphus

p6/t6

p5/5.1

4.x

Ссылки