如何配置 Fedora / RedHat / CentOS 在启动时删除 /tmp 中的文件

如何配置 Fedora / RedHat / CentOS 在启动时删除 /tmp 中的文件

如何配置 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 挂载的所有更改:

  1. 确保挂载没有被禁用:

    systemctl unmask tmp.mount
    

    如果此命令失败,请先解决问题,然后再继续。

  2. 进入单用户模式。您需要在控制台上才能进行此操作。

    systemctl start rescue.target
    
  3. 清空/tmp硬盘上的目录,以清除已用的空间。

    rm -rf /tmp
    mkdir -m 1777 /tmp
    
  4. 在 CentOS 7 上,您需要明确启用挂载。在 Fedora 上,您可以跳过此步骤。

    systemctl enable tmp.mount
    
  5. 重新启动系统。

    systemctl start default.target
    

相关内容