Biarch: различия между версиями
Нет описания правки |
(Исправил опечатку p10 на p9) |
||
(не показано 66 промежуточных версий 14 участников) | |||
Строка 1: | Строка 1: | ||
= Поддержка исполнения приложений нескольких архитектур в одной операционной системе (Biarch) = | |||
== Описание == | |||
'''Biarch''' — поддержка исполнения кода для нескольких архитектур или ABI в одной системе (например, запуск 32-битных приложений на x86_64, или EABI и OABI-приложений на ARM). В случае более чем двух архитектур поддержка называется ''multiarch'' (например, запуск 16-, 32- и 64-битного кода на MIPS). | '''Biarch''' — поддержка исполнения кода для нескольких архитектур или ABI в одной системе (например, запуск 32-битных приложений на x86_64, или EABI и OABI-приложений на ARM). В случае более чем двух архитектур поддержка называется ''multiarch'' (например, запуск 16-, 32- и 64-битного кода на MIPS). | ||
Строка 5: | Строка 9: | ||
* пакетный менеджер должен уметь работать с пакетами для нескольких архитектур | * пакетный менеджер должен уметь работать с пакетами для нескольких архитектур | ||
* упаковка приложений должна вестись образом, позволяющим сосуществование пакетов для разных архитектур в одной файловой системе. | * упаковка приложений должна вестись образом, позволяющим сосуществование пакетов для разных архитектур в одной файловой системе. | ||
== Список приложений, требующих biarch == | |||
=== 32-битные приложения для Linux === | |||
* [[:ruwp:Steam|Steam]] | |||
* [http://rnmc.ru/default.asp?trID=471 ОМС-плеер] | |||
* [[Adobe Acrobat Reader]] | |||
* Foxit Reader | |||
* VueScan | |||
* Runtime демоны для Hasp (aksusbd) | |||
* Google Picasa | |||
* [[OracleALS40/x86_64|Oracle 10g, 11g]] (программа установки) | |||
* [[Skype]] | |||
* [[Quartus]] | |||
* Xilinx ISE [http://www.xilinx.com/ise/ossupport/index.htm] | |||
* CadSoft EAGLE | |||
* Guitar Pro 6 | |||
* RAID Web Console 2 (RWC2) | |||
* Netup UTM [http://www.netup.ru/UTM5/] | |||
* [[Citrix Client|Citrix Receiver]] for Linux [http://www.citrix.com/English/SS/downloads/details.asp?downloadID=3323] | |||
* WINE 32-бит (для соответствующих Windows-приложений) | |||
=== 32-битные приложения для Windows (32-битный Wine) === | |||
* ДубльГИС (http://www.2gis.ru/) | |||
== Реализации == | == Реализации == | ||
Распространены два подхода к реализации biarch: «а-ля Red Hat» с использованием file coloring в {{pkg|rpm}} и «а-ля Novell» с перепаковкой нужных 32-битных частей в явном виде. В ALT Linux реализован второй, который не требует поддержки со стороны пакетного менеджера, но определяется возможностями инструмента конверсии. | |||
=== «arepo 1.0» === | |||
[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 несовместимы''' (одноименные пакеты отличаются по составу и зависимостям), автоматическое обновление со старого на новый '''не предусмотрено'''. Тем, у кого используется arepo-репозиторий x86_32, перед началом использования arepo-репозитория x86_64-i586 '''настоятельно рекомендуется''' удалить все пакеты, имя которых начинается на «i586-», или принудительно переустановить их все после подключения нового репозитария; поскольку новый оверлей несёт больше пакетов, также рекомендуется добавить <tt>APT::Cache-Limit 67108864;</tt> в {{path|/etc/apt/apt.conf}}. | |||
Типичный {{path|/etc/apt/sources.list}} для Sisyphus, для желающих использовать 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> | |||
Переустановка i586-пакетов<ref>[http://lists.altlinux.org/pipermail/community/2012-April/676285.html ldv@ в community@]</ref>: | |||
apt-get reinstall $(rpmquery -a --qf '%{name} ' 'i586-*') | |||
== Публичные репозитории arepo в ALT Linux == | |||
{{main|Ports/x8664/32bitOn64bit}} | |||
Обратите внимание: некоторые из перечисленных репозиториев несовместимы между собой. | |||
=== Sisyphus === | |||
* официальный: | |||
** <tt>rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic</tt> | |||
=== | === p10 === | ||
* официальный: | |||
** <tt>rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/p10/branch x86_64-i586 classic</tt> | |||
=== p9 === | |||
* официальный: | |||
** <tt>rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch x86_64-i586 classic</tt> | |||
=== p8/t8 === | |||
* официальный: | |||
** <tt>rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch x86_64-i586 classic</tt> | |||
== | |||
=== p7/t7 === | |||
* официальный: | |||
** <tt>rpm [p7] http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64-i586 classic</tt> | |||
=== p6/t6 === | |||
* официальный: | |||
** <tt>rpm [p6] http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch x86_64-i586 classic</tt> | |||
** <tt>rpm [p6] http://ftp.altlinux.org/pub/distributions/ALTLinux/t6/branch x86_64-i586 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> | |||
== Ссылки == | |||
* [[32-битный OpenGL на 64-битной системе с драйвером NVIDIA]] | |||
* [[32-битный OpenGL на 64-битной системе с драйвером Intel]] | |||
* http://gcc.gnu.org/ml/gcc/1999-04n/msg00648.html | * http://gcc.gnu.org/ml/gcc/1999-04n/msg00648.html | ||
* http://lists.altlinux.org/pipermail/devel/2007-September/144487.html и далее | * http://lists.altlinux.org/pipermail/devel/2007-September/144487.html и далее | ||
* http://www.mail-archive.com/devel-ports@lists.altlinux.org/msg00085.html | * http://www.mail-archive.com/devel-ports@lists.altlinux.org/msg00085.html | ||
* http://lists.altlinux.org/pipermail/devel/2014-July/198914.html (unmets на i586-*) | |||
== Примечания == | |||
<references /> | |||
[[Категория:Devel]] | [[Категория:Devel]] | ||
[[Категория:Admin]] | |||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 22:26, 25 октября 2022
Поддержка исполнения приложений нескольких архитектур в одной операционной системе (Biarch)
Описание
Biarch — поддержка исполнения кода для нескольких архитектур или ABI в одной системе (например, запуск 32-битных приложений на x86_64, или EABI и OABI-приложений на ARM). В случае более чем двух архитектур поддержка называется multiarch (например, запуск 16-, 32- и 64-битного кода на MIPS).
Требует поддержки со стороны многих компонентов системы:
- компилятор и toolchain вообще должны уметь собирать код под необходимые архитектуры и ABI
- пакетный менеджер должен уметь работать с пакетами для нескольких архитектур
- упаковка приложений должна вестись образом, позволяющим сосуществование пакетов для разных архитектур в одной файловой системе.
Список приложений, требующих biarch
32-битные приложения для Linux
- Steam
- ОМС-плеер
- Adobe Acrobat Reader
- Foxit Reader
- VueScan
- Runtime демоны для Hasp (aksusbd)
- Google Picasa
- Oracle 10g, 11g (программа установки)
- Skype
- Quartus
- Xilinx ISE [1]
- CadSoft EAGLE
- Guitar Pro 6
- RAID Web Console 2 (RWC2)
- Netup UTM [2]
- Citrix Receiver for Linux [3]
- WINE 32-бит (для соответствующих Windows-приложений)
32-битные приложения для Windows (32-битный Wine)
- ДубльГИС (http://www.2gis.ru/)
Реализации
Распространены два подхода к реализации 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
Обратите внимание: некоторые из перечисленных репозиториев несовместимы между собой.
Sisyphus
- официальный:
- rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic
p10
- официальный:
- rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/p10/branch x86_64-i586 classic
p9
- официальный:
- rpm [p9] http://ftp.altlinux.org/pub/distributions/ALTLinux/p9/branch x86_64-i586 classic
p8/t8
- официальный:
- rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch x86_64-i586 classic
p7/t7
- официальный:
- rpm [p7] http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64-i586 classic
p6/t6
- официальный:
- rpm [p6] http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch x86_64-i586 classic
- rpm [p6] http://ftp.altlinux.org/pub/distributions/ALTLinux/t6/branch x86_64-i586 classic
- предыдущий:
- 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
Ссылки
- 32-битный OpenGL на 64-битной системе с драйвером NVIDIA
- 32-битный OpenGL на 64-битной системе с драйвером Intel
- http://gcc.gnu.org/ml/gcc/1999-04n/msg00648.html
- http://lists.altlinux.org/pipermail/devel/2007-September/144487.html и далее
- http://www.mail-archive.com/devel-ports@lists.altlinux.org/msg00085.html
- http://lists.altlinux.org/pipermail/devel/2014-July/198914.html (unmets на i586-*)