使用创建的子文件夹在启动时挂载 tmpfs 文件夹(易失性)

mar*_*arc 5 linux debian fstab tmpfs

当前使用 Debian 9.5 和此fstab文件:

# /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
Run Code Online (Sandbox Code Playgroud)

现在,如果该文件夹/var/volatile不存在,则会创建该文件夹 ( x-mount.mkdir)。/var/volatile/subfolder在安装过程成功后创建子文件夹(例如)的正确方法是什么?

我希望在 systemd 继续执行其任务直至完成启动之前创建此子文件夹。

mar*_*arc 4

在探索了 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:

d       /var/volatile/subfolder 0755 root root - -
Run Code Online (Sandbox Code Playgroud)

并重新加载。

  • 为什么大家总是满足于重启?` sudo systemd-tmpfiles --create` 将在不重新启动的情况下执行此操作 (2认同)