绑定挂载目录后卸载设备:安全吗?

Pet*_*den 10 linux mount fstab bind-mount

我有一个主分区,它由同一个盒子上的多个发行版共享。我正在使用bind来自fstab. 每个 Linux 安装都有这样的内容:

UUID=[...]       /mnt/data  ext4  nodev,nosuid   0 2
/mnt/data/arch   /home      none  defaults,bind  0 0
/mnt/data/files  /files     none  defaults,bind  0 0
Run Code Online (Sandbox Code Playgroud)

缺点是,当然,这/mnt/data/arch/mnt/data/files现在安装的两倍。凭直觉,我尝试了umount /mnt/data,这似乎如我所愿:根据mount,该设备现在仅安装到/home/files

我的问题是:

  1. 这是安全的,还是我忽略了什么?
  2. 是否有可能获得与umount /mnt/data仅使用相同的效果fstab?或者我可以在里面做rc.local吗?

Gil*_*il' 9

卸载绑定安装的副本之一是安全的。运行后mount --bind /foo /bar,内核不会跟踪哪个/foo或哪个/bar先出现,它们是同一文件系统(或文件系统的一部分)的两个挂载点。

请注意,如果/foo是挂载点但/foo/wibble不是,mount --bind /foo/wibble /bar/bar指向挂载在/foo. 卸载还是可以的/foo

因此,如果您挂载/mnt/data,然后将它的一部分绑定到/homeand /files,然后卸载/mnt/data,您最终将无法访问/mnt/data外部archand的部分files。如果这不打扰你,那就去吧。

您无法通过fstab以下方式实现:它仅支持挂载文件系统。绑定挂载通过 hackbind进入(挂载选项--bindmount内部变成了命令的选项)。mount --move并且无法在fstab. 您可以使用/etc/rc.local调用umount.