pkginfo 文件是一种 ASCII 文件,用于描述软件包的特征以及帮助控制安装流程的信息。
pkginfo 文件中的每个条目均占一行,使用 PARAM=value 格式设定参数值。PARAM 可以是在 pkginfo(4) 手册页中描述的任一个标准参数。对于参数的指定顺序没有确定要求。
每个 value 可以由单引号或双引号括起(例如,'value' 或 "value")。如果 value 包含任何对 shell 环境而言被视为特殊字符的字符,您应该使用引号。本书中的示例和案例分析不使用引号。请参见 pkginfo(4) 手册页,了解使用双引号的示例。
您还可以通过在 pkginfo 文件中为软件包参数赋值,创建您自己的软件包参数。您的参数必须以大写字母开头,后跟大写或小写字母。大写字母表明参数(变量)将在安装时(与生成时相对)被计算。有关安装变量与生成变量之间区别的信息,请参见软件包环境变量。
任何参数值之后的结尾空格都会被忽略。
您必须在 pkginfo 文件中定义以下五个参数: PKG、NAME、ARCH、 VERSION 和 CATEGORY。当生成软件包时,软件会自动插入 PATH、PKGINST 和 INSTDATE 参数。不要修改这八个参数。有关其余参数的信息,请参见 pkginfo(4) 手册页。
同一个软件包可以有不同的版本,可以与不同的体系结构兼容,或者同时符合这两种情况。软件包的每个变体称为一个软件包实例。软件包实例通过组合 pkginfo 文件中的 PKG、ARCH 和 VERSION 参数定义来确定。
pkgadd 命令可在安装时为每个软件包实例指定一个软件包标识符。软件包标识符是软件包缩写后跟一个数字后缀,例如 SUNWadm.2。此标识符可区分不同软件包的实例,还可区分同一个软件包的不同实例。
软件包缩写是软件包的简短名称,由 pkginfo 文件中的 PKG 参数定义。软件包缩写必须具有以下特征:
缩写长度不能超过 32 个字符。
缩写不能是以下保留的缩写之一: install、new 或 all。
前四个字符对您公司来说应该是唯一的。例如,由 Sun MicrosystemsTM 生成的所有软件包均以 "SUNW" 作为其软件包缩写的前四个字符。
pkginfo 文件中软件包缩写条目的示例为 PKG=SUNWcadap。
pkginfo 文件中的 ARCH 参数标识与软件包相关联的体系结构。体系结构名称的最大长度为 16 个字母数字字符。如果一个软件包与多个体系结构相关联,请以逗号分隔的列表形式指定这些体系结构。
以下是 pkginfo 文件中一个软件包体系结构规范的示例:
ARCH=sparc |
pkginfo 文件中的 SUNW_ISA 参数标识与 Sun Microsystems 软件包相关联的指令集体系结构。值如下所示:
sparcv9,表示包含 64 位对象的软件包
sparc,表示包含 32 位对象的软件包
例如,在 pkginfo 文件中,一个包含 64 位对象的软件包的 SUNW_ISA 值是:
SUNW_ISA=sparcv9 |
如果没有设置 SUNW_ISA,则软件包的缺省指令集体系结构会设置为 ARCH 参数的值。
pkginfo 文件中的 VERSION 参数标识软件包的版本。版本的最大长度为 256 个 ASCII 字符,且不能以左括号开头。
以下是 pkginfo 文件中的一个版本规范示例:
VERSION=release 1.0 |
软件包名称是软件包的全名,由 pkginfo 文件中的 NAME 参数定义。
由于系统管理员通常会根据软件包名称确定是否需要安装该软件包,因此使用清晰、简明且完整的软件包名称是很重要的。软件包名称必须满足以下条件:
指明什么时候需要软件包(例如,用于提供某些命令或功能,或者指明该软件包是否为特定硬件所需要)。
指明软件包的用途(例如,用于设备驱动程序的开发)。
包括软件包缩写助记符的说明,使用的关键字应该表明缩写是说明的简短形式。例如,软件包缩写 SUNWbnuu 对应的软件包名称是“Basic Networking UUCP Utilities, (Usr)”。
指定安装软件包的分区名称。
使用的术语符合其行业含义。
遵守 256 字符数限制。
以下是 pkginfo 文件中定义的软件包名称示例:
NAME=Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. |
pkginfo 文件中的 CATEGORY 参数指定软件包所属的类别。一个软件包至少必须属于 system 或 application 类别。类别名称由字母数字字符组成。类别名称的最大长度为 16 个字符,且不区分大小写。
如果一个软件包属于多个类别,请以逗号分隔的列表形式指定这些类别。
以下是 pkginfo 文件中的 CATEGORY 规范示例:
CATEGORY=system |
使用您喜爱的文本编辑器,创建一个名为 pkginfo 的文件。
编辑该文件并定义五个必需的参数。
这五个必需的参数是: PKG、NAME、 ARCH、VERSION 和 CATEGORY。有关这些参数的更多信息,请参见创建 pkginfo 文件。
向文件中添加任何可选参数。
创建您自己的参数,或参见 pkginfo(4) 手册页了解有关标准参数的信息。
保存所做更改,然后退出编辑器。
此示例显示了一个有效 pkginfo 文件的内容,其中定义了五个必需的参数以及 BASEDIR 参数。将会在path 字段中更详细地讨论 BASEDIR 参数。
PKG=SUNWcadap NAME=Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. ARCH=sparc VERSION=release 1.0 CATEGORY=system BASEDIR=/opt |
请参见如何组织软件包的内容。