我在当前的 Ubuntu (22.04.2) 上丢失了文件/tmp
,可能与虚拟化有关。任何见解都值得赞赏。这不是正常的清理;文件会立即丢失。
我有两个系统:一个远程 VPS 和一个本地暂存系统,它们都运行相同的软件。在这两个系统上,/tmp
都不是tmpfs
;它是安装在 的 LVM 卷组的一部分/
。
Apache 运行program1
并program2
立即执行:
program1
在 下创建一个新的子目录/tmp
,其中包含 2 个文件:file1
(Python 源文件)和file2
的输出file1
。如果启用了调试,file1
则会保留;否则,在创建后会将其删除file2
(带有 C 库remove
)program2
返回file2
给客户
这一切都在暂存系统上按预期工作。如果启用了调试,新/tmp/xxx
目录仍位于文件系统上,并包含file1
和file2
。如果未启用调试,则它仅包含file2
。
在 VPS 上:
- 如果调试不是启用后,一切正常,但下面什么也没有留下
/tmp
- 如果调试是已启用,
program2
失败,报告file2
不存在
我已经通过删除 C lib 来“修复”代码remove
,因此它file1
始终被保留,但我不明白发生了什么 - 似乎文件删除在某处触发了整个目录的删除。