在 Ubuntu Server 22.04 上,我在/scratch
. 我替换/tmp
为一个符号链接,/scratch/tmp
以便将临时文件存储在 SSD 上:
$ ls -l /tmp
lrwxrwxrwx 1 root root 12 Jan 13 16:22 /tmp -> /scratch/tmp
这似乎有一个障碍: 的内容/tmp
在重新启动时不再被删除,正如我所期望的那样。我怎样才能做到这一点?
在 Ubuntu Server 22.04 上,我在/scratch
. 我替换/tmp
为一个符号链接,/scratch/tmp
以便将临时文件存储在 SSD 上:
$ ls -l /tmp
lrwxrwxrwx 1 root root 12 Jan 13 16:22 /tmp -> /scratch/tmp
这似乎有一个障碍: 的内容/tmp
在重新启动时不再被删除,正如我所期望的那样。我怎样才能做到这一点?
临时文件在 Ubuntu 中由
systemd-tmpfiles
相关服务清理/lib/systemd/system/systemd-tmpfiles-clean.service
,并且可以在内部配置所述文件的配置/etc/tmpfiles.d/*.conf
(另请参阅此答案)。要包含您描述的目录,请创建一个配置文件:
然后在其中包含此内容:
该
e
类型定义这是一个已存在但应清除的“标记”目录。年龄设置20m
将清除所有超过 20 分钟的文件(见下面的解释)。如果类型是
d
,目录将在不存在时创建,并在重启时和每天清理。请注意,触发该服务的计时器(位于
/lib/systemd/system/systemd-tmpfiles-clean.timer
)设置为在启动后运行 15 分钟,因此在正常运行 15 分钟后才会在重新启动时看到实际效果。有关详细信息,请参阅联机帮助页。
tmpfiles.d