软件包过程脚本必须独立于当前正在运行的 OS,以防止修改 OS。过程脚本定义在软件包安装和删除过程中的特定时刻所发生的操作。可以使用以下预定义的名称创建四个过程脚本:preinstall、postinstall、preremove 和 postremove。
表 B–2 创建脚本的原则
原则 |
影响 Solaris Live Upgrade |
影响非全局区域 |
---|---|---|
脚本必须在 Bourne shell (/bin/sh) 中编写。Bourne shell 是 pkgadd 命令用来执行过程脚本的解释程序。 |
X |
X |
脚本不得启动或停止任何进程,或者依赖于某些命令(例如 ps 或 truss)的输出,因为这些进程或命令都与操作系统有关,并且会报告关于当前正在运行的系统的信息。 |
X |
X |
脚本可自由使用其他标准 UNIX 命令,例如 expr、cp 和 ls 以及其他有助于编写 shell 脚本的命令。 |
X |
X |
脚本调用的任何命令必须在所有支持的发行版中可用,因为软件包必须在所有这些发行版上运行。所以,不能使用在 Solaris 8 发行版之后添加或删除的命令。 要验证在 Solaris 8、9 或 10 发行版中是否支持某个特定的命令或选项,请参见 http://docs.sun.com 上的 Solaris Reference Manual AnswerBook 的特定版本。 |
X |