在我的 Arch Linux 系统(Linux Kernel 3.14.2)上,绑定挂载不遵守只读选项
# mkdir test
# mount --bind -o ro test/ /mnt
# touch /mnt/foo
Run Code Online (Sandbox Code Playgroud)
创建文件/mnt/foo
。相关条目/proc/mounts
是
/dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)
安装选项不符合我要求的选择,但这样做同时匹配绑定的读/写性能和安装使用的选项最初安装/dev/sda2
上/
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)
但是,如果我重新安装挂载,则它尊重只读选项
# mount --bind -o remount,ro test/ /mnt
# touch /mnt/bar
touch: cannot touch ‘/mnt/bar’: Read-only file system
Run Code Online (Sandbox Code Playgroud)
和相关条目 /proc/mounts/
/dev/sda2 /mnt ext4 ro,relatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)
看起来像我所期望的(尽管实际上我希望看到test
目录的完整路径)。on/proc/mounts/
的原始挂载入口也没有变化,保持读/写/dev/sda2/
/
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)
这种行为和解决方法至少从 …