fstab
当前使用带有此文件的 Debian 9.5 :
# /etc/fstab: static file system information.
#
/dev/mmcblk1p1 / ext4 noatime,errors=remount-ro 0 1
tmpfs /var/volatile tmpfs defaults,x-mount.mkdir 0 0
现在,如果该文件夹/var/volatile
不存在,它将被创建 ( x-mount.mkdir
)。/var/volatile/subfolder
在安装过程成功后创建子文件夹(例如)的正确方法是什么?
我希望在 systemd 继续其任务直到完成启动之前创建这个子文件夹。
解决此问题的一种方法是创建一个新的 systemd 服务(或修改现有的服务)以使用unit 指令在您的
/var/volatile
tempfs 中创建此目录。After=local-fs.target
将此添加到
/etc/systemd/system/tmpfsinit
然后执行通常的systemctl daemon-reload && systemctl enable tempfsinit
.或者,如果您已经有一个自定义的 systemd 服务,您还可以添加
After
unit 指令和命令来创建您需要的子目录到ExecStartPre
命令中。在探索了 systemd 之后,我偶然发现了一个很好的发现。事实证明,没有必要创建自定义服务来处理这个问题,因为 systemd 已经为此提供了解决方案 (
systemd-tmpfiles
)。它是一种管理临时目录和文件的结构化和可配置的方法。https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles.html https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html
只需创建一个
/etc/tmpfiles.d/volatile-subfolder.conf
包含以下内容的文件:并重新启动。