在 Oracle® Solaris 11.2 中添加和更新软件

退出打印视图

更新时间: 2014 年 7 月
 
 

指定代理

各种设置代理的方法具有不同的效果和优点。例如,pkg set-publisher 命令将代理存储为发布者配置的一部分,而 http_proxy 环境变量能让您设置已验证的代理。

使用 pkg set-publisher 命令设置代理

pkg set-publisher 命令的 --proxy 选项可为指定发布者的源和镜像 URI 设置持久代理 URI。代理值存储在发布者配置中。将代理值存储为发布者配置的一部分可自动更新子映像使用的系统信息库。将代理值存储为发布者配置的一部分还意味着可以为不同的发布者使用不同的代理。

$ pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///export/IPSpkgrepos/Solaris/
$ pkg publisher -F tsv
PUBLISHER STICKY SYSPUB ENABLED TYPE   STATUS URI                                 PROXY
solaris   true   false  true    origin online file:///export/IPSpkgrepos/Solaris/ -
$ pkg set-publisher -g http://pkg.oracle.com/solaris/release/ --proxy proxyURI solaris
$ pkg publisher solaris
      Publisher: solaris
          Alias:
     Origin URI: file:///export/IPSpkgrepos/Solaris/
        SSL Key: None
       SSL Cert: None
     Origin URI: http://pkg.oracle.com/solaris/release/
          Proxy: proxyURI
        SSL Key: None
       SSL Cert: None
    Client UUID: e15e3228-eada-11df-80ab-8023183d954b
Catalog Updated: July 11, 2013 11:32:46 PM
        Enabled: Yes
     Properties:
                 proxied-urls = []
$ pkg publisher
PUBLISHER                   TYPE    STATUS P LOCATION
solaris                     origin  online F file:///export/IPSpkgrepos/Solaris/
solaris                     origin  online T http://pkg.oracle.com/solaris/release/
$ pkg publisher -F tsv
PUBLISHER STICKY SYSPUB ENABLED TYPE   STATUS URI                                 PROXY
solaris   true   false  true    origin online file:///export/IPSpkgrepos/Solaris/ -
solaris   true   false  true    origin online http://pkg.oracle.com/solaris/release/ proxyURI

如果此映像具有非全局区域,则会使用此代理信息自动更新系统信息库,您不需要在 system-repository 服务中设置属性。在非全局区域检查发布者代理时,您无法看到在全局区域中可以看到的相同代理 URI。在全局区域中,系统信息库使用代理 URI。在非全局区域中,系统信息库自身作为代理,使非全局区域能与全局区域中的系统信息库通信。非全局区域中的系统信息库发布者类似于全局和非全局区域的关系所示的示例。

pkg set-publisher 命令的 --proxy 选项无法用于设置已验证的代理。--proxy 选项值的格式不能是 protocol://user:password@host

使用环境变量设置代理

代理环境变量值应用于该协议的所有 URI。在运行时,http_proxy 环境变量的值将覆盖使用 pkg set-publisher 命令的 --proxy 选项设置的值。有关代理环境变量的其他信息,请参见 curl(1) 手册页的“环境”部分。

如果在具有非全局区域的映像中设置 http_proxy 环境变量,请在全局区域中,将 svc:/application/pkg/system-repository SMF 服务的代理属性设置为这些相同值并刷新服务。

$ svccfg -s system-repository:default setprop config/http_proxy = astring: proxyURI
$ svccfg -s system-repository:default listprop config/*proxy
config/https_proxy astring
config/http_proxy  astring     proxyURI
$ svcprop system-repository:default | grep proxy
config/https_proxy astring ""
config/http_proxy astring ""
$ svcadm refresh system-repository:default
$ svcprop system-repository:default | grep proxy
config/https_proxy astring ""
config/http_proxy astring proxyURI

pkg publisher 命令不会显示通过设置环境变量或 SMF 服务属性设置的代理。

如果更改 http_proxy 环境变量的值,请确保更新 system-repository 服务属性并刷新该服务。