我想在我的 FreeBSD 机器上设置通用文件共享。我计划通过多种服务 (nfs/samba/etc) 提供它,但我想知道是否有一个特定的地方是创建此类目录的“正确”位置。
我知道从技术上来说我可以在 /share 或任何我喜欢的地方创建一些目录并将其放在那里,但我感兴趣的是严格的标准(如果有的话)到底建议什么。
答案1
我相信最好的答案如下/srv
。
最好的检查地点是操作系统的手册页,名为“hier”(即“hierarchy”一词的首字母,指的是文件系统布局/层次结构)。运行“ man hier
”。或者在线查看;既然你提到了 FreeBSD,我可以为你提供这个方便的超链接,链接到在线版本FreeBSD 的“hier”手册页。
我快速浏览了一下,没有发现任何目录似乎与您描述的内容完全匹配。因此,对于这个特定目的,该手册页没有提供答案。但是,首先检查一下是个好习惯。这样,如果您开始使用具有与您正在执行的任务相关的自定义的操作系统,您最终可能会遵循与使用相同设计的其他软件(如操作系统的其他部分)最一致的文档。
因此,由于此特定操作系统的“hier”页面没有提供任何更具体的内容,下一个要检查的地方是某种标准化位置,该位置不是针对您的操作系统的。最好的标准是 FHS。 FHS 2.3 文档/srv
请注意该目录的目的是:
该系统提供的站点特定数据
它有以下例子:
根据协议构建数据
/srv
,例如ftp
,,,rsync
和www
cvs
因此,我建议两者之一/srv/smb/
(除非您更喜欢/srv/cifs/
)。但是,正如 FHS 文档中所述,/srv/
“将因主机而异”下的子目录,因此这只是一个建议的示例布局,欢迎您对其进行自定义(同时仍“符合”标准)。
答案2
我在 jail 中提供内容,例如一个 jail 用于 git 存储库,另一个 jail 用于 NFS/SFTP 共享,还有一个用于 WWW 或 IMAP 电子邮件等。因此对我来说,将这些共享放在这些 jail 的文件系统中是有意义的,例如,,,/j/nas/sftpuser/disk1
。这样,就可以通过在这些 jail 中运行的守护进程访问和提供服务。/j/git/gituser/repos
/j/mda/mail
/j/web/www
它们是 ZFS 数据集,根据继承规则,它们的逻辑位置不同。例如,SFTP 和 WWW 共享位于具有atime
turnoff
但compression
turn 的父数据集下on
。
答案3
没有具体的地方。这里是FreeBSD 关于这一点的文档目录结构标准关注的是程序、配置文件和核心操作系统操作的结构,但几乎没有提到数据。
最适合的是 var 的子目录,/var/shares
因为它通常用于存储数据,但与此同时,var 实际上主要用于存储系统应用程序的数据,并且应该是临时的,而不是存档的。有时人们会对 var 中的挂载点做一些奇怪的事情,例如挂载 ram 磁盘或其他临时存储技术。