2014/02/06

OSX の pkgutil コマンド

OSX で .pkg 型式のインストーラを実行する時に

このパッケージは、ソフトウェアをインストールできるかどうかを判断するプログラムを実行します。

というメッセージが表示されて インストール可能かをチェックされる場合がある。
多くの場合は問題なくインストールできるのだが、 稀に

より新しいバージョンのソフトウェアがインストールされているのでインストールできません

的なメッセージでインストーラが終了してしまう場合がある。
この様な場合、大抵は /Applications フォルダ等に存在する 該当のアプリケーションを削除するだけで 新しいアプリケーションのインストールが可能となるのだが、 ごくごく稀に削除しただけではインストーラが同じメッセージを表示してしまい インストール出来ない場合がある。

そもそも OSX の場合、アンインストーラが附属する一部のアプリケーション以外は ファインダなどで /Applications フォルダの アプリケーションアイコンをみ箱にドラッグするなどして削除すれば アンインストールできるのだが、 それだけだと設定情報やインストール情報などがシステムに残ってしまう可能性がある。
ところが OSX の標準型式に準拠したインストーラからインストールされたソフトウェアは pkgutil (1) コマンドを利用する事で アプリケーションや設定情報などを完全に消去でき、 殆どの場合は上記インストーラによるチェックも問題なく通過できる様になる。

pkgutil (1) コマンドの基本的な利用方法

  • 現在インストールされているパッケージ名の一覧を表示する。
  • $ pkgutil --pkgs
                

  • 指定したパッケージに含まれているファイルの一覧を表示する。
  • $ pkgutil --files パッケージ名
                

  • 指定したパッケージに含まれているファイルを全て削除する。
  • 実行する場合は管理者権限が必要なので sudo (8) などで 管理者権限を取得する必要がある。

    # pkgutil --unlink パッケージ名
                

  • 指定したパッケージのインストール情報を削除する。
  • 実行する場合は管理者権限が必要なので sudo (8) などで 管理者権限を取得する必要がある。

    # pkgutil --forget パッケージ名
                

pkgutil を実行する事でパッケージのインストール情報を完全に削除できるので、 アプリケーションを完全に削除したい場合は便利。


Copyright © 2008-2020 Mitzyuki IMAIZUMI. All rights reserved.