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

fad*_*bee 12 directory-structure

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

他们使用正确的目录吗?

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

Ste*_*itt 12

/var/lib确实是正确的目录;如文件系统层次结构标准中所述,

\n
\n

该层次结构保存与应用程序或系统相关的状态信息。状态信息是程序在运行时修改的数据,并且属于一台特定主机。用户永远不需要修改文件/var/lib配置包的操作,并且用于存储数据的特定文件层次结构不得向普通用户公开。

\n
\n

/var/lib目录在1.1版本中被添加到FSSTND(FHS\xe2\x80\x99祖先)中,给出了其讨论的时间表(1994年2月到10月之间),但我还没有\xe2\x80\x99找到档案要检查的 FSSTND 邮件列表。我怀疑这个lib名字被用来并行/usr/lib,不是因为后者存储库,而是因为它存储\xe2\x80\x9c不暴露给普通用户的文件\xe2\x80\x9d:/usr/lib存储对系统至关重要的文件\xe2 \x80\x99s 操作,但 \xe2\x80\x99t 也不暴露给普通用户。很可能\xe2\x80\x99/var/lib使用很可能早于它在 FSSTND 中的集成。

\n

如今,人们可能期望/srv这是一种更好的选择,但 \xe2\x80\x99s 明确排除在外:

\n
\n

如果数据的目录和文件结构不暴露给消费者,则应该放入/var/lib.

\n
\n