我有一个自定义的 Linux 发行版(基于 debian),它有很多自定义工具,例如更改系统配置(如网络等)。
这些配置文件是 .json 文件(我知道,不是真正的 Linux),它们是从自定义生成器中读取的,这些生成器基本上从相应的 Linux 配置中的我的配置文件生成值。这些生成器是在sysinit.target中调用的 systemd 单元。
我在 /etc/fstab 中有一个默认条目,它被生成器覆盖。之后我执行sudo -o remount /tmp
以正确的大小重新挂载 tmpfs。这有时似乎有效,但有时重新安装会失败并出现以下错误:not located or bad option。我想这是一个时间问题。
我还了解到这可以仅使用 systemd (tmp.mount)来实现。这适用于我的特定用例吗?是否可以在引导过程中生成tmp.mount的单元文件,以便以正确的大小挂载 tmpfs?
一切都必须自动化。没有手动拦截的余地。
一种方法是确保您的发电机仅在
/tmp
已安装时运行。您可以RequiresMountsFor=
在服务单元的 systemd 单元文件中使用该依赖项:另一种方法是使用标志设置默认/占位符
/tmp
条目,然后仅在生成器设置所需大小后显式挂载。即在当前使用重新安装的地方运行安装命令。/etc/fstab
noauto
/tmp
第三种选择是完全取消输入
/tmp
,/etc/fstab
让生成器脚本生成并执行systemd-mount [OPTIONS...] --tmpfs [NAME] WHERE
命令行以挂载/tmp
为 tmpfs。