我读到过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/dirstructure.html
http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html
发布于 2013-01-22 20:12:38
您可以在pathname.com name.com/fhs上找到文件系统层次标准(FHS)版本2.3。有一个关于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。MacPorts指南有一个内部结构的描述。
发布于 2013-01-26 07:35:24
FHS是一个Linux标准(并不是所有的发行版都遵循这个标准,至少在GUI领域它已经无可救药地过时了)。这主要是对现行做法的编纂,因为标准很容易编纂。因此,你会发现其他的Unixy系统(BSD,Mac,the propietary,Minix 3,.)使用类似的约定。/usr/local层次结构是非常古老的,最初它用来保存本地开发的软件,然后使用propietary安装非供应商的软件(包括从Usenet下载的东西)以保持其分离,而不是干扰系统更新。GNU项目推广了这种用法,并将其作为默认的安装脚本(GNU是Unix最优秀的工具的来源,直到‘90;最令人恼火的通常是braidead供应商编译器和开发工具,通常是不好的/过时的vi版本,以及一个愚蠢的shell。开玩笑地说,使用一个新的工具(例如Sun )的第一件事就是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>https://unix.stackexchange.com/questions/62201
复制相似问题