Snow Leopardの新コマンド「pkgutil」でパッケージを削除する

パッケージIDを調べる。ここではオプション「–pkgs」で全パッケージIDを出力し、それをgrepでフィルタしているが、「–pkgs=正規表現」の形で条件を指定してもいいだろう。これで、パッケージIDが「com.apple.pkg.Lexmark_LaserDrivers」と判明した。
$ pkgutil --pkgs | grep -i Lexmark
com.apple.pkg.Lexmark_LaserDrivers

いきなり削除せず、パッケージの内容を確認すること。オプションに「–files」を指定し、引数に先ほどのパッケージIDを指定すればOK。

$ pkgutil --files com.apple.pkg.Lexmark_LaserDrivers

削除して問題なさそうと判断すれば、今度は「–unlink」オプションを使いpkgutilコマンドを実行する(管理者権限で実行するためsudoを併用のこと)。本当に削除して構わないか、との問には「y」で答えるべし。これで指定したパッケージIDに含まれるファイルは、インストール先から削除される。その後、「–forget」オプションでパッケージIDおよびレシートファイルを削除すれば、作業完了だ。

なお、ほかのパッケージが使用しているファイル/ディレクトリと重複する場合には、削除できない旨のエラーメッセージが表示される。Appleが定めるSnow Leopard準拠の形式に沿わないパッケージは、そもそも削除できないことがあるので、念のため。

$ sudo pkgutil --unlink com.apple.pkg.Lexmark_LaserDrivers
Do you really want to delete these files? y

$ sudo pkgutil --forget com.apple.pkg.Lexmark_LaserDrivers

ネタ元