“/var/lib” 和 “/var/run” 有什么区别?

“/var/lib” 和 “/var/run” 有什么区别?

我正在研究类Unix文件系统结构,特别是FHS(文件系统层次标准)。无论如何我知道最近 FHS/var/run被转移到了/run

我不明白 lib 和 run 之间的区别。有人可以举例说明一下吗?

答案1

该网站提供更多详细信息。 简而言之:

  • /var/run(运行时变量数据)包含与正在运行的程序相关的数据;特别是这些文件应该在启动/启动时(重新)创建。
  • /var/lib另一方面,(变量状态信息)包含在程序调用和重启之间应保留的数据。

答案2

/var/run(或者,最近,/run)代表“自系统启动以来描述系统的系统信息数据“。此类系统信息包括 PID 文件和命名套接字。示例:

  • sshdPID 文件
  • dockerd套接字文件
  • autofs命名管道
  • rpcbind锁定文件

/var/run请注意系统信息。对于特定于程序的短暂数据,/tmp或者/var/tmp更适合。


/var/lib代表“[保存] 与应用程序或系统相关的状态信息“。因此,该目录非常适合持久存储应用程序数据。示例:

  • Docker 将容器、镜像和卷存储在/var/lib/docker
  • NFS 将操作详细信息存储在/var/lib/nfs
  • 包管理器喜欢在调用之间在这里存储状态dnfapt
  • logrotate在这里追踪其之前的运行。

中的文件/var/lib应该是程序内部的,不用于用户交互或操作。

相关内容