ソフトウェアをインストールして更新するには、pkg クライアントがパッケージリポジトリに接続できる必要があります。
Ops Center を使用している場合は、Oracle Enterprise Manager Ops Center のパブリッシャーの構成を参照してください。
このイメージに対して構成されているパッケージパブリッシャーに関する情報を表示するには、pkg publisher コマンドを使用します。パブリッシャーは、パッケージ FMRI にパブリッシャーが指定されていない場合に、パッケージを見つけるために検索される順番で一覧表示されます。
デフォルトで、solaris パブリッシャーは、新しくインストールされた Oracle Solaris 11 システムに構成されます。パブリッシャーの起点を確認するには、pkg publisher コマンドを使用します。
$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ isvpub (non-sticky) origin online F file:///var/share/pkgrepos/isvrepo/ devtool (disabled) origin online F http://pkg.example.com/
TYPE 列は、LOCATION 値が起点かミラーかを示します。詳細は、リポジトリの起点とミラーを参照してください。
STATUS 列と LOCATION 列の間にある P 列は、その場所がプロキシ設定されているかどうかを指定します。この列の値は true (T) または false (F) です。ファイルリポジトリはプロキシ設定されません。値が T になっている HTTP リポジトリは、pkg set-publisher コマンドで起点が追加されたときに --proxy オプションで指定されたプロキシを使用してプロキシ設定されています。pkg publisher に -F tsv オプションを指定すると、その場所に設定されているプロキシが PROXY 列に表示されます。
$ pkg publisher -F tsv PUBLISHER STICKY SYSPUB ENABLED TYPE STATUS URI PROXY solaris true false true origin online http://pkg.oracle.com/solaris/release/ - isvpub false false true origin online file:///var/share/pkgrepos/isvrepo/ - devtool true false false origin online http://pkg.example.com/ -
P 列の F あるいは PROXY 列の - は、その場所が pkg set-publisher コマンドを使用してプロキシ設定されなかったことを示します。その場所が、http_proxy 環境変数を設定することによってプロキシ設定されている場合、pkg publisher からの出力は、F または - を表示したままになります。プロキシを設定するためのさまざまな方法については、プロキシの指定を参照してください。
それらのパブリッシャーの詳細構成を表示するには、名前でパブリッシャーを指定します。
$ pkg publisher solaris Publisher: solaris Alias: Origin URI: https://pkg.oracle.com/solaris/support/ Origin Status: Online SSL Key: /var/pkg/ssl/458a3a3690dbdd688dc47aa2e66317b7ecc3ff12 SSL Cert: /var/pkg/ssl/01bffa3f4f7bc8cf164e8719fbf1a3a43a82f893 Cert. Effective Date: Thu Jun 22 17:09:43 2017 Cert. Expiration Date: Sun Jun 30 17:09:43 2019 Client UUID: f892c512-6c3f-11e5-befc-7f447de68cea Catalog Updated: Mon Aug 06 19:36:55 2018 Enabled: Yes
クライアント UUID はこのイメージの一意識別子です。
パブリッシャーの検索順序の先頭のパブリッシャーのみを表示する場合は、-P オプションを使用します。
$ pkg publisher -P PUBLISHER TYPE STATUS P LOCATION solaris origin online F https://pkg.oracle.com/solaris/support/
有効になっているパブリッシャーのみを表示する場合は、-n オプションを使用します。
$ pkg publisher -n PUBLISHER TYPE STATUS P LOCATION solaris origin online F https://pkg.oracle.com/solaris/support/ isvpub (non-sticky) origin online F file:///var/share/pkgrepos/isvrepo/
次の操作を実行するには、pkg set-publisher コマンドを使用します。
新しいパブリッシャーを構成する
パブリッシャーの起点とミラーを設定する
パブリッシャーのスティッキネスを設定する
パブリッシャーの検索順序を設定する
パブリッシャープロパティーを設定または設定解除したり、パブリッシャープロパティー値を追加または削除したりする
パブリッシャーの SSL 鍵および証明書を指定する
パブリッシャーのプロキシを設定する
パブリッシャーを有効または無効にする
パブリッシャーを削除する
pkg set-publisher コマンドには 2 つの形式があります。詳細は、pkg(1) のマニュアルページを参照してください。
1 つの形式では、パブリッシャーの名前が必須オペランドになります。
別の形式では、リポジトリ URI が -p オプションの引数として指定され、パブリッシャー情報はその指定されたリポジトリから取得されます。パブリッシャー名がオプションのオペランドになるため、複数のパブリッシャーがそのリポジトリにパッケージを公開する場合は、名前が付いたパブリッシャーのみ構成することができます。
以下の例は、パブリッシャーを追加するための 2 つの方法を示します。
使用例 20 新しいパブリッシャーの指定次のコマンドは、-g オプションで指定した起点 URI を持つ devtool という新しいパブリッシャーを追加し、このパブリッシャーが検索順序の先頭になるように設定します。指定したパブリッシャーを検索順序の先頭に設定するには、-P オプションまたは --search-first オプションを使用します。
$ pkg set-publisher -P -g http://pkg.example.com/release/ devtool使用例 21 パブリッシャー構成のインポート
指定したリポジトリ URI からパブリッシャーの構成情報を取得するには、-p オプションを使用します。
$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ $ pkgrepo -s /var/share/pkgrepos/myrepo/ info PUBLISHER PACKAGES STATUS UPDATED site 7 online 2018-04-14T18:32:46.854674Z solaris 6143 online 2018-04-15T00:45:52.227891Z solarisstudio 112 online 2018-04-12T19:29:52.173011Z
パブリッシャーを指定した場合、一致するパブリッシャーのみが追加または更新されます。
$ pkg set-publisher -p /var/share/pkgrepos/myrepo site $ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ site origin online F file:///var/share/pkgrepos/myrepo/
パブリッシャーを指定しない場合、すべてのパブリッシャーが必要に応じて追加または更新されます。
$ pkg set-publisher -p /var/share/pkgrepos/myrepo Updated publisher(s): solaris $ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///var/share/pkgrepos/myrepo/ solaris origin online F http://pkg.oracle.com/solaris/release/ site origin online F file:///var/share/pkgrepos/myrepo/ solarisstudio origin online F file:///var/share/pkgrepos/myrepo/
次のコマンドは、solaris パブリッシャーに起点を追加する方法を示しています。イメージ内の特定のパブリッシャーに対して複数の起点が構成されている場合、IPS クライアントは、パッケージデータの取得元として最適な起点を選択しようとします。たとえば、地理的に異なる場所にあるシステムに対してパブリッシャーの起点の同じセットを使用する場合、IPS クライアントは、その特定の時点で各システムに最適な起点を選択しようとします。
$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ $ pkg set-publisher -g /var/share/pkgrepos/solaris solaris $ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ solaris origin online F file:///var/share/pkgrepos/solaris/
指定したパブリッシャーの起点として URI を削除するには、-G オプションを使用します。
パブリッシャーの起点 URI を変更するには、新しい URI を追加し、古い URI を削除します。
$ pkg set-publisher -G '*' -g file:///var/share/pkgrepos/isvrepo/ isvpub
次の例では、新しい起点が使用不可な起点として追加されます。solaris パブリッシャーおよび元の起点はすでに有効化されています。
$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ $ pkg set-publisher --disable -g /var/share/pkgrepos/solaris solaris
/var/share/pkgrepos/solaris/ 起点は無効化されており、このことは STATUS 列が disabled と表示され、Origin Status 行が Disabled で、ENABLED 列が false であることによって示されています。
$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin disabled F file:///var/share/pkgrepos/solaris/ solaris origin online F http://pkg.oracle.com/solaris/release/ $ pkg publisher solaris Publisher: solaris Alias: Origin URI: file:///var/share/pkgrepos/solaris/ Origin Status: Disabled SSL Key: None SSL Cert: None Origin URI: http://pkg.oracle.com/solaris/release/ Origin Status: Online SSL Key: None SSL Cert: None Client UUID: 97f0e8c2-217e-11e4-b444-13b4eaeb0609 Catalog Updated: Wed Aug 02 05:10:59 2017 Enabled: Yes Properties: signature-policy = verify $ pkg publisher -F tsv PUBLISHER STICKY SYSPUB ENABLED TYPE STATUS URI PROXY solaris false false false origin online file:///var/share/pkgrepos/solaris/ - solaris false false true origin online http://pkg.oracle.com/solaris/release/ -
次の例では、無効化されている既存の起点が有効化されます。
$ pkg set-publisher --enable -g /var/share/pkgrepos/solaris solaris $ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///var/share/pkgrepos/solaris/ solaris origin online F http://pkg.oracle.com/solaris/release/
次の 2 つのコマンドは同等です。
$ pkg set-publisher -g /var/share/pkgrepos/solaris solaris $ pkg set-publisher --enable -g /var/share/pkgrepos/solaris solaris
次の 2 つのコマンドは同等の効果があります。
$ pkg set-publisher --disable solaris $ pkg set-publisher --disable -g '*' solaris
指定したパブリッシャーのミラーとして URI を追加するには、-m オプションを使用します。起点とミラーの違いについては、リポジトリの起点とミラーを参照してください。同じパッケージの同じバージョンが、同じパブリッシャーの起点リポジトリ内にも存在しないかぎり、ミラーリポジトリの内容にアクセスすることはできません。
$ pkg set-publisher -m http://pkg2.example.com/ devtool $ pkg publisher PUBLISHER TYPE STATUS P LOCATION devtool origin online F http://pkg.example.com/ devtool mirror online F http://pkg2.example.com/
指定したパブリッシャーのミラーとして URI を削除するには、-M オプションを使用します。
パブリッシャーのミラー URI を変更するには、新しい URI を追加し、古い URI を削除します。
新しく追加されたパブリッシャーは、デフォルトで固定です。パブリッシャーが非固定の場合は、このパブリッシャーからインストールされたパッケージを別のパブリッシャーから更新できます。パブリッシャーのスティッキネスを設定するには、--sticky および --non-sticky オプションを使用します。
新しく追加されたパブリッシャーは、デフォルトで検索順序の最後になります。パブリッシャーの検索順序は、インストールするパッケージを検索するために使用されます。パッケージが最初にインストールされたときのパブリッシャーが非固定の場合は、更新するパッケージを検索するためにパブリッシャーの検索順序が使用されます。パブリッシャーの検索を変更するには、--search-before、--search-after、および --search-first オプションを使用します。-P オプションは、--search-first オプションの同義語です。
一致するパッケージを提供する最初のパブリッシャーがインストール元として使用されます。該当するパブリッシャーがこのイメージ内にインストール可能なパッケージのバージョンを提供しない場合、インストール操作は失敗します。この検索順序でさらに下にあるパブリッシャーからインストールするには、パブリッシャーの名前やパッケージのバージョン文字列などの詳細情報をパッケージ FMRI に指定します。
パブリッシャープロパティーを設定および設定解除したり、パブリッシャープロパティーの値を追加および削除したりするには、次のオプションを使用します。
--set-property property=value
--add-property-value property=value
--remove-property-value property=value
--unset-property property
publisher-search-order および signature-required-names プロパティーは、複数の値を取ることができます。
パッケージの署名プロパティーの構成の pkg set-publisher の例を参照してください。
クライアントの SSL 鍵を指定するには、-k オプションを使用します。クライアントの SSL 証明書を指定するには、-c オプションを使用します。このパブリッシャーに対する pkg publisher コマンドの出力に、鍵と証明書のハッシュが一覧表示されます。パブリッシャー情報の表示および SSL 証明書の問題を参照してください。
$ pkg set-publisher -k /tmp/keyfile -c /tmp/certfile publisher-name
各パブリッシャーには 1 つだけの鍵と証明書を指定できます。パブリッシャーに複数のセキュアな起点が構成されている場合、すべてのセキュアな起点で 1 つの鍵と証明書を共有します。
使用例 23 パブリッシャーの鍵と証明書の取り消し指定した証明書を取り消された証明書として扱うには、--revoke-ca-cert オプションを使用します。ユーザーが取り消した CA 証明書のハッシュが、このパブリッシャーに対する pkg publisher コマンドの出力に一覧表示されます。
承認された証明書の一覧および取り消された証明書の一覧から指定した証明書を削除するには、--unset-ca-cert オプションを使用します。
指定した起点またはミラーの内容を取得する永続的なプロキシ URI を指定するには、--proxy オプションを使用します。プロキシを設定するための詳細およびさまざまな方法については、プロキシの指定を参照してください。
新しく追加されたパブリッシャーは、デフォルトで有効になります。無効なパブリッシャーは、パッケージリストの作成時や install、uninstall、または update 更新パッケージ操作で使用されません。無効なパブリッシャーのプロパティーを設定または表示することはできます。1 つだけのパブリッシャーが有効な場合、そのパブリッシャーは無効にできません。
次のコマンドは、isvpub パブリッシャーを有効にし、それを検索順序で devtool パブリッシャーの前に設定します。
$ pkg set-publisher --enable --search-before devtool isvpub
パブリッシャーを無効にするには --disable オプションを使用します。パブリッシャーの起点が一時的に使用できないなどの場合にパブリッシャーを無効にする場合があります。すべてのパブリッシャーが使用できない場合、パッケージのインストールおよび更新操作は失敗します。
パブリッシャーを削除するには、pkg unset-publisher コマンドを使用します。
$ pkg unset-publisher devtool
プロキシを設定する方式により、効果と利点は異なります。たとえば、pkg set-publisher コマンドは、パブリッシャー構成の一部としてプロキシを格納し、http_proxy 環境変数を使用すると、認証済みプロキシを設定できます。
pkg set-publisher コマンドの --proxy オプションは、指定されたパブリッシャーの起点とミラー URI の永続的プロキシ URI を設定します。プロキシ値は、パブリッシャーの構成の一部として格納されます。パブリッシャーの構成の一部としてプロキシ値を格納することで、子イメージによって使用されるシステムリポジトリが自動的に更新されます。パブリッシャーの構成の一部としてプロキシ値を格納することは、異なるパブリッシャーに対して異なるプロキシを使用できるということも意味します。
次の例で、proxyURI の値は次のようになり、protocol は http または https で、:port はオプションです。
protocol://host-name[:port]
--proxy オプションを使用して認証済みプロキシを設定することはできません。次の形式の proxyURI 値はサポートされていません。
protocol://user:password@host
$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///var/share/pkgrepos/solaris/ $ pkg publisher -F tsv PUBLISHER STICKY SYSPUB ENABLED TYPE STATUS URI PROXY solaris true false true origin online file:///var/share/pkgrepos/solaris/ - $ pkg set-publisher -g http://pkg.oracle.com/solaris/release/ --proxy proxyURI solaris $ pkg publisher solaris Publisher: solaris Alias: Origin URI: file:///var/share/pkgrepos/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:///var/share/pkgrepos/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:///var/share/pkgrepos/solaris/ - solaris true false true origin online http://pkg.oracle.com/solaris/release/ proxyURI
このイメージに非大域ゾーンがある場合、システムリポジトリはこのプロキシ情報を使用して自動的に更新されます。system-repository サービスにプロパティーを設定する必要はありません。非大域ゾーン内のパブリッシャープロキシを調べた場合、大域ゾーンに表示されるものと同じプロキシ URI は表示されません。大域ゾーンでは、システムリポジトリはプロキシ URI を使用します。非大域ゾーンでは、システムリポジトリはプロキシそのものとして機能し、非大域ゾーンが大域ゾーンのシステムリポジトリと通信できるようになります。大域ゾーンと非大域ゾーンの関係に、非大域ゾーン内でシステムリポジトリパブリッシャーが表示された場合の例が示されています。
プロキシ環境変数値は、そのプロトコルのすべての URI に適用されます。実行時は、http_proxy 環境変数の値が、pkg set-publisher コマンドの --proxy オプションで設定された値をオーバーライドします。プロキシ環境変数の詳細および受け入れられる環境変数名のリストについては、curl(1) マニュアルページの環境セクションを参照してください。
次の例で、proxyURI の値は次のようになります。
[http://|https://](host-name|ipv4_address|[ipv6_address])[:port]
スキームは http:// または https:// のいずれかとすることができます。スキームが指定されない場合、http:// とみなされます。
プロキシにはホスト名またはドット付き数値 IP アドレスを含める必要があります。
数値 IPv6 アドレスは、角括弧 [] で囲む必要があります。
ポート番号を指定するには、ホスト名の末尾に :port を付けます。指定しない場合、デフォルトポートは 1080 です。
非大域ゾーンを持つイメージ内で http_proxy 環境変数を設定した場合、svc:/application/pkg/system-repository SMF サービス内のプロキシプロパティーをこれらの同じ値に設定して、サービスをリフレッシュします。
http_proxy 環境変数の値を変更した場合、system-repository サービスプロパティーを更新してサービスをリフレッシュするようにしてください。
$ svccfg -s system-repository:default setprop config/http_proxy = 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 サービスプロパティーを設定することによって設定されたプロキシを表示しません。