tmpfs 上的 tmp:fstab 与 tmp.mount 使用 systemd

Ale*_*xey 2 mount fstab systemd tmp tmpfs

对于/tmptmpfs,我知道我可以使用 中的条目,但我不明白有时提到/etc/fstab的作用,以及在什么情况下我需要创建或修改它。/etc/default/tmpfs

最近,我经常看到建议使用systemdtmp.mount配置。例如,在 Debian 上

$ sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/
$ sudo systemctl enable tmp.mount
Run Code Online (Sandbox Code Playgroud)

这两种方法哪一种更适合日常使用?在什么情况下,一种比另一种更好?我什么时候需要处理/etc/default/tmpfs

Ste*_*itt 6

在某些系统上,默认情况下/tmp是 a ,这是systemd\xe2\x80\x99s \xe2\x80\x9cAPI File Systems\xe2\x80\x9d 提供的tmpfs配置。基于 Fedora 的系统在不同程度上遵循这种模式;Fedora 本身附带并启用了它,但 RHEL 8 附带了它但没有启用它。在此类系统上,屏蔽和取消屏蔽单元是禁用或启用 的适当方法,如 API 文件系统文档中所述/usr/lib/systemd/system/tmp.mounttmpfs /tmp

\n

其他系统(例如 Debian)不位于tmp.mount可直接使用的位置/etc/systemd/system这就是为什么如果你想使用它,你需要将其复制到。这有一个不幸的副作用,即创建对tmp.mountin的完全覆盖/etc,这意味着如果systemd包将来发布不同版本的tmp.mountin /lib/systemd/system,它将被忽略。在这样的系统上我建议使用/etc/fstab

\n

在这两种设置中,仍然是推荐的定制安装/etc/fstab方式,例如更改其尺寸;说/tmpman systemd.mount

\n
\n

一般来说,通过配置挂载点/etc/fstab是管理人类挂载的首选方法。

\n
\n

API 文件系统文档也同意这一点。

\n

建议对工具使用安装单元,用于自动配置:

\n
\n

对于工具,编写安装单元应优先于编辑/etc/fstab

\n
\n

(这意味着想要自动设置挂载的工具不应该\xe2\x80\x99尝试编辑/etc/fstab,这很容易出错,而应该安装一个挂载单元,它可以原子地完成,也可以被使用 systemd 功能的系统管理员。)

\n

/etc/default/tmpfs由 Debian\xe2\x80\x99s 使用sysvinit,因此它\xe2\x80\x99s 与 systemd 无关。

\n