nisshi9の備忘録ブログ

気まぐれなタイミングで、興味のわいた事について書いていくブログです。

OSXにインストールしたパッケージをアンインストールする話

拡張子pkgのインストーラでインストールしたアプリ。
「アンインストールできない><!!!」
って言う経験ありませんか?

 

おとなしくMacを使っている方は、あまり経験ないのかもしれませんが、僕の場合、たくさんあります。前回の記事で書いた、XBOXのコントローラドライバに関連して、USB抜き差しに連動して、カーネルパニックを起こしてしまうドライバをアンインストールしたくなったのですが、やり方がわからず、調べました。

 

 

おおむね、下記の記事にあることを参考に作業します。


新・OS X ハッキング! (94) pkgutilでインストーラパッケージを削除する | マイナビニュース

 

今回削除したいXBOX360コントローラのドライバを見つけるには、pkgutilコマンドで一覧を出し、その中から360が含まれた行をgrepで抽出します。

$ pkgutil --pkgs |grep 360

com.mice.pkg.Xbox360controller というエントリーが見つかるので、これが削除対象。

先ほどの記事にある通り、pkgutil --filesを使用すると、インストールしたファイルがリストできるとのことなので、これを使用してuninstall.shを作っていきます。

$ pkgutil --files com.mice.pkg.Xbox360controller | sed 's:^:rm -f \"/:;s:$:\":' | sort -r > uninstall.sh

ここで、uninstall.shを見ていきましょう。

rm -f "/System/Library/Extensions/360Controller.kext/Contents/Resources/English.lproj/InfoPlist.strings"
rm -f "/System/Library/Extensions/360Controller.kext/Contents/Resources/English.lproj"


(中略)


rm -f "/Library/Application Support/MICE"
rm -f "/Library/Application Support"
rm -f "/Library"

怖いです。怖すぎます。rm -rf とか書いてないのがまだ救いですね・・・。

とはいえ、消す候補がuninstall.shにリストされるので、あとは手作業で修正すれば良いです。要らないディレクトリをrm -rfすれば、不要なゴミが削除されてスッキリしますね。

 

以上、pkgでインストールされたソフトのアンインストール方法でした。