
我在/tmp
目前的 Ubuntu (22.04.2) 上遺失了文件,可能與虛擬化有關。任何見解表示讚賞。這不是正常的清理工作;文件立即遺失。
我有兩個系統:一個遠端 VPS 和一個本地臨時系統,兩者都運行相同的軟體。在兩個系統上,/tmp
都不是tmpfs
;它是安裝在 的 LVM 磁碟區組的一部分/
。
Apacheprogram1
緊接著運作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
始終保留該程式碼,但我不明白發生了什麼 - 似乎檔案刪除在某處觸發了整個目錄的刪除。