创建一个“只读”文件系统,仍然可以更新包

创建一个“只读”文件系统,仍然可以更新包

我想以大多数时间只读的方式配置我的系统(raspbian)。我有一个每隔几天/几周运行一次的脚本,它会更新所有重要的已安装软件包,以便我保持最新状态。

我读过我只需要添加几行

tmpfs   /tmp            tmpfs   nodev,nosuid 0 0
tmpfs   /var/log        tmpfs   nodev,nosuid 0 0
tmpfs   /var/tmp        tmpfs   nodev,nosuid 0 0
tmpfs   /var/cache      tmpfs   nodev,nosuid 0 0
tmpfs   /home/pi/.cache     tmpfs   nodev,nosuid 0 0
# maybe some other dirs as well?

to ,我也/etc/fstab必须设置默认值//bootto 。ro

我还读到我只需要运行命令

$ sudo -o remount,rw /
$ sudo -o remount,rw /boot

能够更新并运行相同的命令,但不是ro再次rw启用只读。

我还阅读了一些有关使用overlayFS的内容,但是这是必要的还是建议的?或者上述步骤足以实现我的目标吗?

答案1

“只读”和“需要更新”是对系统有争议的要求。只读 fs (root) - 是用于生产的 linux-box 属性。减少不必要的侧面干扰的机会。稳定性更有保障。

如果 linux-box 发行版正在构建中,则需要更新。

常见做法 - 将开发平台根保留在 RW 中,然后在发布时将其冻结到 RO 并用它解决一系列问题(某些服务/应用程序绝对没有为 RO 做好准备,尤其是 python 模块)。

但是,如果您的系统如此特别。我认为,您需要三思而后行地考虑 RO 区域和 RW 区域。 Linux挂载系统非常灵活。您可以管理 /usr/lib/ 或其他内容的每个条目。制作一张严格的冻结发行版 = RO 区域和可更新发行版 - RW 区域的地图。对可更新的内容进行双重检查。制定一些程序来避免黑客攻击。没有 root 帐户,没有泄漏的访问协议,等等。

相关内容