ソフトを手動で uninstall する

Mac 用に配布されている各種ソフトウェアには、installer はあっても uninstaller の付属しない場合が多々あります。「Mac にはそんなものは必要ない」と主張する信者の方もいらっしゃいますが、不要になったものは当然捨てたほうが良いに決まっています。/Applications や /Users だったら uninstaller なくても良いのですが、/System や /usr なんかにファイルを追加された場合には uninstaller が欲しくなります。

たとえ uninstaller が無くても、どの directory に何を追加されたかさえ分かれば、手動で uninstall することは可能です。例えば FTDI の USB driver のように、/System/Library にファイルを追加する場合、以下の手順で install されたファイルが分かります。あとは、これらを削除するだけです。

Snow Leopard の場合

OS X で標準的な Installer.app を使った場合には、/private/var/db/receipts に installer の置いていった残骸があります。このうち、.bom の拡張子を持つものを調べると、installer がどのようなファイルを install したかが分かります。先の FTDI の例だと、次のようにします。

$ lsbom /private/var/db/receipts/com.FTDI.ftdiusbserialdriverinstaller.FTDIUSBSerialDriver-2.pkg.bom 
.	40700	501/0
./FTDIUSBSerialDriver.kext	40755	0/0
./FTDIUSBSerialDriver.kext/Contents	40755	0/0
./FTDIUSBSerialDriver.kext/Contents/Info.plist	100755	0/0	195821	1546174768
./FTDIUSBSerialDriver.kext/Contents/MacOS	40755	0/0
./FTDIUSBSerialDriver.kext/Contents/MacOS/FTDIUSBSerialDriver	100755	0/0	153032	310929251
./FTDIUSBSerialDriver.kext/Contents/Resources	40755	0/0
./FTDIUSBSerialDriver.kext/Contents/Resources/English.lproj	40755	0/0
./FTDIUSBSerialDriver.kext/Contents/Resources/English.lproj/InfoPlist.strings	100755	0/0	516	3382963203

この lsbom というコマンドで .bom ファイルの中身を一覧表示し、install されたファイル名が明らかになります。絶対パスで書かれていないので分かりにくいですが、同一のファイル名のものを locate で探せば一発です。

$ locate FTDIUSBSerialDriver.kext
/System/Library/Extensions/FTDIUSBSerialDriver.kext
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/MacOS
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/MacOS/FTDIUSBSerialDriver
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Resources
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Resources/English.lproj
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Resources/English.lproj/InfoPlist.strings

Leopard の場合

基本的には Snow Leopard と同じですが、Leopard 以前は /Library/Receipts に .bom が置かれていました。