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 уже юзером и выполняем ту часть инструкции, которая из-под юзера.

Ура, можно пересобирать пакеты.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

May 2025

S M T W T F S
    1 2 3
4 56 7 8 9 10
11 12 131415 1617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 24th, 2025 10:08 am
Powered by Dreamwidth Studios