如何配置 Fedora / RedHat / CentOS 系统以像 Debian 和 Ubuntu 一样在启动时删除 /tmp 中的文件?
答案1
在较新版本(CentOS 7、Fedora 23)中,将 .conf 文件添加到“/usr/lib/tmpfiles.d”,名称无关紧要,例如将其命名为 boot.conf,但它必须与 tmp.conf 不同,单个文件中不能有两个针对同一目录的条目。添加以下行:
R! /tmp 1777 root root ~0
答案2
默认情况下/tmp
是 tmpfs,启动时不存在。要进入这种情况,您的服务器必须已经在某种程度上是非标准的:有人明确将您的系统配置为不是/tmp
启动时已清空。
因此,最好的解决方法是撤消导致/tmp
无法在启动时作为 tmpfs 挂载的所有更改:
确保挂载没有被禁用:
systemctl unmask tmp.mount
如果此命令失败,请先解决问题,然后再继续。
进入单用户模式。您需要在控制台上才能进行此操作。
systemctl start rescue.target
清空
/tmp
硬盘上的目录,以清除已用的空间。rm -rf /tmp mkdir -m 1777 /tmp
在 CentOS 7 上,您需要明确启用挂载。在 Fedora 上,您可以跳过此步骤。
systemctl enable tmp.mount
重新启动系统。
systemctl start default.target