JavaScript is required to for searching.
跳过导航链接
退出打印视图
应用程序包开发者指南     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  设计软件包

2.  生成软件包

软件包生成过程(任务列表)

软件包环境变量

关于使用环境变量的一般规则

软件包环境变量汇总

创建 pkginfo 文件

定义软件包实例

定义软件包缩写 (PKG)

指定软件包体系结构 (ARCH)

指定软件包指令集体系结构 (SUNW_ISA)

指定软件包版本 (VERSION)

定义软件包名称 (NAME)

定义软件包类别 (CATEGORY)

如何创建 pkginfo 文件

组织软件包的内容

如何组织软件包的内容

创建 prototype 文件

prototype 文件的格式

ftype 字段

class 字段

path 字段

可共同重定位的对象

可单独重定位的对象

参数化路径名

关于对象的源位置和目标位置的简要说明

mode 字段

owner 字段

group 字段

从头创建 prototype 文件

示例-使用 pkgproto 命令创建 prototype 文件

优化使用 pkgproto 命令创建的 prototype 文件

创建文件类型为 vexi 的对象条目

使用多个类定义

示例-优化使用 pkgproto 命令创建的 prototype 文件

prototype 文件添加功能

定义要在安装时创建的其他对象

在安装时创建链接

将软件包分发到多个卷上

嵌套 prototype 文件

modeownergroup 字段设置缺省值

pkgmk 命令提供搜索路径

设置环境变量

如何使用 pkgproto 命令创建 prototype 文件

生成软件包

使用最简单的 pkgmk 命令

pkgmap 文件

如何生成软件包

3.  增强软件包的功能(任务)

4.  验证和转换软件包

5.  软件包创建案例研究

6.  创建软件包的高级技术

词汇表

索引

创建 pkginfo 文件

pkginfo 文件是一种 ASCII 文件,用于描述软件包的特征以及帮助控制安装流程的信息。

pkginfo 文件中的每个条目均占一行,使用 PARAM=value 格式设定参数值。PARAM 可以是在 pkginfo(4) 手册页中描述的任一个标准参数。对于参数的指定顺序没有确定要求。


注 - 每个 value 可以由单引号或双引号括起(例如,'value' 或 "value")。如果 value 包含任何对 shell 环境而言被视为特殊字符的字符,您应该使用引号。本书中的示例和案例分析不使用引号。请参见 pkginfo(4) 手册页,了解使用双引号的示例。


您还可以通过在 pkginfo 文件中为软件包参数赋值,创建您自己的软件包参数。您的参数必须以大写字母开头,后跟大写或小写字母。大写字母表明参数(变量)将在安装时(与生成时相对)被计算。有关安装变量与生成变量之间区别的信息,请参见软件包环境变量


注 - 任何参数值之后的结尾空格都会被忽略。


您必须在 pkginfo 文件中定义以下五个参数: PKGNAMEARCH VERSIONCATEGORY。当生成软件包时,软件会自动插入 PATHPKGINST INSTDATE 参数。不要修改这八个参数。有关其余参数的信息,请参见 pkginfo(4) 手册页。

定义软件包实例

同一个软件包可以有不同的版本,可以与不同的体系结构兼容,或者同时符合这两种情况。软件包的每个变体称为一个软件包实例。软件包实例通过组合 pkginfo 文件中的 PKGARCHVERSION 参数定义来确定。

pkgadd 命令可在安装时为每个软件包实例指定一个软件包标识符。软件包标识符是软件包缩写后跟一个数字后缀,例如 SUNWadm.2。此标识符可区分不同软件包的实例,还可区分同一个软件包的不同实例。

定义软件包缩写 (PKG)

软件包缩写是软件包的简短名称,由 pkginfo 文件中的 PKG 参数定义。软件包缩写必须具有以下特征:

指定软件包体系结构 (ARCH)

pkginfo 文件中的 ARCH 参数标识与软件包相关联的体系结构。体系结构名称的最大长度为 16 个字母数字字符。如果一个软件包与多个体系结构相关联,请以逗号分隔的列表形式指定这些体系结构。

以下是 pkginfo 文件中一个软件包体系结构规范的示例:

ARCH=sparc

指定软件包指令集体系结构 (SUNW_ISA)

pkginfo 文件中的 SUNW_ISA 参数标识与 Sun Microsystems 软件包相关联的指令集体系结构。值如下所示:

例如,在 pkginfo 文件中,一个包含 64 位对象的软件包的 SUNW_ISA 值是:

SUNW_ISA=sparcv9

如果没有设置 SUNW_ISA,则软件包的缺省指令集体系结构会设置为 ARCH 参数的值。

指定软件包版本 (VERSION)

pkginfo 文件中的 VERSION 参数标识软件包的版本。版本的最大长度为 256 个 ASCII 字符,且不能以左括号开头。

以下是 pkginfo 文件中的一个版本规范示例:

VERSION=release 1.0

定义软件包名称 (NAME)

软件包名称是软件包的全名,由 pkginfo 文件中的 NAME 参数定义。

由于系统管理员通常会根据软件包名称确定是否需要安装该软件包,因此使用清晰、简明且完整的软件包名称是很重要的。软件包名称必须满足以下条件:

以下是 pkginfo 文件中定义的软件包名称示例:

NAME=Chip designers need CAD application software to design
abc chips.  Runs only on xyz hardware and is installed in the
usr partition.

定义软件包类别 (CATEGORY)

pkginfo 文件中的 CATEGORY 参数指定软件包所属的类别。一个软件包至少必须属于 systemapplication 类别。类别名称由字母数字字符组成。类别名称的最大长度为 16 个字符,且不区分大小写。

如果一个软件包属于多个类别,请以逗号分隔的列表形式指定这些类别。

以下是 pkginfo 文件中的 CATEGORY 规范示例:

CATEGORY=system

如何创建 pkginfo 文件

  1. 使用您喜爱的文本编辑器,创建一个名为 pkginfo 的文件。

    可在系统上的任意位置创建此文件。

  2. 编辑该文件并定义五个必需的参数。

    这五个必需的参数是: PKGNAME ARCHVERSIONCATEGORY。有关这些参数的更多信息,请参见创建 pkginfo 文件

  3. 向文件中添加任何可选参数。

    创建您自己的参数,或参见 pkginfo(4) 手册页了解有关标准参数的信息。

  4. 保存所做更改,然后退出编辑器。

示例 2-1 创建 pkginfo 文件

此示例显示了一个有效 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

另请参见

请参见如何组织软件包的内容