我正在使用mount --bind
附加另一条路径下的某个目录(它是系统的一部分,该系统保存镜像的多个副本,其中一些副本与其他副本略有不同,但我不希望某些部分重复,例如 ISO)。
问题是我真的希望绑定挂载是只读的,但是当我写入/etc/fstab
这些挂载具有选项ro,bind
和问题时mount -a
,我得到了这个:
mount: warning: /some/target/path seems to be mounted read-write.
事实确实如此 - 看起来该ro
选项被忽略了,并且警告可能是因为 mount 在完成后重新检查了挂载。
根据 mount 手册页:
请注意,文件系统挂载选项将与原始挂载点上的选项保持一致,并且无法通过传递 -o 选项和 --bind/--rbind 来更改。挂载选项可以通过单独的 remount 命令来更改
给出的解决方案是发出mount
命令后跟mount -o remount,ro
- ,但在用于挂载时效果不佳/etc/fstab
。有什么办法可以解决这个问题吗?
答案1
我在 Debian 上找到了对我有用的答案。它来自:
http://www.sagui.org/~gustavo/blog/fedora/read-only-bind-mount.html
/source/dir /destination/dir none bind 0 0
/source/dir /destination/dir none remount,bind,ro 0 0
如果这不起作用,您可以将挂载命令放在 rc.local 中。这很丑陋。
答案2
我想说,最简单的办法就是克服让挂载点只读的愿望。根据提供的信息,我认为没有必要这样做。
答案3
/source/dir /destination/dir none bind 0 0
/source/dir /destination/dir none remount,bind,ro 0 0
经我测试,这在 ubuntu 14.04 X 64 OS 上不可用