OS X、Linux 和 FreeBSD 之间的 FHS 差异

OS X、Linux 和 FreeBSD 之间的 FHS 差异

我读到 FreeBSD 和 Linux 之间有不同的行为/usr/local,在 FBSD 端口安装在那里,在 Linux 中没有,有人可以对此进行更多解释吗?我想知道 MacPorts 在 OSX 中的安装位置,以及这三个操作系统的 FHS 之间最显着差异的列表(这主要是我要寻找的)。

我已经做了一项研究,但我并没有发现太多。

https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man7/hier.7.html

http://www.freebsd.org/doc/handbook/dirstruct.html

http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html

答案1

您可以在以下位置找到文件系统层次结构标准 (FHS) 2.3 版:路径名.com/fhs。有一节是关于usr等级制度。 FHS 将其列为/usr/local必需目录并写道:

local 本地层次结构(主要安装后为空)

此外,FHS:

/usr/local层次结构供系统管理员在本地安装软件时使用。当系统软件更新时,它需要确保不被覆盖。它可用于可在一组主机之间共享的程序和数据,但在/usr.

本地安装的软件必须放置在/usr/local而不是/usr除非安装它是为了替换或升级软件/usr

不同的 Linux 发行版通常不向/usr/local.相反,每个文件都会根据 FHS 放入文件系统中。

如果您从源 ( ./configure && make && make install) 安装软件而没有特定选项,则该软件通常会将自身复制到/usr/local.

MacPorts 的默认目录是/opt/local.这MacPort 指南有内部结构的描述。

答案2

FHS 是一个 Linux 标准(并非所有发行版都遵循该标准,并且至少在 GUI 领域已经无可救药地过时了)。它主要是对现有实践的编纂,就像标准一样。因此,您会发现其他 Unixy 系统(BSD、Mac OS、专有的 Unices、Minix 3...)使用类似的约定。该/usr/local层次结构非常古老,最初它用于保存本地开发的软件,然后随着专有的 Unix,人们习惯于在那里安装非供应商软件(包括从 Usenet 下载的东西)以将其分开,而不干扰系统更新。 GNU 项目普及了这种用法,并将其编入其安装脚本中作为默认值(GNU 是90 年代之前适用于 Unix 的不错工具的来源;特别令人恼火的是通常编造的供应商编译器和开发工具、糟糕/过时的 vi 版本以及愚蠢的 shell。开玩笑地说,对于一个新的太阳,要做的第一件事是GNU > /usr/local。)。

<curmudgeon> 
   These kids today don't know the luxury of up to date, working
   tools they have at their fingertips, running on personal machines
   that would have been supercomputers in our day. For free.
</curmudegon>

相关内容