在 Oracle® Solaris 11.2 中使用映像包管理系统打包和交付软件

退出打印视图

更新时间: 2014 年 7 月
 
 

在软件包操作中指定系统修改

首先确定哪些操作会在安装、更新或删除时导致系统更改。例如,要实现软件自组装中描述的软件自组装概念,需要进行一些系统更改。

需要针对每个软件包操作确定哪个现有的 SMF 服务可提供必要的系统更改。或者,编写一个提供所需功能的新服务,并确保将该服务交付到系统,如交付 SMF 服务中所述。

确定了在安装时会导致系统更改的一组操作后,请在软件包清单中标记这些操作以促使该系统更改发生。导致系统更改的标记的值称作执行器

可将下列执行器标记添加到清单中的任何操作:

reboot-needed

该执行器使用值 truefalse。此执行器声明:如果软件包系统在实时映像上操作,则必须在新引导环境中更新或删除标记的操作。be-policy 映像属性控制新引导环境的创建。有关 be-policy 属性的更多信息,请参见 pkg(1) 手册页的“映像属性”部分。

SMF 执行器

这些执行器与 SMF 服务相关。

SMF 执行器使用单个服务 FMRI 作为值,可能包含通配字符以与多个 FMRI 匹配。如果同一服务 FMRI 被多个操作标记(可能跨多个正在操作的软件包),IPS 只触发该执行器一次。

下面的 SMF 执行器列表介绍了对服务 FMRI(每个指定的执行器的值)的影响。

disable_fmri

执行软件包操作前禁用指定的服务。

refresh_fmri

完成软件包操作后刷新指定的服务。

restart_fmri

完成软件包操作后重新启动指定的服务。

suspend_fmri

执行软件包操作前临时暂停指定的服务,并在完成软件包操作后启用该服务。