我有一个主分区,由同一个盒子上的多个发行版共享。我正在使用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
。
我的问题是:
- 这是安全的,或者我忽略了什么?
- 是否可以得到与
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
.