过程脚本提供了将在软件包安装或删除期间的特定点执行的一组指令。根据这些指令将执行的时间,必须将四个过程脚本命名为预定义的名称之一。这些脚本不带参数执行。
在开始安装类之前运行。该脚本不应安装任何文件。
在安装了所有卷之后运行。
在开始删除类之前运行。该脚本不应删除任何文件。
在删除了所有类之后运行。
过程脚本以 uid=root 和 gid=other 执行。
每个脚本应该能够多次执行,因为该脚本针对软件包的每个卷都执行一次。这意味着使用同一输入执行脚本任意次数时,会产生与只执行脚本一次相同的结果。
用于安装不在 pkgmap 文件中的软件包对象的每个过程脚本必须使用 installf 命令通知软件包数据库它正在添加或修改路径名。完成所有添加或修改之后,应带有 -f 选项调用此命令。只有 postinstall 和 postremove 脚本可以按这种方式安装软件包对象。有关更多信息,请参见 installf(1M) 手册页和第 5 章。
在过程脚本执行期间不允许与管理员交互。所有管理员交互仅限于 request 脚本。
用于删除未从 pkgmap 文件安装的文件的每个过程脚本必须使用 removef 命令通知软件包数据库它正在删除路径名。完成删除之后,应带有 -f 选项调用此命令。有关详细信息和示例,请参见 removef(1M) 手册页和第 5 章。
必须使用 installf 和 removef 命令,因为过程脚本不会自动与 pkgmap 文件中列出的任何路径名相关联。