跳过导航链接 | |
退出打印视图 | |
应用程序包开发者指南 Oracle Solaris 10 1/13 Information Library (简体中文) |
类归档软件包是对应用称序二进制接口 (Application Binary Interface, ABI) 的增强,其中,某些文件集已经组合为单个文件(即归档文件),并且可能已选择性地压缩或加密。类归档格式最多可使初始安装速度提高 30%,并且在将软件包和修补程序安装到可能活动的文件系统上的过程中提高可靠性。
以下各节提供有关归档软件包目录结构、关键字和 faspac 实用程序的信息。
下图中显示的软件包条目表示包含软件包文件的目录。此目录必须与软件包同名。
图 6-1 软件包目录结构
下面列出了软件包目录内包含的文件和目录的功能。
|
使用类归档格式,软件包生成器可以将 reloc 和 root 目录中的文件组合到归档文件中,然后对其进行压缩、加密或以所需的任何方式进行其他处理,以便提高安装速度,减小软件包大小,或者增加软件包的安全性。
ABI 允许将软件包内的任何文件指定给某个类。特定类中的所有文件都可以使用类操作脚本定义的定制方法安装到磁盘中。此定制方法可以利用目标系统中提供的程序或随软件包一起提供的程序。得到的格式很像标准 ABI 格式。如下图所示,另一个目录被添加。将要归档的任何文件类只是组合为单个文件,并且放置到 archive 目录中。系统将从 reloc 和 root 目录中删除所有归档文件,并且将一个安装类操作脚本放置到 install 目录中。
图 6-2 归档软件包目录结构
为了支持这一新的类归档格式,三个采用关键字形式的新接口在 pkginfo 文件内具有特殊含义。这些关键字用于指定需要特殊处理的类。每个关键字语句的格式为: keyword=class1[class2 class3 ...]。下表定义了每个关键字值。
|
对于每个归档类,都需要一个类操作脚本。这是一个包含 Bourne shell 命令的文件,该文件由 pkgadd 执行以便从归档中实际安装文件。如果在软件包的 install 目录中找到一个类操作脚本,pkgadd 会将所有安装职责移交给该脚本。该类操作脚本以 root 用户权限运行,并且可以将其文件放置在目标系统中的任何位置。
注 - 实现类归档软件包绝对必须的唯一关键字是 PKG_SRC_NOVERIFY。其他关键字可用于提高安装速度或保存代码。
faspac 实用程序将标准 ABI 软件包转换为随附软件包所使用的类归档格式。此实用程序使用 cpio 进行归档,使用 compress 进行压缩。生成的软件包在顶层目录中有一个名为 archive 的附加目录。在此目录中,将包含按类命名的所有归档文件。install 目录将包含解压缩每个归档文件所需的类操作脚本。绝对路径将不进行归档。
faspac [-m Archive Method] -a -s -q [-d Base Directory] / [-x Exclude List] [List of Packages]
下表描述了每个 faspac 命令选项。
|