我想知道符合 FHS 的安装点有何用途内部硬盘和 网络共享是?许多不同的教程建议将它们安装在子目录中/mnt
或/media
根据飞速3.0(文件层次结构标准):
/media
:可移动媒体的安装点(此目录包含用作可移动介质(例如软盘、cdrom 和 zip 磁盘)的安装点的子目录。)/mnt
:临时挂载文件系统的挂载点(提供此目录是为了系统管理员可以根据需要临时挂载文件系统。该目录的内容是本地问题,不应影响任何程序的运行方式)
我假设这些挂载点可以用于/home/foo/extdrive
/home/foo/nfsshare
单个用户系统,但是我将把它们挂载到所有用户都可以访问的位置?
更新: FHS 3.0,第 3.1 章,第二个“基本原理”段落
- 新目录
/
(即/workspace
和/nfsshare
)禁止创建根文件系统的新子目录有几个原因: 它需要根分区上的空间,出于性能或安全原因,系统管理员可能希望该空间保持小而简单。它规避了系统管理员为跨可安装卷分发标准文件层次结构而设置的任何规则。如果没有非常仔细地考虑后果(包括应用程序可移植性),发行版不应在根层次结构中创建新目录。
答案1
您可以创建自己的挂载点目录。如果您想问为什么,我只能指出Wouter Verhelst 的精彩回答。
内部驱动器
/mnt
如果您愿意的话, 是一个可以自己制作的好地方,也是/
。
/mnt
某些历史安装系统以及可移动媒体(之前/media
)可能已将其用于此目的。这样做对您来说仍然有效,但系统本身不再应该在/mnt
.
我认为如果您可能创建多个挂载点,那么使用 /mnt 是合理的。它可以很容易地看到所有这些,并且它被认为是人们喜欢使用的位置之一。其他一些人喜欢使用/Volumes
- 遵循 OS X 系统,或者/vol
. /data 对于单个安装点来说很常见。也使用/d/。 /disk/ 几乎肯定被某些人使用,但对于非基于磁盘的存储可能会分散注意力。
如果您使用/mnt,我也会创建/mnt/tmp。然后仍然会有一个方便的临时挂载目录,即 FHS 提到的 /mnt 的原始用途。
/media
在某些常见系统上,手动创建挂载点可能是一个坏主意。现代 Linux 操作系统会自动为可移动媒体创建挂载点,它们创建的结构可能会发生冲突,或者只是与您自己的结构不一致。您没有说明您的系统是什么,但您可能对便携式指南感兴趣,特别是当您询问 FHS 时。请注意,此推理类似于 FHS 规定操作系统不得填充 /mnt 的原因。
网络文件系统
有时建议将网络文件系统挂载在专用子目录中,例如 、/n/host
或/nfs/host
等/net/host
。
例如,如果您在 /host 挂载网络文件系统并且网络变得无法访问,ls /
则在尝试统计网络文件系统时可能会挂起。当你已经变得沮丧时,这可能是不受欢迎和令人沮丧的。
答案2
当 FHS 谈论你不能做什么时,那么它谈论的你就是一个分配,而不是用户或本地系统管理员。
Unix系统只有一文件系统树。因此,您可以将本地系统中的任何内容安装到文件系统中的任何位置,并且不会以任何方式破坏 FHS;毕竟,FHS 竭尽全力不妨碍本地系统管理员。对于始终位于系统中的内部磁盘,具有/opt
或/ntfs
或/scratch
或诸如此类的安装点是完全有效的。或者,如果您的磁盘空间不足,并且想要将某些内容从根文件系统移到另一个磁盘上,您可以将/var
或移动/usr
到单独的硬盘并以这种方式处理事情。
你唯一应该做的事不是要做的是将内部磁盘安装到 FHS 表示发行版可以写入的位置(例如/usr
、/var
或/lib
),然后不将相关数据移动到该位置,或者对有问题的分区使用一些非 POSIX 文件系统。除此之外,几乎一切都是公平的游戏。
答案3
使目录可访问具体的用户,您将创建一个组。按照惯例,组可以有主目录。这些有时(但不一定)创建为 /home/$GROUP。
可以创建目录 /home/allusers。如果您愿意,您可以保留组名称 alluser(即创建一个空组)。 (用户和组名称在技术上是独立的命名空间,但它们通常保持一致。例如,在这种情况下您不会特别希望创建普通用户“allusers”)。
这一特定的命名方案不能自然地概括为多个文件系统,例如一个内部磁盘和一个网络文件系统。
您不是软件发行版,FHS 中给出的理由不适用于您。遵循此限制将引入额外的约束。如果 /home 变得无法挂载,则为了备份、恢复或故障排除目的而挂载 /home/allusers 也会变得不太容易。
答案4
快速回答:这取决于...正如其他人所说,FHS 适用于发行版。但是您可能会发现,至少为了便于维护,遵循它的精神会更容易,特别是如果要在其他人可能最终支持的多个系统上完成此操作。还值得记住备份的方式,因为它可能使您不必调整它们以考虑您添加的额外空间。
我用过的例子:
- /mnt/play 上的大块通用共享空间
- 通过 pam-mount 在 /home/[用户名]/network/[共享] 上安装每个用户的 CIFS
- 服务器应用程序按照手册,例如 /sapmnt /opt/whatever /bacula
- /srv/[sharename] 或 /fileshares/[sharename] 上的文件共享
还值得避免自动挂载程序使用的任何内容,例如 Mint/Ubuntu 上的 /media 或将列出的目录树用于非预期目的。例如,通常将磁盘安装到 /var/[app] 或 /usr/[app] 以为该特定应用程序提供更多可用空间,但不要将其用于其他用途,因为您只会得到自己一片混乱。