Установить что-то в schroot

Установить что-то в schroot

У меня есть вопрос по chroot: допустим, у меня есть программа, скомпилированная и встроенная в корневую файловую древовидную структуру, например:

.
├── bin
│   └── software
├── etc
...

То есть, чтобы установить это, мне нужно объединить это с корнем (/). Теперь я rsync это в chroot, но когда я пытаюсь запустить это, я получаю код ошибки 127 (такой файл отсутствует). Что-то еще мне нужно сделать?

решение1

Если я правильно понял то, что вы написали, то, по-моему, вы не совсем понимаете, что делает chroot. Если у меня есть каталог /mytemproot и я монтирую в нем файловую систему с каталогами: bin и т. д., sbin, foo, то я мог бы:

% cd /mytemproot
% pwd
/mytemproot
% chroot /mytemproot
% pwd
/
% ls /
bin etc sbin foo

Что делает chroot, так это помещает вас в оболочку, где /mytemproot рассматривается как /. Настоящий / невидим для вас, как и все остальные файловые системы под настоящим /. Он не объединяет файловые системы.

В старые времена, когда скромные системные администраторы собирали каждый новый дистрибутив UNIX с нуля, мы создавали новый раздел диска, помещали файловую систему на этот раздел и делали сборку и установку там. Затем мы монтировали эту файловую систему куда-нибудь, chrootили ее и проверяли все, прежде чем выдавать пользователям. Я должен представить, что разработчики сегодня используют это примерно так же.

Связанный контент