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

文档信息

前言

1.  设计软件包

2.  生成软件包

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

4.  验证和转换软件包

5.  软件包创建案例研究

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 实用程序

词汇表

索引

使软件包可远程安装

所有软件包都必须可远程安装。可远程安装意味着您不假定安装软件包的管理员正在向运行 pkgadd 命令的系统的根 (/) 文件系统进行安装。如果在某个过程脚本中,需要到达目标系统的 /etc/vfstab 文件,则需要使用 PKG_INSTALL_ROOT 环境变量。换句话说,路径名 /etc/vfstab 会将您引导至运行 pkgadd 命令的系统的 /etc/vfstab 文件,但管理员可能正在向位于 /export/root/client3 的客户机进行安装。路径 ${PKG_INSTALL_ROOT}/etc/vfstab 肯定能够将您引导至目标文件系统。

示例-安装到客户机系统

在此示例中,SUNWstuf 软件包被安装到 client3,该客户机在其根 (/) 文件系统中配置有 /opt 。此软件包的另一个版本已经安装在 client3 上,并且基目录从管理文件 thisadmin 中设置为 basedir=/opt/$PKGINST。(有关管理文件的更多信息,请参见缺省管理文件。)服务器上执行的 pkgadd 命令是:

# pkgadd -a thisadmin -R /export/root/client3 SUNWstuf

下表列出传递给过程脚本的环境变量及其值。

表 6-1 传递给过程脚本的值

环境变量
PKGINST
SUNWstuf.2
PKG_INSTALL_ROOT
/export/root/client3
CLIENT_BASEDIR
/opt/SUNWstuf.2
BASEDIR
/export/root/client3/opt/SUNWstuf.2

示例-安装到服务器或独立系统

要在与上一个示例相同的环境下安装到服务器或独立系统,所使用的命令是:

# pkgadd -a thisadmin SUNWstuf

下表列出传递给过程脚本的环境变量及其值。

表 6-2 传递给过程脚本的值

环境变量
PKGINST
SUNWstuf.2
PKG_INSTALL_ROOT
未定义。
CLIENT_BASEDIR
/opt/SUNWstuf.2
BASEDIR
/opt/SUNWstuf.2

示例-挂载共享文件系统

假定 SUNWstuf 软件包在服务器上的 /export/SUNWstuf/share 创建并共享了一个文件系统。在将软件包安装到客户机系统时,需要更新客户机系统的 /etc/vfstab 文件以挂载这一共享文件系统。在这种情况下可以使用 CLIENT_BASEDIR 变量。

客户机上的条目需要根据客户机的文件系统呈现挂载点。无论安装是从服务器进行还是从客户机进行,都应该正确构建该行。假定服务器的系统名是 $SERVER。您可以转至 $PKG_INSTALL_ROOT/etc/vfstab,并使用 sedawk 命令为客户机的 /etc/vfstab 文件构建以下行。

$SERVER:/export/SUNWstuf/share - $CLIENT_BASEDIR/usr nfs - yes ro

例如,对于服务器 universe 和客户机系统 client9,客户机系统的 /etc/vfstab 文件中的该行可能如下所示:

universe:/export/SUNWstuf/share - /opt/SUNWstuf.2/usr nfs - yes ro

正确使用这些参数时,该条目始终挂载客户机的文件系统,而无论它是在本地构建还是从服务器构建。