Как автоматически смонтировать с chroot?
Так что в chroot у меня есть файл /etc/fstab. Если я бегу mount -a
в chroot монтирует перечисленные разделы. Однако даже при использовании auto
вариант, они не монтируются при входе в chroot.
Каков наилучший способ заставить автомонтирование работать с chroot? Я знаю, что одним из способов было бы просто поставить mount -a
в каком-то файле запуска, но было бы лучше, если бы он работал аналогично реальной среде. (В частности, одна из точек монтирования /usr
, поэтому я боюсь, что это не будет работать правильно, если это не произойдет достаточно рано в процессе запуска.)
1 ответ
Вот в чем дело: на самом деле в chroot нет процесса запуска .
Когда вы запускаете что-то вроде, скажем,
Если вы хотите запустить процесс запуска, подобный тому, который происходит при первом запуске вашей системы Ubuntu, вам нужно нечто большее, чем . Что вам понадобится, так это что-то, что запускает специальный процесс инициализации, который будет отвечать за запуск всех других системных служб (регистратора, средства запуска запланированных задач, сетевого менеджера, диспетчера графического отображения и т. д.), одна из которых - это то, что вызывает
В вашем случае, в зависимости от того, что вы пытаетесь сделать, вам может потребоваться или не потребоваться полный процесс запуска системы. Если да, просто используйте Docker или какой-нибудь его аналог — для этого и созданы контейнеры. Но если вы этого не сделаете, вы, вероятно, сможете обойтись сценарием-оболочкой, который смонтирует все, что вам нужно для монтирования, а затем запустит оболочку или все, что вы захотите. Ваш сценарий-обертка может быть таким простым:
#!/bin/sh
mount -a
exec "$@"
и если вы сохраните его как
chroot /newroot /usr/local/sbin/mount-and-run /bin/sh
который будет работать