use*_*825 6 freebsd chroot jails directory mount
我在 FreeBSD 9.0-STABLE 上执行以下操作:
mount_nullfs /foo /jail/foo
Run Code Online (Sandbox Code Playgroud)
在此之后,从内主机系统中,安装工程。所以这有效:
touch /foo/bar && ls /jail/foo/bar
Run Code Online (Sandbox Code Playgroud)
但是当我进入监狱时,挂载的目录是空的:
jexec 1 tcsh
ls /foo/bar
Run Code Online (Sandbox Code Playgroud)
我得到:
ls: /foo/bar: No such file or directory
Run Code Online (Sandbox Code Playgroud)
/foo 完全是空的。
当在主机系统中找到的 chroot 中挂载时,如何让挂载目录中的文件正确显示?
我刚刚发现我已经挂载到了一个目录,该目录本身已经被反弹(通过 nullfs 挂载)。
/var/data/home/j/mroot on /var/data/home/j/www
/var/data/home/js/www on /var/data/home/j/www/s
/foo on /var/data/home/js/www/foo
Run Code Online (Sandbox Code Playgroud)
除了令人困惑之外,这显然是不支持/错误的。
我像这样更改了它(注意最后一行中的路径):
/var/data/home/j/mroot on /var/data/home/j/www
/var/data/home/js/www on /var/data/home/j/www/s
/foo on /var/data/home/j/www/s/foo
Run Code Online (Sandbox Code Playgroud)
现在安装无需任何额外设置即可工作。