我试图隐藏已安装文件系统上的一些目录(这与安全无关,只是美观)。我定期安装文件系统,/mnt/data
并希望使用 aufs 用适当的白色覆盖目录,如下所示:
# ls -lA /mnt/data
total 12
drwx------ 2 root root 4096 Jul 28 18:26 dir1
drwx------ 2 root root 4096 Jul 28 18:26 dir2
drwx------ 2 root root 4096 Jul 28 18:26 dir3
# ls -lA /mnt/overlay
total 8
-r--r--r-- 2 root root 0 Jul 28 18:27 .wh..wh.aufs
-r--r--r-- 2 root root 0 Jul 28 18:27 .wh.dir2
drwx------ 2 root root 4096 Jul 28 18:27 .wh..wh.orph
drwx------ 2 root root 4096 Jul 28 18:27 .wh..wh.plnk
# mount -t aufs -o br:/mnt/overlay:/mnt/data none /mnt/test
# ls -lA /mnt/test
total 8
drwx------ 2 root root 4096 Jul 28 18:26 dir1
drwx------ 2 root root 4096 Jul 28 18:26 dir3
到目前为止,一切都很好。现在,任何新创建的文件/mnt/test
都应该写入分支/mnt/data
,因此我尝试将/mnt/overlay
分支设为只读:
# umount /mnt/test
# mount -t aufs -o br:/mnt/overlay=ro+wh:/mnt/data=rw none /mnt/test
mount: warning: /mnt/test seems to be mounted read-only.
这就是我陷入困境的地方:尽管有一个可写分支,为什么联合挂载是只读的?我只能想象,rw
如果一个分支上面有一个只读分支,那么它就不可能存在——我在aufs 文档然而,“在多个可写分支中选择一个的策略”部分内容如下:
如果策略选择的分支上方有一个具有“wh”属性的只读分支,...
我会解释这一点,以便它应该是可能的。那么我还缺少其他东西吗?
答案1
aufs br 中的第一个分支需要是 rw 以便联合体可写。如果您选择第一个分支为 ro,则联合将安装为只读。