在非全局区域中,系统信息库提供对全局区域中配置的软件包系统信息库的访问。所有非全局区域通过系统信息库来立即了解对全局区域进行的发布者配置更改。
在非全局区域中配置的发布者的源或镜像必须能从全局区域访问,即使未在全局区域发布者列表中配置该位置也是如此。例如,如果已在非全局区域中配置了 localsw 发布者但未在全局区域中配置,则必须能从全局区域访问 localsw 发布者的所有源和镜像。
系统信息库可以代理 http、https 和 v4 文件系统信息库以及 .p5p 归档系统信息库。
区域代理是用于支持在区域中运行 pkg 命令,以与在全局区域中运行的系统信息库进行通信的一种服务。区域代理由两部分组成。以下服务在全局区域中运行:
svc:/application/pkg/zones-proxyd:default
以下服务在非全局区域中运行:
svc:/application/pkg/zones-proxy-client:default
有关系统信息库和区域代理服务的更多信息,请参见 pkg.sysrepo(1M) 手册页。
以下示例显示了全局区域中的发布者:
global:~$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ solaris origin online F file:///export/IPSpkgrepos/Solaris/ devtool (disabled) origin online F http://pkg.example1.com/ isvpub origin online F http://pkg.example2.com/
以下示例显示当您登录到非全局区域时,这些相同的发布者如何显示:
z1:~$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris (syspub) origin online T <system-repository> isvpub (syspub) origin online T <system-repository> z1:~$ pkg publisher -F tsv PUBLISHER STICKY SYSPUB ENABLED TYPE STATUS URI PROXY solaris true true true origin online http://pkg.oracle.com/solaris/release/ http: //localhost:1008 isvpub true true true origin online http://pkg.example2.com/ http: //localhost:1008
在非全局区域中,系统信息库始终显示为代理。这是非全局区域用来与全局区域中的系统信息库进行通信的代理。
您无法在非全局区域中重新配置系统信息库。例如,您无法更改位置为 <system-repository> 的发布者的源或属性,也无法更改这些发布者的发布者搜索顺序。如果在全局区域中添加或重新配置发布者,非全局区域可立即看到这些更改。如果在全局区域中取消对发布者的设置,也会在非全局区域中取消对该发布者的设置,除非非全局区域安装了来自该发布者的软件包。
如果无法访问发布者,可在全局区域中设置代理,如指定代理中所述。有关在您具有非全局区域时设置代理的更多信息(包括何时及如何使用 http_proxy 和 https_proxy 环境变量的说明),请参见创建和使用 Oracle Solaris 区域 中的在安装了区域的系统上进行代理配置。
对于已在全局区域中配置的发布者,在全局区域和非全局区域中运行以下 pkg list 命令会得到相同的结果。
z1:~$ pkg list -a isvtool NAME (PUBLISHER) VERSION IFO isvtool (isvpub) 2.0 --- isvtool (isvpub) 1.0 ---
系统信息库可以是非全局区域能够访问的网络或文件系统,即使未在全局区域中配置这些系统信息库也是如此。非全局区域发布者配置必须与全局区域发布者配置匹配,或者必须是全局区域发布者配置的超集。例如,可以在非全局区域中为 localsw 发布者配置 file:///export/IPSpkgrepos/localrepo 源,因为即使未在全局区域中配置 localsw 发布者,也可以在全局区域中访问该位置。