Ubuntu/Apache:/tmp 檔案意外刪除

Ubuntu/Apache:/tmp 檔案意外刪除

我在/tmp目前的 Ubuntu (22.04.2) 上遺失了文件,可能與虛擬化有關。任何見解表示讚賞。這不是正常的清理工作;文件立即遺失。

我有兩個系統:一個遠端 VPS 和一個本地臨時系統,兩者都運行相同的軟體。在兩個系統上,/tmp都不是tmpfs;它是安裝在 的 LVM 磁碟區組的一部分/

Apacheprogram1緊接著運作program2

  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始終保留該程式碼,但我不明白發生了什麼 - 似乎檔案刪除在某處觸發了整個目錄的刪除。

相關內容