我对--mount-proc
与unshare
命令一起使用时的作用有点困惑。
当我使用 时unshare -fp --mount-proc bash
,我注意到它会产生一个新的 PID 命名空间和一个新的 MNT 命名空间。
鉴于我在一个新的 MNT 命名空间中,我尝试卸载其中一个循环设备,并注意到这没有反映在父 MNT 中(当我df -h
在父命名空间中运行时,挂载仍然显示)。
现在,我领先一步,在新的 MNT 命名空间中使用 创建了一个新的根目录pivot_root
,并卸载了原来的根目录。正如预期的那样,新的命名空间现在有一个不同的根。父命名空间仍然具有原始根目录。
-m
我的问题:如果我可以在不使用命令中的选项的情况下实现创建新的MNT命名空间unshare
,并且还可以实现为新进程创建隔离的根目录,那么MNT命名空间有什么不同的用途?
我将不胜感激专家的任何指导。
编辑:我修改了我的原始帖子,其中说更改新命名空间中的根也会更改父命名空间中的根。我不再能够重现这一点。但是我关于能够仅使用--mount-proc
选项而不使用-m
with来创建新的 MNT 命名空间的问题unshare
仍然存在。
man unshare
的--mount-proc
提及描述因此,实际上
--mount-proc
意味着-m
,以及您所看到的所有后果。这没什么不同,它是一个新的私有挂载命名空间。该
-m
选项本身仍然有用,因为没有/proc
.