窓を作っては壊していた人のブログ

この謎のブログタイトルの由来を知るものはもういないだろう

なぜか完全削除が出来なかったmacOS向けのWacomのペンタブドライバを削除する

備忘録

だいぶ昔に使っていたWacomのペンタブがあって使わないからと言ってドライバを削除した記憶がある。 が、最近macOSのアップデートを行ったら f:id:yamachu_co:20210607101640p:plain

読み込みがブロックされたという旨のダイアログが出てきて、ドライバー、消したはずでは!?となったので根こそぎ消していく。

  1. sudo find / '*wacom*' でとりあえず探す

どこにあるのか見当がつかなかったのでこれで一旦探してみます。

/System/Volumes/Data/private/var/db/receipts/com.wacom.PenTabletInstaller.plist
/System/Volumes/Data/private/var/db/receipts/com.wacom.PenTabletInstaller.bom
/private/var/db/receipts/com.wacom.PenTabletInstaller.plist
/private/var/db/receipts/com.wacom.PenTabletInstaller.bom

こんなのが見つかった。 wacomの名前でドライバが転がってるわけではなかったが、とりあえずファイル配置が書いてある .bom ファイルが見つかった。

  1. lsbom を使ってどんなファイルがインストールされたのかを見てみる

いきなり lsbom にたどり着いたわけではないんだけど、lesspipe に突っ込んだら整形されたし file コマンド叩いたら Mac OS X bill of materials (BOM) file って出てきたのでそのあたりぐぐったら lsbom が見つかった。

manには

The lsbom command interprets the contents of binary bom (bom(5)) files. For each file in a bom, lsbom prints the file path and/or requested information.

とあり、bomについて見てみると

File information includes: the file's UNIX permissions, its owner and group, its size, its time of last modification, and so on.

なるほど、インストーラーが何を突っ込んでくるかの構成表なのかってことがわかる。 ってことで使って中身を見てみる。

$ lsbom /System/Volumes/Data/private/var/db/receipts/com.wacom.PenTabletInstaller.plist

.   40755   0/0
./Applications  40755   0/0
./Applications/Pen Tablet.localized 40755   0/0
./Applications/Pen Tablet.localized/.localized  40755   0/0
./Applications/Pen Tablet.localized/.localized/de.strings   100644  0/0 184 965283972
./Applications/Pen Tablet.localized/.localized/en.strings   100644  0/0 156 4126915186
./Applications/Pen Tablet.localized/.localized/es.strings   100644  0/0 180 3855762533
./Applications/Pen Tablet.localized/.localized/fr.strings   100644  0/0 168 2428769691
./Applications/Pen Tablet.localized/.localized/it.strings   100644  0/0 156 1044215362
./Applications/Pen Tablet.localized/.localized/ja.strings   100644  0/0 152 2588287573
./Applications/Pen Tablet.localized/.localized/ko.strings   100644  0/0 132 2731968358
./Applications/Pen Tablet.localized/.localized/nl.strings   100644  0/0 180 1769518410
./Applications/Pen Tablet.localized/.localized/pl.strings   100644  0/0 164 978034193
./Applications/Pen Tablet.localized/.localized/pt.strings   100644  0/0 232 3702078223
./Applications/Pen Tablet.localized/.localized/ru.strings   100644  0/0 256 817618957
./Applications/Pen Tablet.localized/.localized/tr.strings   100644  0/0 156 4126915186
./Applications/Pen Tablet.localized/.localized/zh_CN.strings    100644  0/0 136 1004093214
./Applications/Pen Tablet.localized/.localized/zh_TW.strings    100644  0/0 148 3004780678
./Applications/Pen Tablet.localized/Pen Tablet Utility.app  40755   0/0
(省略)

こんな感じでインストール先が列挙されるので、これを整形していく。 タブ文字区切りなので、cutでdelimiterにタブ文字をセットして…

$  lsbom /System/Volumes/Data/private/var/db/receipts/com.wacom.PenTabletInstaller.bom |cut -d'   ' -f1|sed 's:^.::g'

/Applications/Pen Tablet.localized
/Applications/Pen Tablet.localized/.localized
/Applications/Pen Tablet.localized/.localized/de.strings
/Applications/Pen Tablet.localized/.localized/en.strings
/Applications/Pen Tablet.localized/.localized/es.strings
/Applications/Pen Tablet.localized/.localized/fr.strings
/Applications/Pen Tablet.localized/.localized/it.strings
/Applications/Pen Tablet.localized/.localized/ja.strings
/Applications/Pen Tablet.localized/.localized/ko.strings
/Applications/Pen Tablet.localized/.localized/nl.strings
/Applications/Pen Tablet.localized/.localized/pl.strings
/Applications/Pen Tablet.localized/.localized/pt.strings
/Applications/Pen Tablet.localized/.localized/ru.strings
/Applications/Pen Tablet.localized/.localized/tr.strings
/Applications/Pen Tablet.localized/.localized/zh_CN.strings
/Applications/Pen Tablet.localized/.localized/zh_TW.strings
/Applications/Pen Tablet.localized/Pen Tablet Utility.app
(省略)

こんな感じの出力が出るように。

あとはこいつらでlsして残っているファイルを探していく。

ここで勢い余って rm なんてしないように!!! 普通にトップレベルのディレクトリも存在しているので、その中の対象のファイルだけを消しましょう。

これらを xargs で見ていったら

/Library/Extensions/SiLabsUSBDriver64.kext

こいつが残っていた。

  1. 消す

消せばいいんだけど、日和ったので一旦別ディレクトリに動かした。 とりあえずこれでキレイになっただろう。

今後完全削除したいなと思ったら lsbom を使おうと思う。