跳过导航链接
应用程序包开发者指南
Oracle Solaris 10 1/13 Information Library (简体中文)
搜索范围:
本文档
整个文档库
应用程序包开发者指南
2013 年 1 月
本书提供设计、生成和验证软件包的逐步说明以及相关的背景信息。该文档还包括在软件包创建过程中可能非常有用的高级技术信息及其示例。
文档信息
前言
1. 设计软件包
在何处找到打包任务
什么是软件包?
软件包组件
必需的软件包组件
可选的软件包组件
软件包信息文件
软件包安装脚本
生成软件包之前的注意事项
使软件包可远程安装
针对客户机/服务器配置进行优化
根据功能边界打包
根据版税边界打包
根据系统相关性打包
消除软件包中的重叠
根据本地化边界打包
打包命令、文件和脚本
2. 生成软件包
软件包生成过程(任务列表)
软件包环境变量
关于使用环境变量的一般规则
软件包环境变量汇总
创建
pkginfo
文件
定义软件包实例
定义软件包缩写 (
PKG
)
指定软件包体系结构 (
ARCH
)
指定软件包指令集体系结构 (
SUNW_ISA
)
指定软件包版本 (
VERSION
)
定义软件包名称 (
NAME
)
定义软件包类别 (
CATEGORY
)
如何创建
pkginfo
文件
组织软件包的内容
如何组织软件包的内容
创建
prototype
文件
prototype
文件的格式
ftype 字段
class
字段
path
字段
可共同重定位的对象
可单独重定位的对象
参数化路径名
关于对象的源位置和目标位置的简要说明
mode
字段
owner
字段
group
字段
从头创建
prototype
文件
示例-使用
pkgproto
命令创建
prototype
文件
优化使用
pkgproto
命令创建的
prototype
文件
创建文件类型为
v
、
e
、
x
和
i
的对象条目
使用多个类定义
示例-优化使用
pkgproto
命令创建的
prototype
文件
向
prototype
文件添加功能
定义要在安装时创建的其他对象
在安装时创建链接
将软件包分发到多个卷上
嵌套
prototype
文件
为
mode
、
owner
和
group
字段设置缺省值
为
pkgmk
命令提供搜索路径
设置环境变量
如何使用
pkgproto
命令创建
prototype
文件
生成软件包
使用最简单的
pkgmk
命令
pkgmap
文件
如何生成软件包
3. 增强软件包的功能(任务)
创建信息文件和安装脚本(任务列表)
创建信息文件
定义软件包相关性
如何定义软件包相关性
编写版权信息
如何编写版权信息
在目标系统上保留额外空间
如何在目标系统上保留额外空间
创建安装脚本
软件包安装期间的脚本处理
软件包删除期间的脚本处理
对脚本可用的软件包环境变量
为脚本获取软件包信息
脚本的退出代码
编写
request
脚本
request
脚本行为
request
脚本的设计规则
如何编写
request
脚本
使用
checkinstall
脚本收集文件系统数据
checkinstall
脚本行为
checkinstall
脚本的设计规则
如何收集文件系统数据
编写过程脚本
过程脚本行为
过程脚本的设计规则
如何编写过程脚本
编写类操作脚本
定义对象类
软件包安装期间如何处理类
软件包删除期间如何处理类
类操作脚本
类操作脚本行为
类操作脚本的设计规则
特殊系统类
sed
类脚本
awk
类脚本
build
类脚本
preserve
类脚本
manifest
类脚本
如何编写类操作脚本
创建带签名的软件包
带签名的软件包
证书管理
将受信任证书添加到软件包密钥库
将用户证书和私钥添加到软件包密钥库
检验软件包密钥库中的内容
从软件包密钥库中删除受信任证书和私钥
创建带签名的软件包
如何创建不带签名的目录格式的软件包
如何将证书导入到软件包密钥库
如何对软件包签名
4. 验证和转换软件包
验证和转换软件包(任务列表)
安装软件包
安装软件数据库
与
pkgadd
命令交互
在同构环境中的独立系统或服务器上安装软件包
如何在独立系统或服务器上安装软件包
验证软件包的完整性
如何验证软件包的完整性
显示有关已安装的软件包的附加信息
pkgparam
命令
如何使用
pkgparam
命令获取信息
pkginfo
命令
缺省
pkginfo
显示
定制
pkginfo
显示的格式
pkginfo
长格式的参数说明
如何使用
pkginfo
命令获取信息
删除软件包
如何删除软件包
将软件包转换为分发介质
如何将软件包转换为分发介质
5. 软件包创建案例研究
请求来自管理员的输入
技术
方法
案例研究文件
pkginfo
文件
prototype
文件
request
脚本
在安装时创建文件并在删除期间保存文件
技术
方法
案例研究文件
pkginfo
文件
prototype
文件
space
文件
i.admin
类操作脚本
r.cfgdata
删除脚本
定义软件包兼容性和相关性
技术
方法
案例研究文件
pkginfo
文件
copyright
文件
compver
文件
depend
文件
使用标准类和类操作脚本修改文件
技术
方法
案例研究文件
pkginfo
文件
prototype
文件
i.inittab
安装类操作脚本
r.inittab
删除类操作脚本
inittab
文件
使用
sed
类和
postinstall
脚本修改文件
技术
方法
案例研究文件
pkginfo
文件
prototype
文件
sed
类操作脚本 (
/etc/inittab
)
postinstall
脚本
使用
build
类修改文件
技术
方法
案例研究文件
pkginfo
文件
prototype
文件
生成文件
在安装期间修改
crontab
文件
技术
方法
案例研究文件
pkginfo
命令
prototype
文件
i.cron
安装类操作脚本
r.cron
删除类操作脚本
crontab
文件 #1
crontab
文件 #2
使用过程脚本安装和删除驱动程序
技术
方法
案例研究文件
pkginfo
文件
prototype
文件
request
脚本
postinstall
脚本
preremove
脚本
使用
sed
类和过程脚本安装驱动程序
技术
方法
案例研究文件
pkginfo
文件
prototype
文件
sed
类操作脚本 (
/etc/devlink.tab
)
postinstall
安装脚本
preremove
删除脚本
copyright
文件
6. 创建软件包的高级技术
指定基目录
缺省管理文件
适应不确定性
使用
BASEDIR
参数
使用参数化基目录
示例-使用参数化基目录
pkginfo
文件
pkgmap
文件
管理基目录
适应重定位
遍历基目录
使用
BASEDIR
参数
pkginfo
文件
pkgmap
文件
示例-遍历
BASEDIR
的分析脚本
request
脚本
checkinstall
脚本
使用相对参数化路径
pkginfo
文件
pkgmap
文件
示例-遍历相对参数化路径的
request
脚本
在异构环境中支持重定位
传统方法
可重定位软件包
示例-传统的可重定位软件包
pkginfo
文件
pkgmap
文件
绝对软件包
示例-传统绝对软件包
pkgmap
文件
复合软件包
示例-传统解决方案
pkginfo
文件
pkgmap
文件
超越传统
复合软件包另一特性
使绝对路径名看起来像可重定位对象
示例-修改文件
说明
实现
示例
示例-创建新文件
说明
实现
示例
示例 -复合软件包
pkginfo
文件
pkgmap
文件
使软件包可远程安装
示例-安装到客户机系统
示例-安装到服务器或独立系统
示例-挂载共享文件系统
修补软件包
checkinstall
脚本
preinstall
脚本
类操作脚本
postinstall
脚本
patch_checkinstall
脚本
patch_postinstall
脚本
升级软件包
request
脚本
postinstall
脚本
创建类归档软件包
归档软件包目录的结构
支持类归档软件包的关键字
faspac
实用程序
词汇表
索引
A
B
C
D
F
I
M
O
P
R
S
安
不
参
打
带
对
反
非
复
公
挂
归
过
基
检
将
脚
绝
可
控
类
链
签
缺
软
删
升
生
受
私
随
系
先
修
验
应
用
在
证