Directory-Structure

為什麼應用程序使用 /var/lib 來儲存數據?

  • June 29, 2020

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.

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