MacOS の /System/ ディレクトリ配下のファイルを削除したかったので SIP を解除した
MacOS Mojave で検証。
Finder で、「システム」や「ユーザ」などのディレクトリが日本語で見えているのが気になった。
これらの表記は、当該ディレクトリ直下にある .localized
というファイルを削除すると英語表記に戻せるのだが、このファイルは Finder 上には表示されない (Cmd + Shift + .
で隠しファイルを表示してもダメ)。
仕方がないのでターミナルで以下のように実行して .localized
ファイルを削除していった。
$ sudo rm /Applications/.localized
$ sudo rm /Applications/Utilities/.localized
$ sudo rm /Library/.localized
$ sudo rm /Users/.localized
$ sudo rm /Users/Shared/.localized
…のだが、以下の2つだけがどうしても削除できなかった。
$ sudo rm /System/.localized
$ sudo rm /System/Library/.localized
調べてみると、MacOS に搭載されている SIP (System Integrity Protection) という保護機能があると、/System/
ディレクトリ配下の操作ができないようだ。
SIP は次の手順で無効化できる。
- Apple アイコンメニューより「再起動」を選び、再起動が始まると同時に
Cmd + R
を押しっぱなしにする - しばらく
Cmd + R
を押しっぱなしにして待つと、「macOS ユーティリティ」の画面が開く。いわゆるリカバリモードだ。この画面が表示されたらCmd + R
を離して良い - この画面でメニューから「ユーティリティ」→「ターミナル」と選ぶ
- ターミナルに
$ csrutil disable
と入力すると、SIP が無効化できる - 続けて
$ reboot
と入力し、再起動する
以上で SIP が無効化できたので、再起動後の通常画面でターミナルを開き、
$ sudo rm /System/.localized
$ sudo rm /System/Library/.localized
を実行すれば、ファイルが削除できる。
- 参考 : rm - Removing "rw-r--r-- root/wheel restricted" files in MacOS leave some files left - Super User
- 参考 : Macに怪しげなデバイスドライバを入れたり、ドライバを改造したりする準備方法
- 参考 : OS X 10.11 El Capitanのシステム保護機能「Rootless」を無効にするcsrutilコマンドの使い方。 | AAPL Ch.
- 参考 : SIP解除 : 「csrutil disable」しても「Command not found」となる場合(macOS El Capitan, Sierra, High Sierra ) - シュウジマブログ