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

退出打印视图

更新时间: 2014 年 7 月
 
 

Oracle Solaris 中的软件自组装示例

以下示例介绍了作为 Oracle Solaris 的一部分交付的软件包。

Apache Web 服务器配置

用于 Apache Web 服务器的 Oracle Solaris 软件包 pkg:/web/server/apache-22 提供一个 httpd.conf 文件,该文件在 /etc/apache2/2.2/conf.d 目录中包含以下 Include 指令引用配置文件:

Include /etc/apache2/2.2/conf.d/*.conf

要应用定制配置,可以创建一个或多个软件包,将定制的 .conf 文件交付到该 conf.d 目录,并且每当安装、更新或删除交付新 .conf 文件的软件包时,都将使用 refresh_fmri 执行器自动刷新 Apache 实例。

file etc/apache2/2.2/conf.d/custom.conf path=etc/apache2/2.2/conf.d/custom.conf \
    owner=root group=bin mode=0644 refresh_fmri=svc:/network/http:apache22

有关如何使用 refresh_fmri 执行器的信息,请参见添加需要的任何侧面或执行器Chapter 7, 在软件包安装过程中自动进行系统更改

刷新 Apache 服务实例会导致 Web 服务器重新生成其配置。要加以验证,请使用以下命令显示刷新 Apache 服务实例时运行的方法名称:

$ svcprop -p refresh/exec http:apache22
/lib/svc/method/http-apache\ refresh

查看该方法可知,刷新 http:apache22 实例时,会通过使用 graceful 命令调用 apachectl 来重新启动 Apache httpd 守护进程。

用户属性配置

用户属性在 /etc/user_attr 中以及 /etc/user_attr.d 中的其他配置文件中配置。

/etc/user_attr 配置文件用来为系统上的角色和用户配置扩展属性。在 Oracle Solaris 11 中,/etc/user_attr 文件仅用于本地更改。完整配置是从交付到 /etc/user_attr.d 目录中的各个文件中读取的。多个软件包交付了完整配置的各个片段。例如,/etc/user_attr.d/core-os 通过 system/core-os 软件包交付,/etc/user_attr.d/ikev2-daemon 通过 system/network/ike 软件包交付。

安装这些配置文件时不会重新启动或刷新任何服务。安装、卸载或更新这些文件时不需要编写脚本。/etc/user_attr.d 中的文件由名称服务高速缓存守护进程 nscd 组合。nscd 守护进程的行为由 svc:/system/name-service/cache 服务管理。

$ svcs -p cache
STATE          STIME    FMRI
online         15:54:24 svc:/system/name-service/cache:default
               15:54:24     1000 nscd

名称服务高速缓存守护进程采用 user_attr 中所述的方式为大部分名称服务请求提供配置组合。请参见 nscd(1M) 手册页。

安全配置

/etc/security/exec_attr.d/ 目录存储安全配置文件。

在早期 Oracle Solaris 发行版中,某个 SMF 服务会将在 exec_attr.d 中交付的文件合并到一个数据库 /etc/security/exec_attr 中。在 Oracle Solaris 11 中,安全属性数据库 libsecdb 中的函数直接读取 exec_attr.d 中的片段,从而无需使用服务来执行合并。

/etc/security 中包含配置片段的其他目录(如 auth_attr.dprof_attr.d)会以类似方式进行处理。