/tmp 和临时文件
/tmp 是程序仅需短时间使用的临时文件的目录。/var/tmp 用于应在重启后保留的临时文件。在许多发行版中,/tmp 会在开机时清空或作为内存中的 tmpfs,并且两者中的过期文件都由 systemd-tmpfiles 删除。
1/tmp 与 /var/tmp
文件系统层次结构标准(Filesystem Hierarchy Standard)规定,程序不得假定 /tmp 中的文件在程序运行之间得以保留,而 /var/tmp 在重启后会保留。两者均可由所有用户写入并带有粘滞位(sticky bit),因此用户只能删除自己的文件。
2自动清理
systemd-tmpfiles 从 tmpfiles.d 目录(例如 /usr/lib/tmpfiles.d/tmp.conf)读取规则,该规则通常为 /tmp 设置 10 天的保留期限,为 /var/tmp 设置 30 天的保留期限。清理工作通过 systemd-tmpfiles-clean.timer 每日运行。
3tmpfs
当 /tmp 挂载为 tmpfs 时,其文件驻留在内存(RAM)和交换分区(swap)中,并在每次重启时消失。findmnt /tmp 显示它是否为 tmpfs。
如何检查和清理 /tmp
- 检查其大小:
sudo du -sh /tmp /var/tmp - 查看它是否在内存中:
findmnt /tmp - 立即运行配置好的清理:
sudo systemd-tmpfiles --clean - 在手动删除任何内容之前列出旧文件:
sudo find /tmp -type f -atime +10
注意事项
- 删除正在运行的程序仍在使用中的
/tmp中的文件可能会导致其失败;请优先使用 systemd-tmpfiles 清理或重启。 - 不要删除正在运行的服务的套接字和锁文件。
相关文章
- 使用 find 查找大文件和旧文件如何使用 find 在 Linux 上列出大文件或旧文件、安全地预览它们,并仅删除你已检查过的内容。
- 使用 du 和 ncdu 查看磁盘使用情况如何使用 du 和交互式的 ncdu 查找 Linux 磁盘中被占满的内容,并提供保留在单个文件系统中的选项。
- 文件权限:chmod 与 chownLinux 的读、写和执行权限是如何工作的,755 和 644 的含义,以及如何安全地更改所有者和模式。
资料来源
- tmpfiles.d(5) 手册页 man7.org
- 文件系统层次结构标准 3.0:/tmp refspecs.linuxfoundation.org
说明: RainServer 为 Linux 服务器提供监控和安全清理功能;它会显示将要发生的变化并首先进行询问。
最后审核: