Go to main content
Oracle® Solaris 11.3 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2017 年 3 月
 
 

パッケージのアンインストール

インストールされているパッケージを削除するには、pkg uninstall コマンドを使用します。

パッケージをアンインストールするときのコマンド出力はパッケージをインストールするときの出力に非常によく似ていて、たとえば、「Packages to install」の代わりに「Packages to remove」と表示されます。

Rejecting a Packageで説明されているように、pkg install コマンドの --reject オプションはインストール済みのパッケージを削除することもできます。

使用例 6  パッケージインストールの取り消し

パッケージをアンインストールしても、そのパッケージの依存関係はアンインストールされません。依存関係を必要とするパッケージのみをアンインストールする場合でも、ユーザーは依存関係パッケージによって提供されるコンテンツを引き続き使用することができます。

パッケージのインストール操作を取り消して、インストール操作でインストールしたすべてのパッケージをアンインストールする場合は、pkg history コマンドを使用して、インストールされている正確な内容を確認します。詳細は、Viewing Operation Historyを参照してください。

次のコマンドでは、18 個の新しいパッケージがインストールされています。

$ pkg install -v amp
           Packages to install:        18
...

Changed packages:
solaris
  database/mysql-55
    None -> 5.5.43,5.11-0.175.3.0.0.30.0:20150821T162149Z
  database/mysql-common
    None -> 5.11,5.11-0.175.3.0.0.30.0:20150821T163446Z
  group/feature/amp
    None -> 0.5.11,5.11-0.175.3.0.0.30.0:20150821T165202Z
  system/library/security/libmcrypt
    None -> 2.5.8,5.11-0.175.3.0.0.30.0:20150821T172551Z
  text/tidy
    None -> 1.0.0,5.11-0.175.3.0.0.30.0:20150821T172736Z
  web/php-53
    None -> 5.3.29,5.11-0.175.3.1.0.2.0:20150921T191759Z
  web/php-53/extension/php-apc
    None -> 3.1.9,5.11-0.175.3.1.0.2.0:20150921T191747Z
  web/php-53/extension/php-idn
    None -> 0.2.0,5.11-0.175.3.1.0.2.0:20150921T191749Z
  web/php-53/extension/php-memcache
    None -> 3.0.6,5.11-0.175.3.1.0.2.0:20150921T191750Z
  web/php-53/extension/php-mysql
    None -> 5.3.29,5.11-0.175.3.1.0.2.0:20150921T191751Z
  web/php-53/extension/php-pear
    None -> 5.3.29,5.11-0.175.3.1.0.2.0:20150921T191752Z
  web/php-53/extension/php-suhosin
    None -> 0.9.33,5.11-0.175.3.1.0.2.0:20150921T191754Z
  web/php-53/extension/php-tcpwrap
    None -> 1.1.3,5.11-0.175.3.1.0.2.0:20150921T191755Z
  web/php-53/extension/php-xdebug
    None -> 2.2.0,5.11-0.175.3.1.0.2.0:20150921T191756Z
  web/php-common
    None -> 11.1,5.11-0.175.3.0.0.30.0:20150821T173003Z
  web/server/apache-22/module/apache-dtrace
    None -> 0.3.1,5.11-0.175.3.0.0.30.0:20150821T173046Z
  web/server/apache-22/module/apache-fcgid
    None -> 2.3.9,5.11-0.175.3.0.0.30.0:20150821T173050Z
  web/server/apache-22/module/apache-php53
    None -> 5.3.29,5.11-0.175.3.1.0.2.0:20150921T191828Z
...

次のコマンドは、amp パッケージのすべての依存関係のリストが、インストールされたパッケージのリストと一致しないことを示しています。amp の一部の依存はすでにインストールされていますが、インストールされている一部のパッケージは、amp の依存関係に依存します。

$ pkg contents -o type,fmri -t depend amp
TYPE  FMRI
group web/server/apache-22
group web/server/apache-22/module/apache-dtrace
group web/server/apache-22/module/apache-fcgid
group web/php-53/extension/php-mysql
group web/server/apache-22/module/apache-php53
group web/php-53/extension/php-apc
group web/php-53
group database/mysql-55

元の pkg install 出力がない場合にこのインストールを取り消すには、履歴でインストールされているパッケージのリストを見つけます。短いリストを使用して目的のインストールコマンドを見つけてから、Viewing Operation Historyに示されているように、-l オプションを使用して、その時点でインストールされていた正確な内容を一覧表示します (-t)。リストは見出し「End State」の下の出力の末尾にあります。

$ pkg history -n 1
START                    OPERATION                CLIENT             OUTCOME
2016-10-14T07:05:53      install                  pkg                Succeeded
$ pkg history -lt 2016-10-14T07:05:53
         Operation: install
...
           Command: /usr/bin/pkg install -v amp
...
         End State:
None -> pkg://solaris/web/php-53@5.3.29,5.11-0.175.3.1.0.2.0:20150921T191759Z
None -> pkg://solaris/group/feature/amp@0.5.11,5.11-0.175.3.0.0.30.0:20150821T165202Z
None -> pkg://solaris/web/php-53/extension/php-tcpwrap@1.1.3,5.11-0.175.3.1.0.2.0:20150921T191755Z
None -> pkg://solaris/web/php-53/extension/php-mysql@5.3.29,5.11-0.175.3.1.0.2.0:20150921T191751Z
None -> pkg://solaris/web/server/apache-22/module/apache-php53@5.3.29,5.11-0.175.3.1.0.2.0:20150921T191828Z
None -> pkg://solaris/web/server/apache-22/module/apache-dtrace@0.3.1,5.11-0.175.3.0.0.30.0:20150821T173046Z
None -> pkg://solaris/web/php-53/extension/php-memcache@3.0.6,5.11-0.175.3.1.0.2.0:20150921T191750Z
None -> pkg://solaris/web/php-common@11.1,5.11-0.175.3.0.0.30.0:20150821T173003Z
None -> pkg://solaris/web/php-53/extension/php-xdebug@2.2.0,5.11-0.175.3.1.0.2.0:20150921T191756Z
None -> pkg://solaris/database/mysql-55@5.5.43,5.11-0.175.3.0.0.30.0:20150821T162149Z
None -> pkg://solaris/web/php-53/extension/php-suhosin@0.9.33,5.11-0.175.3.1.0.2.0:20150921T191754Z
None -> pkg://solaris/system/library/security/libmcrypt@2.5.8,5.11-0.175.3.0.0.30.0:20150821T172551Z
None -> pkg://solaris/database/mysql-common@5.11,5.11-0.175.3.0.0.30.0:20150821T163446Z
None -> pkg://solaris/web/php-53/extension/php-apc@3.1.9,5.11-0.175.3.1.0.2.0:20150921T191747Z
None -> pkg://solaris/web/php-53/extension/php-idn@0.2.0,5.11-0.175.3.1.0.2.0:20150921T191749Z
None -> pkg://solaris/web/server/apache-22/module/apache-fcgid@2.3.9,5.11-0.175.3.0.0.30.0:20150821T173050Z
None -> pkg://solaris/web/php-53/extension/php-pear@5.3.29,5.11-0.175.3.1.0.2.0:20150921T191752Z
None -> pkg://solaris/text/tidy@1.0.0,5.11-0.175.3.0.0.30.0:20150821T172736Z
使用例 7  アンインストールする複数のパッケージの指定

pkg uninstall コマンドに複数のパッケージを指定する場合、または -r などのオプションを指定して非大域ゾーンでこの操作を実行する場合は、そのイメージにインストールされていないパッケージをアンインストールしようとしている可能性があります。

現在インストールされていないパッケージをアンインストールしようとすると、pkg uninstall 操作はパッケージをアンインストールせずに終了します。

アンインストールするパッケージがそのイメージ内に存在していない場合は、そのパッケージ名に一致するパッケージがないというメッセージが表示されます。アンインストールする追加のパッケージがイメージ内に存在する場合、それらのパッケージがアンインストールされていないことを示すメッセージは表示されません。

指定されたパッケージのうちインストールされているものはすべてアンインストールし、指定されたパッケージのうちインストールされていないものに対してはこの操作をスキップするには、--ignore-missing オプションを使用します。--ignore-missing オプションは、アンインストールする一部のパッケージが現在インストールされていない場合に、インストールされていないパッケージを無視し、pkg uninstall が失敗するのを回避します。

次のコマンドでは、一部のゾーンに amp パッケージがインストールされていても、1 つのゾーンに amp がインストールされていない場合、パッケージはアンインストールされません。

$ pkg uninstall -r amp

次のコマンドでは、amp パッケージは、現在インストールされているすべてのゾーンからアンインストールされます。

$ pkg uninstall -r --ignore-missing amp
使用例 8  別のパッケージが必要としているパッケージのアンインストール

インストールされている別のパッケージが必要としているパッケージをアンインストールしようとすると、失敗します。

たとえば、mysql-common パッケージをアンインストールしようとすると、次のエラーメッセージを受け取ります。

$ pkg uninstall mysql-common
pkg uninstall: Unable to remove 'database/mysql-common@5.11-0.175.3.0.0.30.0' due to the following packages that depend on it:
  database/mysql-55@5.5.43-0.175.3.0.0.30.0

次の出力によって、mysql-commonmysql-55 に必要であることが確認されます。

$ pkg contents -o type,pkg.name -t depend -a fmri='*mysql-common*' '*mysql-55'
TYPE    PKG.NAME
require database/mysql-55

mysql-common をアンインストールするには、mysql-commonmysql-55 を両方ともアンインストールする必要があります。単に mysql-55 をアンインストールしても、依存パッケージ mysql-common はアンインストールされないことに注意してください。

$ pkg uninstall mysql-common mysql-55
使用例 9  group 依存関係であるパッケージのアンインストール

group 依存関係であるパッケージをアンインストールすると、そのパッケージは回避リストに登録されます。回避リストについては、Avoiding Installing Some Packages in a Group Packageを参照してください。

$ pkg avoid
$ pkg uninstall mysql-55
...
$ pkg list mysql-55
pkg list: No packages matching 'mysql-55' installed
$ pkg avoid
    database/mysql-55 (group dependency of 'group/feature/amp')