[macOS General] OS X Yosemite へ update 後の brew doctor でエラーが出たので直す
brew doctor のエラー対応。
Mac OS X に root を乗っ取られるセキュリティホールがあり、Yosemite でしか直されないらしい。
Mac OS Xの認証APIにnilを送るだけでroot権限取得できるバグが存在し、最新のYosemiteしか治されていないのでMacユーザは全員さっさとupgradeしろという話。https://t.co/MAQTCEGHK1 実証コード有り、10.7以上10.9以下で可能
— 高梨陣平 (@jingbay) April 10, 2015
急遽、先週末にアップデートを完了しました。
起動した。#Yosemite
— DriftwoodJP (@DriftwoodJP) April 11, 2015
ディスクユーティリティで修復後、起動を確認。
brew doctor でエラーがたくさん出てビックリしました。
セーフブート、もしくは権限の修復をしたからかな。
起動画面でずっと待ち。
さすがにおかしいので、電源切り。
shfti キー押しながら電源入りでセーフブート。
しばらく待って、ログイン画面確認。
再起動中。#Yosemite— DriftwoodJP (@DriftwoodJP) April 11, 2015
Warning: **** isn’t writable.
権限エラー。
/usr/local
とそれ以下のディレクトリが root
権限になっていました。
Warning: /usr/local/bin isn't writable.
Warning: /usr/local/include isn't writable.
Warning: /usr/local/lib isn't writable.
Warning: /usr/local/share isn't writable.
Warning: Some directories in /usr/local/share/man aren't writable.
/usr/local/share/man
/usr/local/share/man/man1
Warning: The /usr/local directory is not writable.
これを変更。
% sudo chown -R "$USER":admin /usr/local/
Warning: Unbrewed **** were found in ****.
ファイルを消してくれとのこと。
Warning: Unbrewed dylibs were found in /usr/local/lib.
Unexpected dylibs:
/usr/local/lib/libwkhtmltox.0.12.2.dylib
Warning: Unbrewed header files were found in /usr/local/include.
Unexpected header files:
/usr/local/include/wkhtmltox/image.h
/usr/local/include/wkhtmltox/pdf.h
削除する。
% rm -r /usr/local/lib/libwkhtmltox.0.12.2.dylib
% rm -r /usr/local/include/wkhtmltox/image.h
% rm -r /usr/local/include/wkhtmltox/pdf.h
再度、brew doctor
すると以下のエラーが出る。
Warning: Broken symlinks were found. Remove them with `brew prune`:
brew prune
を実行。
% brew prune
Pruned 0 dead formulae
Tapped 91 formulae
Pruned 3 symbolic links from /usr/local
% brew doctor
Your system is ready to brew.
以上。