我对挂载选项感到困惑,例如: --bind
,--make-unbindable
并且--make-shared
你能帮我解释一下下面的命令吗?
sudo "mount --bind #{vm_bind_mount} #{vm_bind_mount}"
sudo "mount --make-unbindable #{vm_bind_mount}"
sudo "mount --make-shared #{vm_bind_mount}"
Run Code Online (Sandbox Code Playgroud)
编辑:其实,我不知道为什么有重复#{vm_bind_mount}
的mount --bind
?换句话说,mount --bind /tmp/foo /tmp/foo
有意义吗?
mount --bind
在另一个位置复制安装。例如,经过
mount --bind /foo /bar
Run Code Online (Sandbox Code Playgroud)
then/foo/something
和/bar/something
是同一个文件(通过不同路径访问)。您可以使用mount --bind
复制子树:/foo
不必是挂载点。
这很有用的一个示例是使目录树的某些部分在chroot下可用。例如,如果您运行一个以 chroot 为 chroot 的 web 服务器/srv
,但您想在 下提供文件/home/bob
,那么您可以在服务器根目录下复制(部分)Bob 的主目录:
mount --bind /home/bob/public_html /srv/home/bob
Run Code Online (Sandbox Code Playgroud)
选项--make-private
,--make-shared
,--make-slave
并--make-unbindable
提供了一些控制绑定安装及以上,如果你下安装另一个文件系统发生了什么/foo
或/bar
做之后mount --bind /foo /bar
。
/foo
或下挂载文件系统/bar
,这不会影响通过其他路径可见的内容。/foo
在执行 之前已声明为 shared mount --bind
,那么如果您稍后在/foo
或下安装某些内容/bar
,则它也可以通过其他路径看到。/foo
上共享:如果是共享的并且/bar
是从属挂载,则在/bar
其下挂载某些东西会影响其下的视图,/foo
但反之则不然。/foo
被声明为不可绑定,mount --bind /foo /bar
则将失败。从mount(8)
联机帮助页:
从 Linux 2.6.15 开始,可以将挂载及其子挂载标记为共享、私有、从属或不可绑定。共享挂载提供了创建该挂载的镜像的能力,以便任何镜像中的挂载和卸载都会传播到另一个镜像。从挂载从其主挂载接收传播,但反之则不然。私人坐骑没有传播能力。不可绑定挂载是无法通过绑定操作克隆的私有挂载。详细的语义记录在
Documentation/sharedsubtree.txt
内核源代码树的文件中。
所指的文本文件实际上是Documentation/filesystems/sharedsubtree.txt
;这是当前稳定内核中该文件的链接。
归档时间: |
|
查看次数: |
5207 次 |
最近记录: |