vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Да, это напоминает "почему мой эмулятор 8-битной игровой коноли для 16-битной DOS звпущенный в 32-битной виртуальной машине с Windows работающей на 64-битом хосте не издает звуков?"

Но иногда приходится.

Потому что есть логин на машинку с относительно древним RHEL (7.5) и на ней хочется собирать пакеты для кучи разных дистрибутивов. Потому что у этой машинке архитектура ppc64le. Такую за копейки на aliexpress не купишь.
(впрочем, arm64 который покупается за копейки на aliexpress, для сборки пакетов тоже пригоден не слишком. Хотя надо попробовать укупить там что-то побыстрее RaspBerry PI 3B)

Так вот, разводить там полнценные контейнеры там не хочется. Возни много, а толку мало. Для компиляции программ той степени изоляции, которую обеспечивает банальный chroot вполне достаточно. Тем более если пакеты мы будем компилировать в хэшере. который сам по себе именно такой уровень изоляции от хост-системы использует.

К сожалению, вот просто так взять и поставить хэшер на RHEL - мероприятие, не слишком простое и очевидное.

А вот schroot есть в EPEL.

Как оказалось, делать это следует следующим способом

  1. Качаем образ минимальной системы требуемой архитектуры с альта.
  2. Распаковываем ее в /srv/chroot/altlinux9
  3. Пишем близкий к тривиальному конфиг schroot в /etc/schroot/chroot.d
    [altlinux9]
    descriotion=AltLinux 9 with hasher
    type=directory
    directory=/srv/chroot/altlinux9
    users=vitus
    


  4. Копируем в chroot /etc/sudoers
  5. Заходим в chroot рутом (sudo schroot -c altlinux8)
    и делаем apt-get install sudo, потому что в минимальной системе sudo нет
  6. Далее, из под рута же выполняем инструкцию
  7. Выходим из chroot и копируем из chroot-а /etc/passwd, /etc/group и /etc/shadow в хост-систему
    (потому что schroot их копирует из хост-системы при каждом входе. Это можно отключить но не нужно. так как простейший chroot свойства юзера, включая членство в группе наследует из хост-системы.)
  8. Выходим из хост-системы и заходим обратно, после чего заходим в chroot уже юзером и выполняем ту часть инструкции, которая из-под юзера.

Ура, можно пересобирать пакеты.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 3rd, 2025 10:06 am
Powered by Dreamwidth Studios