![chroot 整个文件系统(除了一个文件)](https://linux22.com/image/104324/chroot%20%E6%95%B4%E4%B8%AA%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%EF%BC%88%E9%99%A4%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%89.png)
我想为我将运行的命令创建一个 chroot,并且我希望 chroot 与“真实”文件系统完全相同,除了一个被修改的文件。
(我们假设这确实是解决我的问题的正确方法 - 我也在探索其他可能性:)
看起来很吸引人的一件事是使用 unionfs - 基本上让“上层”目录包含一个文件,“下层”目录包含 root ( /
)。
唉,这不起作用:
$ sudo mount_unionfs mydir /
mount_unionfs: mydir (/usr/home/myuser/chroots/mydir) and / (/) are not distinct paths
我明白为什么这可能会出现问题——也许它会产生无限递归?但说实话,我并不完全确定为什么它会被阻止。
nullfs
我可以通过在内部安装大量安装来完成类似的事情,以匹配我的真实系统上mydir/...
安装的所有内容。/
但有更好的方法吗?
这是在 FreeBSD 上进行的,但其他 *nix 的建议也值得赞赏。