Directory-Structure
為什麼應用程序使用 /var/lib 來儲存數據?
MySQL、fail2ban 和許多其他伺服器應用程序將它們的數據儲存在 /var/lib 中。
他們是否使用正確的目錄?
如果是這樣,為什麼將其命名為 lib,這意味著庫?
/var/lib
確實是正確的目錄;如文件系統層次標準中所述,此層次結構保存與應用程序或系統有關的狀態資訊。狀態資訊是程序在執行時修改的數據,它屬於一個特定的主機。使用者永遠不需要修改文件
/var/lib
來配置包的操作,並且用於儲存數據的特定文件層次結構不得暴露給普通使用者。該
/var/lib
目錄在 1.1 版中添加到 FSSTND(FHS 的祖先),它提供了討論的時間表(1994 年 2 月至 10 月之間),但我無法找到 FSSTND 郵件列表的存檔來檢查。我懷疑這個lib
名字是用來並行/usr/lib
的,不是因為後者儲存庫,而是因為它儲存“不向普通使用者公開”的/usr/lib
文件:儲存對系統操作至關重要但也不向普通使用者公開的文件. 使用可能/var/lib
早於其在 FSSTND 中的集成。如今,人們可能期望
/srv
成為一種更好的選擇,但這已被明確排除在外:如果數據的目錄和文件結構沒有暴露給消費者,它應該進入
/var/lib
.