如何使用绑定挂载隐藏原始挂载点?

如何使用绑定挂载隐藏原始挂载点?

我使用 OpenMediaVault,这是一个基于 Debian Wheezy 的 NAS 软件。该系统通常将文件系统挂载在/media/,但是键入和识别起来很麻烦。

因此,我修改了fstab文件以将两个文件系统绑定到不同的位置。检查我的文件的最后两行fstab

UUID=e2063e64-379f-4d8f-a8c4-75c1439636d6 /             ext4    errors=remount-ro    0 1
UUID=e5187843-c48d-411c-8716-fc35901d7901 none          swap    sw                   0 0

# >>> [openmediavault]
UUID=4d98f9b3-512f-4d8b-96c6-4c6c4caaab40 /media/4d98f9b3-512f-4d8b-96c6-4c6c4caaab40 xfs defaults,nofail,noexec,usrquota,grpquota 0 2
UUID=52efb2d8-3120-4113-88b0-01531f784ae7 /media/52efb2d8-3120-4113-88b0-01531f784ae7 ext4 defaults,nofail,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
# <<< [openmediavault]

# Remount /home with executable permissions
UUID=52efb2d8-3120-4113-88b0-01531f784ae7 /media/52efb2d8-3120-4113-88b0-01531f784ae7 none remount,exec 0 0

# Bind mount already-mounted filesystems to additional locations
/media/4d98f9b3-512f-4d8b-96c6-4c6c4caaab40 /storage none bind 0 0
/media/52efb2d8-3120-4113-88b0-01531f784ae7 /home none bind 0 0

这工作得很好,但有一个小“问题”。列出所有已安装分区的应用程序将具有这两个安装的重复安装点,一个来自绑定安装,/media/<uuid>另一个来自绑定安装。

当然,它们都指向相同的确切位置并且都有效。但我希望这些应用程序只列出这些安装点之一和更容易识别的安装点。在我的真实示例中,即/home/storage

这可能吗?

答案1

这在某种程度上是可能的,具体取决于您使用的应用程序以及它们是否依赖 udisks2。

添加x-gvfs-hide到安装选项fstab会隐藏此类应用程序的某些安装点。

例子:

# forcibly hide device in user interface
/dev/disk/by-id/ata-HITACHI_HTS723232A7A364_E3834563KRG2HN-part1   /home/davidz/Data  auto  defaults,x-gvfs-hide 0 0

https://git.gnome.org/browse/gvfs/tree/monitor/udisks2/what-is-shown.txt

相关内容