tmpfs 上的 tmp:fstab 與 tmp.mount 與 systemd
在
/tmp
tmpfs上,我知道我可以使用一個條目/etc/fstab
,但我不明白有時/etc/default/tmpfs
提到的作用,以及在什麼情況下我需要創建或修改它。最近,我經常看到有人建議使用 systemd
tmp.mount
配置。例如,在 Debian 上:$ sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/ $ sudo systemctl enable tmp.mount
這兩種方法哪一種更適合日常使用?在什麼情況下一種比另一種更好?我什麼時候需要處理
/etc/default/tmpfs
?
在某些系統上,預設情況下
/tmp
是 atmpfs
,這是systemd 的“API 文件系統”提供的配置。基於 Fedora 的系統在不同程度上遵循這種模式。Fedora 本身發布/usr/lib/systemd/system/tmp.mount
並啟用它,但 RHEL 8 發布它並沒有啟用它。在這樣的系統上,屏蔽和取消屏蔽單元是禁用或啟用 的適當方法tmpfs
/tmp
,如 API 文件系統文件中所述。其他系統(例如 Debian )不會
tmp.mount
在可直接使用的位置發布;這就是為什麼/etc/systemd/system
如果你想使用它,你需要將它複製到。tmp.mount
這具有創建完全覆蓋in的不幸副作用/etc
,這意味著如果systemd
包在未來發布了不同版本的tmp.mount
in/lib/systemd/system
,它將被忽略。在這樣的系統上,我建議使用/etc/fstab
。在這兩種設置中,自定義坐騎
/etc/fstab
仍然是推薦的方式,例如更改它們的大小;說/tmp
man systemd.mount
通常,通過配置掛載點
/etc/fstab
是為人類管理掛載的首選方法。建議對工具使用安裝單元,即自動配置:
對於工具,應該首選編寫安裝單元而不是編輯
/etc/fstab
。(這意味著想要自動設置掛載的工具不應該嘗試編輯
/etc/fstab
,這很容易出錯,而應該安裝一個掛載單元,這可以自動完成,也可以由系統管理員使用 systemd 覆蓋特徵。)
/etc/default/tmpfs
由 Debian 使用sysvinit
,因此它與 systemd 無關。