为什么应用程序使用 /var/lib 来存储数据?

为什么应用程序使用 /var/lib 来存储数据?

MySQL、fail2ban 和许多其他服务器应用程序将其数据存储在 /var/lib 中。

他们使用正确的目录吗?

如果是这样,为什么它被命名为 lib,这意味着库?

答案1

/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.

答案2

是的,他们正在使用正确的目录。

/var表示变量,此目录始终用于存储随时间变化的数据。

https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s08.html

https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

http://objectroot.org/articles/brief-history-of-hier/

相关内容