tmpfs 中的 /tmp,如何仅使用 systemd 来实现?

tmpfs 中的 /tmp,如何仅使用 systemd 来实现?

我现在有一台装有 Ubuntu 18.04 的笔记本电脑,我很喜欢它。我已通过/etc/fstab如下行将 /tmp 安装为 tmpfs:

tmpfs           /tmp            tmpfs   defaults,noatime,nosuid,nodev,noexec,mode=1777    0       0

现在,我想知道我如何才能做到这一点systemd,我只需要激活一项新systemd服务(tmp.mount相关),或者我还需要做一件事?如何在实时模式下用笔记本电脑替换我的实际/etc/fstab线路?systemd

答案1

请注意,使用/etc/fstabsystemd 仍然是首选方法!

请参阅手册页systemd.mount其中指出:

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

systemd 船舶systemd-fstab 生成器将其转换为安装单位。


如果您确实想将该挂载转变为挂载单元,我建议您使用以下命令检查其当前的精确配置:

$ systemctl cat tmp.mount

或者:

$ systemctl cat /tmp

这将显示由 systemd-fstab-generator 创建的动态单元,看起来类似于:

# /run/systemd/generator/tmp.mount
# Automatically generated by systemd-fstab-generator

[Unit]
SourcePath=/etc/fstab
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
Before=local-fs.target

[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=noatime,nosuid,nodev,noexec,mode=1777

您可以将这些内容保存到/etc/systemd/system/tmp.mount并运行systemctl enable tmp.mount以激活它。(您需要添加一个[Install]部分和一个WantedBy=local-fs.target才能成功启用它。)

(另一种选择是使用tmp.mount来自 systemd 源。其他一些发行版(如 Fedora)也提供并启用了该版本。)

不要忘记从中删除一个/etc/fstab,否则它们可能会发生冲突。(我相信 fstab 中的那个会占上风,因为我希望它/run优先于/etc。)

但是,正如之前所说,通过管理/etc/fstab仍然是首选解决方案...所以我可能会建议您仍然坚持那个。

相关内容