
根據FHS、目錄/lib
和/usr/lib
均用於庫(/sbin
分別用於庫和用戶庫)。
但是資料夾呢/var/lib
?按照相同的邏輯,這個資料夾應該有類似「變數庫」的東西(聽起來很奇怪),但它實際上保存著由運行程式產生和維護的數據,或者如維基百科文章所定義的:
狀態資訊。程式運行時修改的持久數據,例如資料庫、打包系統元資料等。
/srv
從新的角度來看,將資料庫資料和服務文件放在下面而不是放在下面更有意義/var/lib
答案1
新 3.0 版本的提交中對此進行了解釋:
http://bzr.linuxfoundation.org/loggerhead/lsb/devel/fhs-spec/revision/26
具體來說,/srv/
適用於服務的檔案系統結構化數據,/var/lib/
適用於本地使用的數據。 Apache 將在 /srv 之外提供服務,因為它是分層檔案系統。 MySQL 在 /var/lib 之外提供服務,因為只有 mysqld 存取它並且它不是檔案系統分層的。
答案2
作為系統管理員1138已經提到過,FHS 3.0 在其/srv
部分對此進行了解釋,我將引用該部分:
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s17.html
如果資料的目錄和文件結構不暴露給消費者,則應該放入
/var/lib
.
添加這句話的原因是這個 FHS 錯誤。那裡,托勒夫霧軒寫道:
我認為這裡的關鍵區別在於系統管理員是否通常接觸並必須關心目錄結構。
這裡有用的部分是在/srv
系統管理中“必須關心目錄結構”。