Filesystems

如果 /var/tmp 位於臨時文件系統上,會出現什麼問題?

  • August 11, 2013

我已經讀過我不應該將 /var/tmp 掛載為臨時文件系統(例如,作為 tmpfs),因為 /var/tmp 中的文件不能在重新啟動時被刪除。那是對的嗎?

假設我將 /var/tmp 掛載為 tmpfs,因此每次重新啟動時都會刪除其內容。那會很糟糕嗎?如果是,會出現什麼問題?會有多糟糕?

中的文件/var/tmp預計將在重新啟動後保持不變。來自FHS

/var/tmp 目錄可用於需要在系統重新啟動之間保留的臨時文件或目錄的程序。因此,儲存在 /var/tmp 中的數據比 /tmp 中的數據更持久。

中的文件/var/tmp通常是記憶體文件或臨時文件,在突然斷電的情況下不應消失。但不能指望他們永遠活著。按計劃清除舊文件是很常見/var/tmp的。

以下是/var/tmp’s 的一些用法範例:

  • vi 的一些實現(例如nvi)將它們的崩潰恢復文件放在/var/tmp. 如果那是一個臨時文件系統,你就沒有機會恢復任何東西。Vim 將它的崩潰恢復文件放在與正在編輯的文件相同的目錄中。
  • 我使用允許我在 Vim 中編輯文本欄位的 Firefox 外掛。為此,外掛在/var/tmp(/tmp雖然是預設設置) 創建了一個臨時文件,並將該文件傳遞給 Vim。如果我在使用此功能時電腦斷電,我的寫作將在/var/tmp.
  • 文本編輯工具,例如ex並將sudoedit臨時文件放入 /var/tmp. 如果/var/tmp安裝為 tmpfs,您將面臨因意外電源故障而失去數據的風險。
  • 手冊頁有以下git-archive(1)範例。

git archive –format=tar –prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)創建一個 tar 存檔,其中包含 目前分支

上最新送出的內容,並將其解壓縮到 /var/tmp/junk 目錄中。

可能/var/tmp選擇了該目錄,以便提取的存檔內容不會因突然斷電而失去。

  • 由於/var/tmp定期清除但不會意外清除,因此通常會在此處儲存臨時日誌和測試數據庫。例如,在arpd 手冊頁中,/var/tmp為了一些範例,它被用作測試數據庫的位置。

arpd -b /var/tmp/arpd.db

啟動 arpd 以收集免費的 ARP,但不會干擾核心功能。

總之,如果您 /var/tmp作為 tmpfs 掛載,您的系統不太可能遭受嚴重損壞。這樣做可能是不可取的,因為您可能會因電源故障和重新啟動而失去資訊。

引用自:https://unix.stackexchange.com/questions/86297