Directory-Structure
FHS 3.0 在哪裡儲存共享數據?
我正在開發一個符合 FHS2 的應用程序,該應用程序用於將數據儲存在
$sharedstatedir
(即$(prefix)/com
,例如/usr/local/com
)中。這個目錄在 FHS 3.0 中已經沒有了,看來我們需要開始使用
/var/lib
, 它應該儲存可變狀態資訊
或更詳細地說,
與應用程序或系統有關的狀態資訊。狀態資訊是程序在執行時修改的數據,它屬於一個特定的主機。
或者
/var/local
, 它應該儲存可變數據
/usr/local
(沒有提供關於 的更多資訊
/var/local
。)我們應該使用其中哪一個?
額外的問題:是否有
/var/lib
/的變數/var/local
,類似於sharedstatedir
我們應該使用的和朋友,或者我們應該簡單地將路徑硬編碼到我們的 makefile 中?
你應該選擇
/var/lib
。
/usr/com
在 FHS 2.3 或 FHS 3 中不存在。 FHS 2.3 FHS 3.0
sharedstatedir
是GNU autotools和GNU 編碼標準中的一個概念GNU 和 freestandards.org 並不總是一致的。
您提到的問題出現在2006 年的郵件列表文章中。在 Red Hat 的情況下,結論是使用
/var/lib
從技術上講,如果您正在開發一個預設
prefix
為. 但我不相信任何人在實踐中這樣做。一方面,請注意您的系統上可能是空的。對於兩個,請注意,一旦您或任何執行更改為 的人,您將無法使用,而唯一剩下的選項是。/usr/local``/var/local``/var/local``./configure``prefix``/usr``/var/local``/var/lib