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

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

我有一个主分区,由同一个盒子上的多个发行版共享。我正在使用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

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

我的问题是:

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

答案1

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

请注意,如果/foo是安装点,但/foo/wibble不是,mount --bind /foo/wibble /bar则指向/bar安装在 上的文件系统的一部分/foo。卸载了还是可以的/foo

因此,如果您安装/mnt/data,然后将其部分绑定到/home/files,然后卸载/mnt/data,您最终将无法访问/mnt/data外部arch和的部分files。如果这不打扰你,那就去吧。

您无法通过以下方式实现这一点fstab:它仅支持挂载文件系统。绑定挂载通过 hack 进入(bind挂载选项在内部变成命令--bind的选项mount)。mount --move并且不能在 中指定卸载fstab。您可以使用/etc/rc.local来调用umount.

相关内容