@WSGlebKavash

Согласование архитектур в Linux?

В Windows 16-битные библиотеки хранятся в 'C:\Windows\System', 32-битные библиотеки в 'C:\Windows\SysWOW64', 64-битные библиотеки в 'C:\Windows\System32'. 64-битные программы хранятся в 'C:\Program Files', а 32-битные программы - в 'C:\Program Files (x86)'.
В Linux все бинарники хранятся в /usr/bin/, а конфиги - в /etc. Но при этом Linux поддерживает кучу архитектур.
Как происходит согласование 32-битных и 64-битных библиотек в Linux и почему нет конфликтов?
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 2
@AVKor
В Linux все бинарники хранятся в /usr/bin/

Нет.

Если речь идёт о размещении по каталогам, то 32-битные библиотеки помещаются в /lib32, /usr/lib32 и ряд других каталогов.

Для Дебьяна информацию можно найти здесь и тут. По другим дистрибутивам, полагаю, тоже есть информация на их сайтах.
Ответ написан
shurshur
@shurshur
Сисадмин, просто сисадмин...
Да, конечно, Linux поддерживает кучу архитектур, но код для архитектуры mipsel нельзя запустить на armhf. Поэтому проблемы именно "кучи" нет - никто не использует программы, которые всё равно не запустятся.

Есть проблема только с поддержкой совместимх архитектур x86 и x86_64. В результате в основном пришли к тому, что есть /lib|/usr/lib|/usr/local/lib и /lib64|/usr/lib64|/usr/local/lib64 или такие же с lib32|lib или даже ортогональный им lib32|lib64 для библиотек, а для бинарников такой проблемы нет, потому что какая разница, будет ли единственный файл /usr/bin/program 32-битной или 64-битной приложенькой? В крайнем случае в имя программы можно добавить 32 (или даже -x86|-x86_64) на конце.

С учётом того, что в LINUX можно положить библиотеки в /foo/bar, а исполняемые файлы в /lorem/ipsum и разрулить это с помощью PATH и ld.so.conf, можно сделать вообще как душе угодно. Не забываем также, что в грамотно организованной и правильно администрируемой системой всё по возможности ставится из пакетов. Поэтому каждый файл учтён, ничто не будет перезаписано при установке/обновлении.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы