我可以在启动时使NFS共享我的root吗?

时间:2012-02-05 06:02:00

标签: linux boot chroot

我试图在启动时让NFS共享系统的根文件系统。我试图做一个chroot / foo,其中/ foo是我的NFS挂载

我在/etc/init.d下创建了一个脚本foo.sh,并将其权限设置为755.我还将其设置为在update-rc.d -f foo.sh start 99 2 .启动时执行 该脚本只是说exec chroot /foo。 但问题是,在我登录系统后,我仍然在原始根目录中,而/ foo仍然存在整个挂载的NFS。

我甚至尝试chroot /foo并尝试在各种运行级别和阶段调用脚本。 但是,一旦我登录,我就可以从终端手动chroot到/ foo。 有没有人知道在启动阶段可能会阻止chroot?

3 个答案:

答案 0 :(得分:3)

在启动时运行chroot为时已晚。如果你想要启动一个NFS文件系统,你需要在运行rc.d脚本之前为自己设置这么长时间 - 请参阅NFS-Root mini-HOWTO以获取一些指示。< / p>

答案 1 :(得分:1)

chroot更改进程及其子进程的明显根目录。它不会更改系统的真实根目录;我不知道有什么方法可以做到这一点。 chroot过程中的特权用户可以始终执行第二次chroot以返回系统的“真实”根。

当你从终端手动chroot时,它只影响那个终端会话。

答案 2 :(得分:0)

正如@Ernest已经提到的那样 - chroot不会影响除从chroot会话创建的子进程之外的任何其他进程。

这就好像你正在尝试创建一个整个系统,所有进程都是从虚拟系统运行的 - 或者是那种效果 - 在这种情况下你应该看看虚拟化和虚拟机。大多数Linux发行版都将其作为默认安装中的一个选项。