Go to main content
Oracle® Solaris 11.3 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2017 年 3 月
 
 

パブリッシャーの構成

ソフトウェアをインストールして更新するには、pkg クライアントがパッケージリポジトリに接続できる必要があります。

Ops Center を使用している場合は、Configuring Publishers in 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.example1.com/

TYPE 列は、LOCATION 値が起点かミラーかを示します。詳細は、Repository Origins and Mirrorsを参照してください。

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.example1.com/               -

P 列の F あるいは PROXY 列の - は、その場所が pkg set-publisher コマンドを使用してプロキシ設定されなかったことを示します。その場所が、http_proxy 環境変数を設定することによってプロキシ設定されている場合、pkg publisher からの出力は、F または - を表示したままになります。プロキシを設定するためのさまざまな方法については、Specifying a Proxyを参照してください。

それらのパブリッシャーの詳細構成を表示するには、名前でパブリッシャーを指定します。

$ pkg publisher solaris
       Publisher: solaris
           Alias:
      Origin URI: http://pkg.oracle.com/solaris/release/
         SSL Key: None
        SSL Cert: None
     Client UUID: e15e3228-eada-11df-80ab-8023183d954b
 Catalog Updated: March 4, 2014 11:48:02 PM
         Enabled: Yes
      Properties:
                  proxied-urls = []

クライアント UUID はこのイメージの一意識別子です。

パブリッシャーの検索順序の先頭のパブリッシャーのみを表示する場合は、-P オプションを使用します。

$ pkg publisher -P
PUBLISHER                   TYPE    STATUS P LOCATION
solaris                     origin  online F http://pkg.oracle.com/solaris/release/

有効になっているパブリッシャーのみを表示する場合は、-n オプションを使用します。

$ pkg publisher -n
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/

パッケージパブリッシャーの追加、変更、削除

次の操作を実行するには、pkg set-publisher コマンドを使用します。

  • 新しいパブリッシャーを構成する

  • パブリッシャーの起点とミラーを設定する

  • パブリッシャーのスティッキネスを設定する

  • パブリッシャーの検索順序を設定する

  • パブリッシャープロパティーを設定または設定解除したり、パブリッシャープロパティー値を追加または削除する

  • パブリッシャーの SSL 鍵および証明書を指定する

  • パブリッシャーのプロキシを設定する

  • パブリッシャーを有効または無効にする

  • パブリッシャーを削除する

pkg set-publisher コマンドには 2 つの形式があります。詳細は、pkg(1) のマニュアルページを参照してください。

  • 1 つの形式では、パブリッシャーの名前が必須オペランドになります。

  • 別の形式では、リポジトリ URI が -p オプションの引数として指定され、パブリッシャー情報はその指定されたリポジトリから取得されます。パブリッシャー名がオプションのオペランドになるため、複数のパブリッシャーがそのリポジトリにパッケージを公開する場合は、名前が付いたパブリッシャーのみ構成することができます。

パブリッシャーの追加

以下の例は、パブリッシャーを追加するための 2 つの方法を示します。

使用例 19  新しいパブリッシャーの指定

次のコマンドは、-g オプションで指定した起点 URI を持つ devtool という新しいパブリッシャーを追加し、このパブリッシャーが検索順序の先頭になるように設定します。指定したパブリッシャーを検索順序の先頭に設定するには、-P オプションまたは --search-first オプションを使用します。

$ pkg set-publisher -P -g http://pkg.example1.com/release/ devtool
使用例 20  パブリッシャー構成のインポート

指定したリポジトリ URI からパブリッシャーの構成情報を取得するには、-p オプションを使用します。パブリッシャーを指定した場合、一致するパブリッシャーのみが追加または更新されます。パブリッシャーを指定しない場合、すべてのパブリッシャーが必要に応じて追加または更新されます。

$ pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://pkg.oracle.com/solaris/release/
$ pkg set-publisher -p /var/share/pkgrepos/myrepo
$ 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/

パブリッシャーの起点の追加と変更

次のコマンドは、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

パブリッシャーのミラーの追加と変更

指定したパブリッシャーのミラーとして URI を追加するには、-m オプションを使用します。起点とミラーの違いについては、Repository Origins and Mirrorsを参照してください。同じパッケージの同じバージョンが、同じパブリッシャーの起点リポジトリ内にも存在しないかぎり、ミラーリポジトリの内容にアクセスすることはできません。

$ pkg set-publisher -m http://pkg.example3.com/ devtool
$ pkg publisher
PUBLISHER                   TYPE    STATUS P LOCATION
devtool                     origin  online F http://pkg.example1.com/
devtool                     mirror  online F http://pkg.example3.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 プロパティーは、複数の値を取ることができます。

Configuring Package Signature Propertiespkg set-publisher の例を参照してください。

パブリッシャーの鍵と証明書の構成

使用例 21  パブリッシャーの鍵と証明書の指定

クライアントの SSL 鍵を指定するには、-k オプションを使用します。クライアントの SSL 証明書を指定するには、-c オプションを使用します。このパブリッシャーに対する pkg publisher コマンドの出力に、鍵と証明書のハッシュが一覧表示されます。Displaying Publisher Informationおよび SSL Certificate Problemを参照してください。

$ pkg set-publisher -k /tmp/keyfile -c /tmp/certfile publisher-name

各パブリッシャーには 1 つだけの鍵と証明書を指定できます。パブリッシャーに複数のセキュアな起点が構成されている場合、すべてのセキュアな起点で 1 つの鍵と証明書を共有します。

使用例 22  パブリッシャーの鍵と証明書の取り消し

指定した証明書を取り消された証明書として扱うには、--revoke-ca-cert オプションを使用します。ユーザーが取り消した CA 証明書のハッシュが、このパブリッシャーに対する pkg publisher コマンドの出力に一覧表示されます。

承認された証明書の一覧および取り消された証明書の一覧から指定した証明書を削除するには、--unset-ca-cert オプションを使用します。

パブリッシャープロキシの構成

指定した起点またはミラーの内容を取得する永続的なプロキシ URI を指定するには、--proxy オプションを使用します。プロキシの値は protocol://host-name[:port] で、protocolhttp または https で、:port はオプションです。プロキシを設定するためのさまざまな方法については、Specifying a Proxyを参照してください。

パブリッシャーの有効化および無効化

新しく追加されたパブリッシャーは、デフォルトで有効になります。無効なパブリッシャーは、パッケージリストの作成時や installuninstall、または 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 コマンドの設定

pkg set-publisher コマンドの --proxy オプションは、指定されたパブリッシャーの起点とミラー URI の永続的プロキシ URI を設定します。プロキシ値は、パブリッシャーの構成の一部として格納されます。パブリッシャーの構成の一部としてプロキシ値を格納することで、子イメージによって使用されるシステムリポジトリが自動的に更新されます。パブリッシャーの構成の一部としてプロキシ値を格納することは、異なるパブリッシャーに対して異なるプロキシを使用できるということも意味します。

$ 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 を使用します。非大域ゾーンでは、システムリポジトリはプロキシそのものとして機能し、非大域ゾーンが大域ゾーンのシステムリポジトリと通信できるようになります。Relationship Between Global and Non-Global Zonesに、非大域ゾーン内でシステムリポジトリパブリッシャーが表示された場合の例が示されています。

pkg set-publisher コマンドの --proxy オプションを使用して、認証済みポリシーを設定することはできません。--proxy オプションの値を、protocol://user:password@host-name の形式にすることはできません。

プロキシを設定するための環境変数の使用

プロキシ環境変数値は、そのプロトコルのすべての 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 サービスプロパティーを更新してサービスをリフレッシュするようにしてください。