ransh Asked: 2018-10-09 09:55:05 +0800 CST2018-10-09 09:55:05 +0800 CST 2018-10-09 09:55:05 +0800 CST rootfs 只读 vs overlayfs 772 由于安全问题,我们需要一个只读的 rootfs(不能更改闪存中的 FS)。其他可写分区可以与只读 rootfs 一起使用(例如用于日志)。 就简单性而言,我们宁愿使用 rootfs 只读方式,而不是overlayfs. 然而,我担心某些进程可能会尝试写入 rootfs,然后会失败。 我们的系统非常小而且极小,它只有一两个进程。(但也包含selinux和auditd)。 在 Linux 系统中是否总是可以将 rootfs 用作只读,或者在这种情况下是否需要使用 overlayfs? root readonly 1 个回答 Voted Best Answer Gilles 'SO- stop being evil' 2018-10-09T11:59:53+08:002018-10-09T11:59:53+08:00 绝对有可能拥有一个只读的根文件系统。这在服务器类型或工作站类型的安装中不方便且不常见,但在嵌入式系统上很常见。只读根文件系统有一些限制,主要是: 你不能在上面升级任何东西或添加任何软件(除了在其他文件系统上,例如/usr/local在一个单独的分区上)。如果您通过替换整个闪存中的文件系统映像进行升级,这不是问题。 您无法重新配置/etc. 这意味着任何配置都必须以不同的方式完成;典型的解决方案包括: 通过其他目录中的文件(然后您需要以不同方式配置应用程序); 通过符号链接到另一个目录; 动态地,例如通过从 NVRAM 读取配置变量的脚本。 典型的受影响数据包括网络配置、时区、用户认证信息等。 如果将相同的文件系统映像部署到多台机器上,则需要将所有特定于机器的数据安排在文件系统映像之外。这包括主机名、SSH 服务器密钥等。 您通常需要一些持久性可写文件/var,例如日志/var/log和随机种子文件(除非您有硬件 RNG,否则需要)。
绝对有可能拥有一个只读的根文件系统。这在服务器类型或工作站类型的安装中不方便且不常见,但在嵌入式系统上很常见。只读根文件系统有一些限制,主要是:
/usr/local
在一个单独的分区上)。如果您通过替换整个闪存中的文件系统映像进行升级,这不是问题。您无法重新配置
/etc
. 这意味着任何配置都必须以不同的方式完成;典型的解决方案包括:典型的受影响数据包括网络配置、时区、用户认证信息等。
/var
,例如日志/var/log
和随机种子文件(除非您有硬件 RNG,否则需要)。