Go to main content

Oracle® Solaris 11.4 のシステムの更新およびソフトウェアの追加

印刷ビューの終了

更新: 2018 年 8 月
 
 

パブリッシャーの構成

ソフトウェアをインストールして更新するには、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 の例を参照してください。

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

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

クライアントの 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 オプションを使用します。プロキシを設定するための詳細およびさまざまな方法については、プロキシの指定を参照してください。

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

新しく追加されたパブリッシャーは、デフォルトで有効になります。無効なパブリッシャーは、パッケージリストの作成時や 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 を設定します。プロキシ値は、パブリッシャーの構成の一部として格納されます。パブリッシャーの構成の一部としてプロキシ値を格納することで、子イメージによって使用されるシステムリポジトリが自動的に更新されます。パブリッシャーの構成の一部としてプロキシ値を格納することは、異なるパブリッシャーに対して異なるプロキシを使用できるということも意味します。

次の例で、proxyURI の値は次のようになり、protocolhttp または 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 サービスプロパティーを設定することによって設定されたプロキシを表示しません。