最終的に必要な結果が正確にわかっていて、その結果に到達するために、大量のパッケージをアンインストールするなどの大量のパッケージ変更が必要な場合、pkg exact-install コマンドを使用した方がよい場合もあります。pkg exact-install コマンドの結果は、指定されたパッケージとそれらの依存関係のみがインストールされたイメージとなります。現在インストール済みのパッケージのうち、pkg exact-install コマンド行で指定されず、指定されたパッケージの依存関係でもないものは、削除されます。
pkg exact-install コマンドは、回避リストにあるパッケージをインストールしないという制約を無視します。パッケージが回避リストにある場合は、インストールすると回避リストから削除されます。回避リストについては、グループパッケージに含まれる一部のパッケージのインストールの回避を参照してください。pkg exact-install コマンドは、凍結リストにあるパッケージを更新しないという制約を無視します。凍結されたパッケージについては、指定したバージョンへのパッケージのロックを参照してください。
それ以外については、exact-install サブコマンドは install サブコマンドと同じように動作します。イメージバリアントとファセットの設定、イメージプロパティー設定、およびパブリッシャー設定は保持されます。いずれかのパッケージをこのイメージにインストールできない場合、指定されたパッケージは一切インストールされません。非大域ゾーンの操作に記載されているように、非大域ゾーンはパッケージの更新または削除の結果による影響を受けます。exact-install には -r オプションを使用できません。
パブリッシャーのスティッキネスと検索順序および -g オプションの使用については、新しいパッケージのインストールを参照してください。
pkg exact-install コマンドを使用する際は、次のプラクティスを推奨します。
インストール可能なパッケージに記載されているように、pkg list -a を使用して、構成済みのパブリッシャーから使用可能なパッケージのバージョンを確認します。exact-install を使用して現在のバージョンを再インストールする場合、新しいバージョンがインストール可能であれば、インストールするパッケージの一覧にパッケージ FMRI のバージョン部分を指定する必要があります。
インストールするパッケージの一覧に、entire incorporation パッケージを含めます。
インストールするパッケージの一覧に、solaris-minimal-server パッケージなどのシステムグループパッケージの 1 つを含めます。
-nv または -nvv オプションを付けてコマンドを最初に実行し、インストールされるものと削除されるものを正確に調べます。
わかりやすい名前を持つ新規 BE にインストールするために、--be-name オプションを使用します。
次の例では、現在のイメージと同じバージョンの最小インストールによる新規イメージが作成されます。
$ pkg list -Hv entire pkg://solaris/entire@0.5.11,5.11-0.175.2.0.0.34.0:20140303T182643Z $ pkg exact-install --be-name s11.2 entire@0.5.11,5.11-0.175.2.0.0.34 solaris-minimal-server