软件包组件分为两类。
软件包对象是要安装的应用程序文件。
控制文件控制是否安装软件包以及软件包的安装方式和位置。
控制文件又分为两类:信息文件和安装脚本。有些控制文件是必需的,有些控制文件是可选的。
要打包您的应用程序,必须首先创建组成软件包所必需的组件以及任何可选组件。然后,您可以使用 pkgmk 命令来生成软件包。
要生成软件包,您必须提供以下各项:
下图描述了软件包的内容。
软件包对象
这些组件用于组成应用程序。它们可由以下各项组成:
文件(可执行文件或数据文件)
目录
命名管道
链接
设备
pkginfo 文件
pkginfo 文件是必需的软件包信息文件,用于定义参数值。参数值包括软件包缩写、软件包全名和软件包体系结构。有关更多信息,请参见创建 pkginfo 文件和 pkginfo(4) 手册页。
有两个 pkginfo(1) 手册页。第一个手册页介绍了用于显示有关已安装软件包信息的第 1 节中的命令。第二个手册页介绍了用于描述软件包特征的第 4 节中的 文件。访问手册页时,请确保指定适用的手册页节。例如: man -s 4 pkginfo。
prototype 文件
prototype 文件是必需的软件包信息文件,用于列出软件包的组件。每个软件包对象、信息文件和安装脚本都存在一个相应的条目。这类条目由描述各个组件的若干信息字段组成,包括组件的位置、属性和文件类型。有关更多信息,请参见创建 prototype 文件和 prototype(4) 手册页。
您可以在软件包中包含四个可选软件包信息文件:
定义与此版本软件包兼容的以前软件包版本。
指出与您的软件包有特殊关系的其他软件包。
定义目标环境的磁盘空间要求,这会超过 prototype 文件中定义的对象所要求的空间。例如,对于在安装时动态创建的文件,可能需要额外的空间。
定义安装软件包时所显示的版权信息文本。
每个软件包信息文件都应在 prototype 文件中有一个对应条目。关于创建这些文件的更多信息,请参见创建信息文件。
安装脚本并不是必需的。但是,您可以提供可在安装软件包期间执行自定义操作的脚本。安装脚本具有以下特征:
该脚本由 Bourne shell 命令组成。
该脚本的文件权限应设为 0644。
该脚本不需要包含 shell 标识符 (#! /bin/sh)。
request 脚本
checkinstall 脚本
checkinstall 脚本仅在 SolarisTM 2.5 发行版和兼容发行版中可用。
过程脚本定义在软件包安装和删除过程中的特定时刻所发生的操作。您可以使用这些预定义的名称创建四个过程脚本: preinstall、postinstall、preremove 和 postremove。
类操作脚本定义一组要对对象组执行的操作。
有关安装脚本的更多信息,请参见创建安装脚本。