プロキシを設定する方式により、効果と利点は異なります。たとえば、pkg set-publisher コマンドは、パブリッシャー構成の一部としてプロキシを格納し、http_proxy 環境変数を使用すると、認証済みプロキシを設定できます。
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 サービスプロパティーを更新してサービスをリフレッシュするようにしてください。