とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
各種SNSのフォローもよろしくお願いいたします。

WiresharkをHomebrewでインストールもアンインストールもできなくなった件の解決

Homebrewを使ってインストールしたWiresharkが消すこともインストールすることもできない状態になってしまいました。 HomebrewのWiresharkはFormulaeとCaskがあり、今回の場合はCaskでインストールしていました。

Caskでインストールした場合、GUIのWiresharkがインストールされます。 手動でインストールした時のWiresharkと同様、ChmodBPFが必要なので、Homebrewでインストールする場合は、本来は自動で処理されます。

アップデートの場合は古いバージョンのChmodBPF、Wiresharkの順にアンインストール、新しいChmodBPF、Wiresharkのインストールが実行されるようです。 手動でセットアップした時と一緒ですね。 ところがエラーを見ると、ChmodBPFのアンインストールでこけてしまっています。

==> Uninstalling Cask wireshark
Error: Failure while executing; `/usr/bin/sudo -E -- /usr/sbin/installer -pkg /opt/homebrew/Caskroom/wireshark/4.2.0/Uninstall\ ChmodBPF.pkg -target /` exited with 1. Here's the output:
installer: Package name is Uninstall ChmodBPF
installer: Installing at base path /
installer: The install failed. (エラーによってインストールできませんでした。ソフトウェアの製造元に問い合わせてください。 パッケージ“Uninstall ChmodBPF.pkg”からスクリプトを実行中にエラーが起きました。)

手動でWiresharkのインストーラーを使ってインストールする場合は何の問題もなく動作するので、とりあえずHomebrewの方は放っておいていたのですが、いつまでもこのままだとHomebrewで導入したFormulaeやCaskのアップデートもできないし、新しいソフトウェアを導入できません。それでは困ります。

というわけで重い腰を上げて調べてみたら、こんな情報を見つけました。

色々やったけどうまく動かずでした。

最終的な対処方法

諦めて一旦全部消しました。当然Wiresharkだけは消せない(けれど、実態は既に存在しない)ですが、それは放置です。

brew remove --force $(brew list --formula)
brew remove --force $(brew list --casks)

次に、Homebrew自身をこれをみながらアンインストールして

最新版のHomebrewを再度導入し、formulaeとcaskをそれぞれインストールしなおしました。 HomebrewでWiresharkのインストールは今後はやめようと思いました。

ちなみに、GUIが入らなければFormulaeのWiresharkがインストールできます。

こっちは問題ないみたいです。