2012-02-05 2 views
0

Im пытается сделать NFS совместно использовать корневую файловую систему для моей системы при загрузке. Я попытался сделать chroot/foo где/foo - мое монтирование NFSМогу ли я сделать общий сетевой ресурс NFS при загрузке?

Я создал скрипт foo.sh под /etc/init.d и установил его разрешения на 755. Я также установил его для выполнения во время загрузки с update-rc.d -f foo.sh start 99 2 . Сценарий просто говорит exec chroot /foo. Но проблема в том, что после входа в систему я все еще в исходном корне, пока/foo все еще существует со всей установленной NFS.

Я даже попробовал chroot /foo и попытался вызвать скрипт на разных уровнях и этапах запуска. Однако, как только я вхожу в систему, я могу chroot/foo вручную с терминала. Кто-нибудь знает, что может мешать chroot во время загрузки?

+1

Что вы на самом деле пытаетесь достичь? Обычно вы получите более качественные ответы, если вы зададите целевой вопрос, а не детализированный. – Borealid

ответ

1

chroot изменяет корневой каталог для процесса и его детей. Он не изменяет реальный корневой каталог для системы; Я не знаю, как это сделать. Привилегированный пользователь в процессе chroot может всегда делать второй chroot, чтобы вернуться к «реальному» корню для системы.

Когда вы используете chroot вручную с терминала, это влияет только на один сеанс терминала.

0

Как уже упоминалось @Ernest - chroot не влияет ни на какие другие процессы, кроме дочернего процесса, который создается из этой сессии chroot.

Это похоже на то, что вы пытаетесь создать целую систему со всеми процессами, запущенными из виртуальной файловой системы - или что-то в этом роде - в этом случае вы должны посмотреть на виртуализацию и виртуальные машины. Большинство дистрибутивов Linux имеют такую ​​возможность в установке по умолчанию.

+0

Спасибо за ваши ответы! У меня есть файловая система через сеть, и я хочу, чтобы все машины имели это в качестве файловой системы по умолчанию при загрузке. Вот почему мне нужно установить NFS на каждую машину и chroot к ней во время загрузки. Это возможно? – user1190261

+0

Я не думаю, что это возможно - но я обновил ваш вопрос, чтобы узнать, можем ли мы заставить кого-то еще ответить с предложением. – Soren

+0

Поскольку я могу вручную chroot после входа в систему, я попытался настроить это либо через bashrc, либо/etc/profile. Но проблема в том, что он позволяет chroot только для пользователя root, а для других пользователей он дает ошибку «chroot: permission denied». Можно ли сделать это для всех пользователей? – user1190261

3

Запуск chroot в тот момент при запуске слишком поздно. Если вы хотите загрузиться с файловой системы NFS, вам нужно настроить себя задолго до того, как вы достигнете точки запуска сценариев rc.d - см. NFS-Root mini-HOWTO для некоторых указателей.

Смежные вопросы