LINUX.ORG.RU
ФорумTalks

В тестинге наконец-то появился dpkg с поддержкой multiarch

 , ,


0

1

В апдейтах пришла новая версия dpkg, которая умеет multiarch. Поставил, добавил в качестве foreign-architecture i386, счастлив.

Где-то с полгода назад пробовал dpkg из гита для того, чтобы попробовать multiarch, но тогда очень немногие пакеты его умели. Сейчас ситуация намного лучше.

Празднуем!

PS. Багу в aptitude не исправили.

Deleted

Если они это допилят - debian станет торт.

unsigned ★★★★
()
Ответ на: комментарий от Xellos

Очевидно же

Чтобы иметь возможность ставить 32-битные пакеты на 64-битную систему без извращений, а также чтобы отправить на помойку костыли типа ia32-libs (последний меня жутко бесит тем, что либы в нем 100-летней древности, как следствие - 3D в 32-битных приложениях на сандибриже нет, есть только на дискретном nvidia).

Для этого поддерживающие multiarch пакеты размещают свои либы в /usr/lib/архитектура/ где архитектура - это i386-linux-gnu, x86_64-linux-gnu и т.д. Таким образом, является допустимой установка одной и той же либы для разных архитектур.

Deleted
()
Ответ на: комментарий от geekless

видимо, чтобы ставить 32х битный софт в 64-битную систему?

Bad_ptr ★★★★★
()
Ответ на: комментарий от uniqwert

Заключается в том, что на multiarch-системах пакеты под разные архитектуры в гуе ничем не отличаются друг от друга.

Deleted
()
Ответ на: комментарий от Deleted

А не, таки пофиксили, создав другой баг: теперь описания отображаются только для родных (т.е. 64битных пакетов).

Deleted
()

Попытался поставить dgen (i386-only) — какие-то проблемы с зависимостями. Ну и ладно, есть же Kega :)

GotF ★★★★★
()
Ответ на: комментарий от unsigned

Ставить-то можно будет что угодно, что поддерживается дебианом, да вот только как ты запускать такие бинарники будешь?

Deleted
()

в убунте еще летом было

vaino
()
Ответ на: комментарий от athost
$ dpkg --version
Система управления пакетами Debian «dpkg», версия 1.16.2 (amd64).
Это свободное программное обеспечение. См. условия распространения в
Универсальной общественной лицензии GNU версии 2 или более поздней.
НИКАКИЕ гарантии не предоставляются.
Deleted
()
Ответ на: комментарий от Deleted

как ты запускать такие бинарники будешь?

Через qemu. А библиотеки и так пригодятся для кросскомпиляции.

unsigned ★★★★
()
Ответ на: комментарий от GotF

Попытался поставить dgen (i386-only) — какие-то проблемы с зависимостями.

$ sudo apt-get install dgen:i386
Читання переліків пакетів... Виконано
Побудова дерева залежностей                
Reading state information... Виконано               
Будуть встановлені наступні додаткові пакунки:
  unzip:i386
Пропоновані пакунки:
  zip:i386
НОВІ пакунки, які будуть встановлені:
  dgen:i386 unzip:i386
оновлено 0, встановлено 2 нових пакунків, для видалення відмічено 0 пакунків, і 4 пакунків не оновлено.
Необхідно завантажити 454 kB архівів.
Для цієї операції 438 kB місця на диску буде використано.
Бажаєте продовжити [Т/н]? 
vaino
()
Ответ на: комментарий от vaino
~ # apt-get install dgen:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dgen:i386 : Depends: libsdl1.2debian:i386 (>= 1.2.10-1) but it is not going to be installed
E: Broken packages

aptitude ругается на кучу конфликтов.

GotF ★★★★★
()

Радость. Поздравляю дебианщиков.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от Axon

В чём разница?

Вот это: https://wiki.archlinux.org/index.php/Multilib — набор распространённых библиотек для запуска legacy-софта. В Debian это сто лет есть. Проблема в том, что там далеко не всегда есть нужные библиотеки, и вообще это костыль и зачастую оверкилл. С multiarch в систему ставятся только нужные пакеты чужой (при этом любой, не только i386) архитектуры. Это гибко, экономично и красиво.

GotF ★★★★★
()

Багу в aptitude не исправили.

Помимо дублирования у меня ещё постоянно торчит секция New Packages, «забывание» помогает ровно до следующего запуска aptitude.

GotF ★★★★★
()
Ответ на: комментарий от GotF

Всё равно не понял разницы.

С multiarch в систему ставятся только нужные пакеты чужой (при этом любой, не только i386) архитектуры.

С multilib тоже. То, что там будут не только некоторые библиотеки, а, допустим, все, не меняет, по сути, ничего. В чём принципиальное отличие, которое требует дописывать что-то в архитектуру пакетного менеджера?

Axon ★★★★★
()
Ответ на: комментарий от Axon

http://wiki.debian.org/Multiarch/TheCaseForMultiarch

То, что там будут не только некоторые библиотеки, а, допустим, все, не меняет, по сути, ничего.

Это как раз тянет на причину для наведения порядка :) Другая причина — окружения для кросс-компиляции.

GotF ★★★★★
()
Ответ на: комментарий от Axon

Могу я поставить, например, полный 32-битный Firefox на 64-битную систему из репозиториев при мультилибе? Ответ в стиле «тебе это не нужно» не катит.

А мультиарч как раз дает такую возможность.

Deleted
()
Ответ на: комментарий от Deleted

в Магии можно, значит и в федоре можно

Reset ★★★★★
()

Не совсем понял, а у архитектур есть что-то типа приоритетов использования? А вот поставится софт 32 и 64 бита, а работать будет 32 на 64битной системе с соотв. скоростью.

Lordwind ★★★★★
()
Ответ на: комментарий от Deleted

полный 32-битный Firefox на 64-битную систему
А мультиарч как раз дает такую возможность.

The existing proposals allow for the co-installation of libraries and headers for different architectures, but not (yet) binaries. So you can have either the i386 version of a binary, or the amd64 version, but not both (using conventional /bin paths).

GotF ★★★★★
()
Ответ на: комментарий от Lordwind

Не совсем понял, а у архитектур есть что-то типа приоритетов использования?

Да, by default используется родная для твоей системы архитектура. Однако, ты можешь добавить в свою систему одну или несколько foreign architectures, и для каждой из них ставить пакеты при помощи aptitude install package:arch, где arch - желаемая архитекутра.

Deleted
()
Ответ на: комментарий от Deleted

Можно ставить 32х битные пакеты из репозитория. Никаких убогих ia32-libs-...rpm тут нет, а вместо этого ставятся те же самые пакеты с библиотеками, что и встают на 32х битный дистр.

Reset ★★★★★
()
Ответ на: комментарий от Deleted

Я почему-то подумал, что ты про одновременную установку %)

GotF ★★★★★
()
Ответ на: комментарий от Deleted

В lib лежат 32х битный либы, а в lib64 64х битные. Других архитектур нет. Но главное, что оно уже работает сто лет как. Как в дебобунте все эти десять лет жили без этой фичи не понимаю.

Reset ★★★★★
()
Ответ на: комментарий от Deleted

А умеет оно архитектуры помимо i386 и amd64?

Проведем мысленный эксперимент и предположим, что оно умеет ARM, Power, MIPS или чего там еще твоей душеньке угодно. Как твой x86-процессор будет это запускать?

metar ★★★
()
Ответ на: комментарий от Relan

сейчас и делают как в федоре, только либы раскладывают не по двум директориям, а по 100500 в соответствии с числом поддерживаемых архитектур

Reset ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.