Ubuntu/Apache:/tmp 文件意外被删除

Ubuntu/Apache:/tmp 文件意外被删除

我在当前的 Ubuntu (22.04.2) 上丢失了文件/tmp,可能与虚拟化有关。任何见解都值得赞赏。这不是正常的清理;文件会立即丢失。

我有两个系统:一个远程 VPS 和一个本地暂存系统,它们都运行相同的软件。在这两个系统上,/tmp都不是tmpfs;它是安装在 的 LVM 卷组的一部分/

Apache 运行program1program2立即执行:

  1. program1在 下创建一个新的子目录/tmp,其中包含 2 个文件:file1(Python 源文件)和file2的输出file1。如果启用了调试,file1则会保留;否则,在创建后会将其删除file2(带有 C 库remove
  2. program2返回file2给客户

这一切都在暂存系统上按预期工作。如果启用了调试,新/tmp/xxx目录仍位于文件系统上,并包含file1file2。如果未启用调试,则它仅包含file2

在 VPS 上:

  1. 如果调试不是启用后,一切正常,但下面什么也没有留下/tmp
  2. 如果调试已启用,program2失败,报告file2不存在

我已经通过删除 C lib 来“修复”代码remove,因此它file1始终被保留,但我不明白发生了什么 - 似乎文件删除在某处触发了整个目录的删除。

相关内容