Answers:
这个问题在Filesystem Hierarchy Standard(文件系统层次结构标准)中似乎确实有明确的答案,该标准指定/srv
为“包含由该系统提供服务的特定于站点的数据”。(3.16.1)
指定此参数的主要目的是使用户可以找到特定服务的数据文件的位置,并使需要一棵树的只读数据,可写数据和脚本的服务。
(我的重点)
注意:“由系统提供服务”不一定是指Internet。它甚至不需要网络。它甚至适用于共享系统。此外,“ 站点和服务 ”一词应以其互联网前的含义来理解。您的站点可以是“物理部门”或“财务办公室”。
它继续说:
在大型系统上,通过管理上下文来构造/ srv很有用,例如/ srv / physics / www,/ srv / compsci / cvs等。此设置因主机而异。因此,任何程序都不应依赖现有的/ srv的特定子目录结构或必须存储在/ srv中的数据。但是/ srv应该始终存在于符合FHS的系统上,并应被用作此类数据的默认位置。
因此,应进一步结构的目录,例如您的数据/srv/nfs
,/srv/backup
等等。
我还应该提到很少有人这样做。但是,没有理由不这样做。该标准绝不是过时的。
/var
传统上用于打印假脱机和日志文件之类的东西,但是Apache Web服务器也使用它(无论如何在Debian系统上-SUSE使用/ srv);/var
对于共享数据的正确目录,似乎还没有达成共识。但是,如果您决定改用它,我相信您不会后悔。
另请注意:Karthick的回答绝不是错误的。FHS表示/ srv“应该用作此类数据的默认位置”,但是标准为您自己的偏好留出了一定的空间,具体取决于您对术语的解释方式。
文件系统层次结构:
我曾见过/export
曾经与nfs一起使用,并/mnt
曾经在公司环境中按照NFS文档中的建议在本地安装nfs共享,我怀疑该标准最初来自Sun OS,后来更名为Solaris。
该/etc/exports
文件命名了导出的卷,该/exports
目录将它们提供给远程用户,然后将它们安装在上/mnt
。服务器主机还可以/mnt
使用相同的nfs守护程序在服务器上本地运行的任何客户端或进程上安装这些相同的共享,以保持与任何远程主机的兼容性,并可能保留负载均衡,配额等功能。
这与它所接近的“标准”差不多。请注意,/export
因此未在FHS /export
中单独添加,因此大概没人满意/srv
。可能是由于与作为守护程序而不是“服务”卷运行的“服务”的潜在混淆。/export
被明确命名,几乎没有混淆的可能性。我什么也没看到/srv
。
/var/www
,在/srv/
成为FHS的一部分之前,Debian(和Red Hat)开始将Apache的文件放入中。