为什么即使重启后某个目录仍然始终存在于 /tmp 中?

为什么即使重启后某个目录仍然始终存在于 /tmp 中?

我正在使用 Ubuntu 20.04.3。我记得过去创建过一个目录/tmp/myWork。我通常在该目录中工作:下载文件、在使用某些软件时保存临时文件等。

但是,当我重启机器时,该目录始终存在,但它是空的。我想知道为什么我重启时它没有被删除?为什么它的内容被删除,但目录本身没有被删除?

为了防止目录的权限很重要,我将其包含在这里:

ls -alF /tmp | grep myWork
drwx------  3 user user      4096 Jan  4 17:34 myWork/

有任何想法吗?

编辑:

以下是输出df /tmp/myWork

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sdb1      960379920 852343804  59181692  94% /

编辑2:

$ grep -F '17:34' /var/log/syslog

Jan  4 08:17:34 probook systemd[513982]: Started Application launched by gnome-shell.
Jan  4 08:17:34 probook PackageKit: resolve transaction /34190_abadddeb from uid 1000 finished with success after 598ms
Jan  4 17:34:07 probook gnome-shell[514206]: ../clutter/clutter/clutter-actor.c:10558: The clutter_actor_set_allocation() function can only be called from within the implementation of the ClutterActor::allocate() virtual function.
Jan  4 17:34:42 probook gnome-shell[514910]: [514911:514911:0104/173442.538073:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 1155.  Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)
Jan  4 17:34:42 probook gnome-shell[514910]: [514911:514911:0104/173442.538578:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 1155.  Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)

答案1

重启后内容的命运/tmp取决于几个因素。

tmpfs在使用 的系统上/tmp/tmp每次重启后都会为空,因为在重启后(甚至在 之后)tmpfs不会保留。我的系统不使用,并且我没有覆盖默认值。umountmountUbuntu 20.04.3tmpfs/tmp

/tmp在以作为简单子目录(或作为持久文件系统上的挂载点)的系统上/,重启后的内容/tmp取决于 的配置systemd-tmpfiles

我的Ubuntu 20.04.3系统有以下几行/usr/lib/tmpfiles.d/tmp.conf

# Clear tmp directories separately, to make them easier to override
D /tmp 1777 root root -

man tmpfiles.d包括该字段的以下描述age

If omitted or set to "-", no automatic clean-up is done.

排除在启动时创建目录的可能性的一个简单方法是手动将其删除,然后重新启动,但现有目录在重新启动后仍然存在的可能性似乎更大。

相关内容