Go to main content

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

印刷ビューの終了

更新: 2018 年 8 月
 
 

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

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

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

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

パッケージをアンインストールすると、使用できない優先パスの設定: 結果と回復に記載されているように、メディエーションされたリンクが削除される可能性があります。メディエーションされたリンクが削除されるかどうかを確認するには、-nv または -nvv オプションを使用します。

ファイルを提供するパッケージがアンインストールされるときに特定の属性を持つファイルアクションがどのように処理されるかについては、Oracle Solaris 12 でのImage Packaging System を使用したソフトウェアのパッケージ化と配布 の File Actionsまたは pkg(7) のマニュアルページを参照してください。

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

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

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

パッケージインストールのプレビューに示す例では、4 つのパッケージがインストールされていました。ところが、次のコマンドは、コマンド行に名前を示すパッケージのみが uninstall によって削除されることを示しています。

$ pkg uninstall -v oracle-rdbms-server-18c-preinstall
            Packages to remove:         1
     Estimated space available: 852.20 GB
Estimated space to be consumed: 455.25 MB
          Rebuild boot archive:        No

Changed packages:
solaris
  group/prerequisite/oracle/oracle-rdbms-server-18c-preinstall
    11.4-11.4.0.0.1.10.0 -> None
...

pkg list コマンドによれば、インストールされていたほかの 3 つのパッケージはまだインストールされていることを示しています。

$ pkg -R /mnt list oracle-rdbms-server-18c-preinstall system/kernel/oracka \
x11/diagnostic/x11-info-clients x11/library/libdmx
NAME (PUBLISHER)                               VERSION                    IFO
system/kernel/oracka                           11.4-11.4.0.0.1.10.1       i--
x11/diagnostic/x11-info-clients                7.7-11.4.0.0.1.10.0        i--
x11/library/libdmx                             1.1.3-11.4.0.0.1.10.0      i--

pkg list: no packages matching the following patterns are installed:
  oracle-rdbms-server-18c-preinstall

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

$ pkg history -n 1
START                    OPERATION                CLIENT             OUTCOME
2018-08-06T12:36:43      install                  pkg                Succeeded
$ pkg history -lt 2018-08-06T12:36:43
         Operation: install
...
           Command: /usr/bin/pkg install --be-name rdbms oracle-rdbms-server-18c-preinstall
...
         End State:
None -> pkg://solaris/x11/diagnostic/x11-info-clients@7.7,5.11-11.4.0.0.1.10.0:20180702T172622Z
None -> pkg://solaris/group/prerequisite/oracle/oracle-rdbms-server-18c-preinstall@11.4,5.11-11.4.0.0.1.10.0:20180702T172914Z
None -> pkg://solaris/system/kernel/oracka@11.4,5.11-11.4.0.0.1.10.1:20180702T144645Z
None -> pkg://solaris/x11/library/libdmx@1.1.3,5.11-11.4.0.0.1.10.0:20180702T172638Z
使用例 7  アンインストールする複数のパッケージの指定

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

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

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

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

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

$ pkg uninstall -r git

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

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

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

たとえば、x11-info-clients パッケージがまだインストールされている状態で libdmx パッケージをアンインストールしようとすると、次のエラーメッセージを受け取ります。

$ pkg uninstall libdmx
pkg uninstall: Unable to remove 'x11/library/libdmx@1.1.3-11.4.0.0.1.10.0' due to the following packages that depend on it:
  x11/diagnostic/x11-info-clients@7.7-11.4.0.0.1.10.0

libdmx をアンインストールするには、libdmx および x11-info-clients の両方をアンインストールする必要があります。単に x11-info-clients をアンインストールしても、依存パッケージ libdmx はアンインストールされないことに注意してください。

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

group 依存関係であるパッケージをアンインストールすると、そのパッケージは回避リストに登録されます。回避リストについては、グループパッケージに含まれる一部のパッケージのインストールの回避を参照してください。

$ pkg avoid
$ pkg uninstall mysql-56
...
$ pkg list mysql-56
pkg list: no packages matching the following patterns are installed:
  mysql-56
$ pkg avoid
    database/mysql-56 (group dependency of 'group/feature/amp')