デフォルトで、パッケージを提供したパブリッシャーの検索順序で先頭のパブリッシャーから、イメージの残りの部分と互換性のあるパッケージの最新バージョンがインストールされます。最新バージョンを明示的に要求するには、パッケージ FMRI のバージョン部分に latest を使用します。
パッケージがすでにインストールされている場合は、現在インストールされているバージョンを提供したパブリッシャーから、残りのイメージと互換性のある最新バージョンのパッケージをインストールすることによってパッケージが更新されます。
複数のパッケージが指定され、かつ指定されたパッケージのいずれかをこのイメージにインストールできない場合、指定されたパッケージは一切インストールされません。
パッケージが回避リストにある場合は、インストールすると回避リストから削除されます。回避リストについては、グループパッケージに含まれる一部のパッケージのインストールの回避を参照してください。
イメージで複数のパブリッシャーが有効になっている場合は、パブリッシャーのスティッキネスと検索順序を設定したり、またはパッケージ FMRI でパブリッシャーを指定したりすることによって、パッケージを提供するパブリッシャーを制御できます。また、インストールするバージョンをパッケージ FMRI で指定することもできます。パッケージ FMRI の説明については、障害管理リソース識別子を参照してください。パブリッシャーのスティッキネスと検索順序の設定については、パブリッシャーの構成を参照してください。
パッケージ名がパブリッシャーを指定しない場合、一致するパッケージを提供する最初のパブリッシャーがインストール元として使用されます。該当するパブリッシャーがこのイメージ内にインストール可能なパッケージのバージョンを提供しない場合、インストール操作は失敗します。このイメージにインストール可能なパッケージのバージョンを提供するパブリッシャーを確認するには、pkg list -a コマンドを使用します。
次のコマンドは、atool のインストール可能なバージョンが構成済みパブリッシャーから利用可能であるが、検索順序で最初のパブリッシャーには、このイメージにインストールできないバージョンがあることを示しています。pkg list コマンドのオプションについては、パッケージのインストール状態情報の表示を参照してください。
$ pkg list -a atool NAME (PUBLISHER) VERSION IFO atool (isvpub) 2.0 --- $ pkg list -af atool NAME (PUBLISHER) VERSION IFO atool 1.1 --- atool (isvpub) 2.0 ---
この場合、次のインストールコマンドは失敗します。パッケージシステムでは、検索順序の最初にあるパブリッシャーからパッケージ名 atool に一致するものが検索されますが、そのパッケージはインストールできません。
$ pkg install atool
このパッケージをインストールするには、次の例に示すように、より具体的なパッケージ名を指定します。
$ pkg install //isvpub/atool $ pkg install atool@2.0
実際にインストールを実行する前に、インストールされるものを確認するには、-nv オプションを使用します。エラーメッセージを受け取る場合、Appendix A, パッケージのインストールおよび更新のトラブルシューティングを参照してください。
指定したパッケージリポジトリまたはパッケージアーカイブを、パッケージデータの取得元になるイメージ内のソースのリストに一時的に追加するには、-g オプションを使用します。クライアント SSL 証明書が必要なリポジトリは、このオプションとともに使用できません。このオプションは、子イメージ (非大域ゾーン) を持つイメージでは使用できません。このイメージに非大域ゾーンがインストールされている場合は、pkg set-publisher コマンドを使用してこのパブリッシャーと起点を追加します。このオプションは複数回指定できます。
-g オプションを指定すると、パッケージの取得時に、イメージで有効になっているパブリッシャーが優先されます。
指定されたパッケージ名またはパッケージ名パターンに一致するパッケージが、イメージ内で有効になっているパブリッシャーから利用可能な場合に、その同じパブリッシャーが -g オプションで指定された場所に見つからないとき、パッケージシステムは、イメージ内で有効になっているパブリッシャーからパッケージをインストールしようとします。install または update のあとに、イメージ内で構成されていないパブリッシャーによって提供されるすべてのパッケージは、起点なしでイメージ構成に追加されます。
指定されたパッケージ名またはパッケージ名パターンに一致するパッケージが、イメージ内で有効になっているパブリッシャーから利用可能な場合に、その同じパブリッシャーが -g オプションで指定された場所にパッケージを発行しているとき、パッケージシステムは、-g オプションで指定された場所からパッケージをインストールしようとします。
次の例では、イメージ内に構成されている solaris パブリッシャーから btool パッケージが利用可能です。btool パッケージは、リポジトリの起点 http://pkg.example1.com/ の devtool パブリッシャーからも利用可能ですが、devtool パブリッシャーはイメージ内に構成されていません。イメージ内に構成されているパブリッシャーからパッケージが利用可能な場合は、構成済みのパブリッシャーが -g のソースより優先されるため、コマンドは solaris パブリッシャーからパッケージをインストールしようとします。
$ pkg install -g http://pkg.example1.com/ btool
devtool パブリッシャーからパッケージをインストールするには、パッケージ名にパブリッシャーの名前を指定します。
$ pkg install -g http://pkg.example1.com/ //devtool/btool
次の例で、isvpub は起点 /export/IPSpkgrepos/isvrepo でイメージ内に構成されているパブリッシャーです。isvpub パブリッシャーは http://pkg.example2.com/ にあるリポジトリにもパッケージを発行していますが、イメージ内で構成されているこのパブリッシャーにその起点は指定されていません。同じパブリッシャーが両方の場所にパッケージを提供しているため、次のコマンドは http://pkg.example2.com/ の場所からパッケージをインストールしようとします。
$ pkg install -g http://pkg.example2.com/ atool
パッケージパブリッシャーの追加、変更、削除にあるパブリッシャーのスティッキネスの説明も参照してください。