打包 - 4. 文件系统布局
下述的文件系统布局指南是 Fink 打包规则的一部分。
4.1 文件系统层次结构标准
Fink 遵循《文件系统层次结构标准》(Filesystem Hierarchy
Standard),简称 FHS 的精神。
我们只能说遵循它的精神,是因为 FHS 是为操作系统提供者所涉及的,因此它是在 /
和
/usr
层次级别上来控制。而 Fink 只是一个附加的系统,它指控制它自己的安装目录(或安装前缀指定的目录)。
本章的例子使用默认的前缀 /opt/sw
。
4.2 目录
文件应该分类存放在层次结构中下列子目录中:
Field | Value |
---|---|
/opt/sw/bin |
这个目录存放通常的可执行程序。里面没有子目录。 |
/opt/sw/sbin |
这个目录存放那些应该只由系统管理员使用的命令。 后台守护进程程序会放在这里。 里面没有子目录。 |
/opt/sw/include |
这个目录存放 C 和 C++ 头文件。 如果需要的话,可以创建子目录。 如果软件包安装的头文件可能与标准的 C 头文件发生混淆的话,这些头文件必须放到子目录中。 |
/opt/sw/lib |
这个目录存放那些系统架构相关的数据文件和函数库。
除非有特别的理由,否则静态和动态连接库应该直接保存在
软件包可以创建子目录来存放私有数据或可加载模块。
请确定使用那些对保持兼容性有利的目录名。
在目录名或目录层次中使用主版本号是个好办法,例如: |
/opt/sw/lib/ppc64
/opt/sw/lib/x86_64 |
This directory is for 64-bit libraries, with |
/opt/sw/share |
这个目录是存放那些系统体系架构无关的数据文件。
那些 |
/opt/sw/share/man |
这些目录中包括帮助页。它按照通常的分类方法进行组织。
在 |
/opt/sw/share/info |
这个目录包含 Info 格式(从 Texinfo 源文件产生)的文档。
|
/opt/sw/share/doc |
这个目录包括那些既不是帮助页,也不是 Info 的文档。
例如 README,LICENSE 和 COPYING 文件等。
每个软件包必须在这里创建一个子目录,以软件包的名字命名。
目录名不能包括版本号(除非它正好是软件包名的一部分)。
提示:使用 |
/opt/sw/share/locale |
这个目录包含国际化所需要的信息目录。 |
/opt/sw/var |
|
/opt/sw/etc |
这个目录保存配置文件。 对于那些需要在这里保存比较多文件(比方超过一两个的数目)的软件包,应该建立一个子目录。 子目录应该和软件包或者里面的程序同名,以方便识别。 |
/opt/sw/src |
这个目录用于保存和构建源代码。 软件包不应该在这个目录里面安装任何东西。 |
/opt/sw/Applications |
This directory is for storing OS X-style applications which are launched by double-clicking rather than from the command line. |
/opt/sw/Library/Frameworks |
This directory is for storing OS X-style frameworks, sometimes used by OS X-style applications. |
4.3 应该避免的事情
除了上面提到的以外,在 /opt/sw
中不应该有其它的目录。
特别地,不应该使用下面这些目录:
/opt/sw/man
,/opt/sw/info
,
/opt/sw/doc
,/opt/sw/libexec
,
/opt/sw/lib/locale
。
Next: 5. Compilers