Go to main content

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

印刷ビューの終了

更新: 2018 年 8 月
 
 

グループパッケージに含まれる一部のパッケージのインストールの回避

指定したパッケージが group 依存関係のターゲットである場合に、それらのインストールを回避するには、pkg avoid コマンドを使用します。回避リストに含まれているパッケージでも、イメージとの互換性があるパッケージはいつでも明示的にインストールできます。回避リストに含まれているパッケージを明示的にインストールすると、そのパッケージは回避リストから削除されます。pkg avoid コマンドを使用すると、グループパッケージをインストールするときに、そのグループパッケージに含まれている指定したパッケージのインストールを回避できます。

引数を使用しない場合、pkg avoid コマンドは、回避される各パッケージとそのパッケージへのグループ依存関係のあるすべてのパッケージを表示します。

パッケージを指定した場合、pkg avoid コマンドは、指定されたパターンに現在一致するパッケージ名を回避リストに配置します。現在インストールされていないパッケージのみを回避できます。パッケージが現在グループ依存関係のターゲットである場合、パッケージをアンインストールするとそのパッケージは回避リストに登録されます。

回避リストに登録されているパッケージは、require 依存関係を満たすために必要であればインストールされ、したがって回避リストから削除されます。その require 依存関係が削除されると、パッケージはアンインストールされて回避リストにふたたび配置されます。

指定したパッケージを回避リストから明示的に削除する場合は、pkg unavoid コマンドを使用します。

回避リストに登録されており、インストール済みパッケージのグループ依存関係のターゲットであるパッケージは、pkg unavoid コマンドを使用して回避リストから削除することはできません。そのようなパッケージを回避リストから削除するには、そのパッケージをインストールします。

使用例 24  回避リストへのパッケージの追加と回避リストからのパッケージの削除

次のコマンド出力は、group/feature/amp グループパッケージがインストールされていないことを示しています。グループパッケージの一部であるパッケージの一部は、明示的に、またはほかのパッケージの require 依存関係としてインストールされたため、インストールされています。指定されたパッケージはインストールされていないため、pkg contents コマンドに -r オプションを使用します。

$ pkg list -a group/feature/amp
NAME (PUBLISHER)                                  VERSION                    IFO
group/feature/amp                                 5.12-5.12.0.0.0.110.0      ---
$ pkg list -a `pkg contents -o fmri -Hrt depend -a type=group group/feature/amp`
NAME (PUBLISHER)                                  VERSION                    IFO
database/mysql-56                                 5.6.29-5.12.0.0.0.110.0    ---
web/php-56                                        5.6.22-5.12.0.0.0.110.0    ---
web/server/apache-24                              2.4.23-5.12.0.0.0.110.0    i--
web/server/apache-24/module/apache-dbd            2.4.23-5.12.0.0.0.110.0    ---
web/server/apache-24/module/apache-fcgid          2.3.9-5.12.0.0.0.110.0     ---
web/server/apache-24/module/apache-ldap           2.4.23-5.12.0.0.0.110.0    ---
web/server/apache-24/module/apache-ssl            2.4.23-5.12.0.0.0.110.0    i--

次のコマンドは、まだインストールされておらずこのグループパッケージに属するパッケージの 1 つを回避リストに配置します。このグループパッケージはインストールされていないため、回避リストにグループパッケージは示されません。

$ pkg avoid mysql-56
$ pkg avoid
    database/mysql-56

次のコマンドは、回避されたパッケージがグループパッケージのインストール時にインストールされないことを示しています。指定されたパッケージがインストール済みであるため、pkg contents コマンドで -r オプションは使用されません。

$ pkg install group/feature/amp
$ pkg list -a `pkg contents -o fmri -Ht depend -a type=group group/feature/amp`
NAME (PUBLISHER)                                  VERSION                    IFO
database/mysql-56                                 5.6.29-5.12.0.0.0.110.0    ---
web/php-56                                        5.6.22-5.12.0.0.0.110.0    i--
web/server/apache-24                              2.4.23-5.12.0.0.0.110.0    i--
web/server/apache-24/module/apache-dbd            2.4.23-5.12.0.0.0.110.0    i--
web/server/apache-24/module/apache-fcgid          2.3.9-5.12.0.0.0.110.0     i--
web/server/apache-24/module/apache-ldap           2.4.23-5.12.0.0.0.110.0    i--
web/server/apache-24/module/apache-ssl            2.4.23-5.12.0.0.0.110.0    i--

グループパッケージのインストール後は、回避リストにグループパッケージが示されます。

$ pkg avoid
    database/mysql-56 (group dependency of 'group/feature/amp')

インストール済みのグループパッケージに含まれているパッケージは、pkg unavoid コマンドによって回避リストから削除されることはありません。そのようなパッケージを回避リストから削除するには、そのパッケージをインストールします。

$ pkg unavoid mysql-56
pkg unavoid: The following packages are a target of group dependencies; use install to unavoid these:
    database/mysql-56
$ pkg install mysql-56
$ pkg avoid
$

パッケージがすでにインストールされている場合、そのパッケージを回避リストに登録することはできません。パッケージをアンインストールすると、パッケージが回避リストに登録されます。

$ pkg avoid mysql-56
pkg avoid: The following packages are already installed in this image; use uninstall to avoid these:
    database/mysql-56
$ pkg uninstall mysql-56
$ pkg avoid
    database/mysql-56 (group dependency of 'group/feature/amp')

グループパッケージをアンインストールすると、回避されたパッケージは回避リストに残りますが、グループパッケージとの関連は回避リストに示されなくなります。

$ pkg uninstall group/feature/amp
$ pkg avoid
    database/mysql-56
$ pkg unavoid mysql-56
$ pkg avoid
$