在/tmp
tmpfs上,我知道我可以使用一个条目/etc/fstab
,但我不明白有时/etc/default/tmpfs
提到的作用,以及在什么情况下我需要创建或修改它。
最近,我经常看到有人建议使用 systemdtmp.mount
配置。例如,在 Debian 上:
$ sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/
$ sudo systemctl enable tmp.mount
这两种方法哪一种更适合日常使用?在什么情况下一种比另一种更好?我什么时候需要处理/etc/default/tmpfs
?
在某些系统上,默认情况下
/tmp
是 atmpfs
,这是systemd 的“API 文件系统”提供的配置。基于 Fedora 的系统在不同程度上遵循这种模式。Fedora 本身发布/usr/lib/systemd/system/tmp.mount
并启用它,但 RHEL 8 发布它并没有启用它。在这样的系统上,屏蔽和取消屏蔽单元是禁用或启用 的适当方法tmpfs
/tmp
,如 API 文件系统文档中所述。其他系统(例如 Debian )不会
tmp.mount
在可直接使用的位置发布;这就是为什么/etc/systemd/system
如果你想使用它,你需要将它复制到。tmp.mount
这具有创建完全覆盖in的不幸副作用/etc
,这意味着如果systemd
包在未来发布了不同版本的tmp.mount
in/lib/systemd/system
,它将被忽略。在这样的系统上,我建议使用/etc/fstab
。在这两种设置中,自定义坐骑
/etc/fstab
仍然是推荐的方式,例如更改它们的大小;说/tmp
man systemd.mount
和API 文件系统文档同意。
建议对工具使用安装单元,即自动配置:
(这意味着想要自动设置挂载的工具不应该尝试编辑
/etc/fstab
,这很容易出错,而应该安装一个挂载单元,这可以自动完成,也可以由系统管理员使用 systemd 覆盖特征。)/etc/default/tmpfs
由 Debian 使用sysvinit
,因此它与 systemd 无关。