Gentoo. Переход на multilib профиль с no-multilib профиля

Прелюдия

В ходе миграции с одного сервера на другой (оба на gentoo x64) выяснилось, что один проприетарный антивирус (сборка x64) не желает запускаться. Служба поддержки антивируса ответила, что такая ОС не поддерживается официально. Примечательно то, что на старом сервере антивирус работал успешно. В ходе анализа выяснилось, что изначально сервера были заинсталированы с разными профилями: старый с профилем multilib, новый с no-multilib

Дальнейшим логичным ходом была попытка перевести новый сервер на профиль multilib с дальнейшей переинсталяцией gcc и glibc. Однако перекомпиляция gcc/glibc сопровождалась ошибкой. В результате гугления выяснилось, что переход на multilib с no-multilib не возможен категорически, в то время как обратный переход вполне допустим. Если нужен multilib нужно переинсталировать сервер. Круто…

Решение

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

  • /lilb32
  • /usr/lib32
  • /usr/include/gnu/lib-names-32.h
  • /usr/include/gnu/stubs-32.h

Далее переход на multilib профиль и перекомпиляция софта

eselect profile list


[12] default/linux/amd64/17.0 (stable)

[22] default/linux/amd64/17.0/no-multilib (stable) *

eselect profile set 12
eselect profile list


[12] default/linux/amd64/17.0 (stable) *

[22] default/linux/amd64/17.0/no-multilib (stable)

emerge gcc
emerge glibc
emerge sandbox

На предупреждения по окончании компиляции внимания можно не обращать. Дальнейшая инсталяция и запуск антивируса прошли без осложнений

Вывод

  • Не все ПО позиционируемое как 64-битное строго таковым является. В моем случае антивирусу нужна была 32-битная glibc. Написал об этом в поддержку, они не ответили, значит согласны
  • Если не знаешь какой профиль выбрать, выбирай multililb
  • Пост на заметку «Как создать 32-битный chroot в 64-битном окружении«

P.S.

Профилю multilib в данном случае соответствует запись default/linux/amd64/17.0 (stable) из списка профилей

Александр Черных
системный администратор

Статьи по теме

0