Oracle® Solaris 11.2 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2014 年 7 月
 
 

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

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

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

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

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

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

回避リストに登録されており、インストール済みパッケージのグループ依存関係に一致するパッケージは、unavoid サブコマンドを使用して回避リストから削除できません。グループ依存性に一致するパッケージを回避リストから削除するには、パッケージをインストールします。

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

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

$ pkg list -a group/feature/amp
NAME (PUBLISHER)                                  VERSION                    IFO
group/feature/amp                                 0.5.11-0.175.2.0.0.33.0    ---
$ pkg list -a `pkg contents -o fmri -Hrt depend -a type=group group/feature/amp`
NAME (PUBLISHER)                                  VERSION                    IFO
database/mysql-51                                 5.1.37-0.175.2.0.0.34.0    ---
web/php-52                                        5.2.17-0.175.2.0.0.34.0    i--
web/php-52/extension/php-apc                      3.0.19-0.175.2.0.0.34.0    i--
web/php-52/extension/php-mysql                    5.2.17-0.175.2.0.0.34.0    i--
web/server/apache-22                              2.2.26-0.175.2.0.0.34.0    i--
web/server/apache-22/module/apache-dtrace         0.3.1-0.175.2.0.0.34.0     ---
web/server/apache-22/module/apache-fcgid          2.3.9-0.175.2.0.0.34.0     ---
web/server/apache-22/module/apache-php5           5.2.17-0.175.1.0.0.18      --r

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

$ pkg avoid apache-fcgid
$ pkg avoid
    web/server/apache-22/module/apache-fcgid

次のコマンドは、回避されたパッケージがグループパッケージのインストール時にインストールされないことを示しています。指定されたパッケージがインストール済みであるため、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-51                                 5.1.37-0.175.2.0.0.34.0    i--
web/php-52                                        5.2.17-0.175.2.0.0.34.0    i--
web/php-52/extension/php-apc                      3.0.19-0.175.2.0.0.34.0    i--
web/php-52/extension/php-mysql                    5.2.17-0.175.2.0.0.34.0    i--
web/server/apache-22                              2.2.26-0.175.2.0.0.34.0    i--
web/server/apache-22/module/apache-dtrace         0.3.1-0.175.2.0.0.34.0     i--
web/server/apache-22/module/apache-fcgid          2.3.9-0.175.2.0.0.34.0     ---
web/server/apache-22/module/apache-php5           5.2.17-0.175.1.0.0.18      i-r

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

$ pkg avoid
    web/server/apache-22/module/apache-fcgid (group dependency of 'group/feature/amp')

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

$ pkg unavoid apache-fcgid
pkg unavoid: The following packages are a target of group dependencies; use install to unavoid these:
    web/server/apache-22/module/apache-fcgid
$ pkg install apache-fcgid
$ pkg avoid
$

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

$ pkg avoid apache-fcgid
pkg avoid: The following packages are already installed in this image; use uninstall to avoid these:
    web/server/apache-22/module/apache-fcgid
$ pkg uninstall apache-fcgid
$ pkg avoid
    web/server/apache-22/module/apache-fcgid (group dependency of 'group/feature/amp')

グループパッケージに含まれているパッケージをアンインストールすると、そのパッケージは自動的に回避リストに登録されます。

$ pkg uninstall database/mysql-51
$ pkg avoid
    database/mysql-51 (group dependency of 'group/feature/amp')
    web/server/apache-22/module/apache-fcgid (group dependency of 'group/feature/amp')

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

$ pkg uninstall group/feature/amp
$ pkg avoid
    database/mysql-51
    web/server/apache-22/module/apache-fcgid
$ pkg unavoid database/mysql-51 apache-fcgid
$ pkg avoid
$