Jazz Len says to Ubuntu 台灣社群
深入解析 Debian 13 /tmp:有哪些新變動,不習慣時該怎麼辦 (★ 92 分) Debian 13(Trixie)將 /tmp 目錄從傳統磁碟檔案系統移到記憶體,採用 tmpfs(臨時檔案系統,內容儲存在虛擬記憶體中)。tmpfs 存取速度極快且具備臨時特性,系統重開機或內建清理機制後會自動清空,凸顯 /tmp 本為暫存或分頁用途,不宜存放長期資料。文章並引用一則都市傳說,說明使用者誤將專案成果置於 /tmp 而重開機後全部遺失,強調只能將短期檔案如暫存日誌或 PHP 會話檔放入此處。RedHat 等發行版早已率先採用此做法。 由於 tmpfs 內容存於實體記憶體,Debian 預設只將可用記憶體的一半分配給 /tmp,若目錄中沒有檔案就不會佔用任何資源。系統管理員可透過 systemctl edit tmp.mount 編輯 systemd 單元檔,修改 Options=size=50%% 為如 25%% 或固定大小(例如 size=1G),並重載 systemd 後重啟 tmp.mount 即可套用。例如執行 findmnt --target /tmp 可檢視目前配置;若不想採用 tmpfs,只要執行 systemctl mask tmp.mount 並重開機,就能恢復傳統磁碟式 /tmp。 Debian 13 也引入自動清理機制,由 systemd-standalone-tmpfiles 管理的 tmpfiles.d 會將 /tmp 中最後使用超過 10 天的檔案刪除(並在每次重開機時清空),/var/tmp 則在 30 天後刪除但不隨重開機清空。管理員可透過修改 tmpfiles.d 範本自訂保留天數或排除特定檔案,對絕大多數使用者而言,預設策略已相當足夠。 Hacker News 討論中,多位使用者認為將 /tmp 採用 tmpfs 可減少固態硬碟(如 SSD、eMMC/SD 卡)的寫入次數,延長裝置壽命,並在低階 VPS 或慢速儲存裝置上降低 I/O 延遲。不過,也有人指出若系統記憶體吃緊而開始換頁,tmpfs 檔案會被換出至分頁空間 swap,導致讀取速度反而比直接存放於磁碟更慢;在未設定 swap 時,核心則會將程式頁面換出,影響效能。另有聲音憂心自動清理機制可能意外移除仍在使用的暫存檔,建議有持久需求時改置於 /var/tmp,或依需求停用此功能。整體而言,多數人肯定 tmpfs 所帶來的彈性與便利,但強調務必依實際情境調整或關閉該機制。 👥 57 則討論、評論 💬 https://news.ycombinator.com/item?id=45059470