コマンドのエラーの解決方法
Macでコマンドを実行するときにroot権限が必要な場合にsudoを使いますが、それでも「Operation not permitted」と表示されてコマンドがエラーとなるときがあります。
それはMacのセキュリティ機能であるSIP(System Integrity Protection)によって保護されているからです。
SIPを無効にすることでコマンドがエラーなく実行できるのでその方法を説明します。
SIPを無効にする
まずMacの電源を切ります。
次にMacを起動するときにリカバリーモードで起動します。
電源スイッチを入れてすぐに「Command⌘ + R」を押し続けて、りんごマークが表示されたらキーから離します。
起動に少し時間がかかります。
しばらくするとMacがリカバリーモードで起動します。
「ユーティリティ」から「ターミナル」を起動します。
ターミナルを起動してコマンドを入力できるようになったら、以下のコマンドを実行してSIPの状態を確認します。
$ csrutil status
SIPが有効であれば「enabled」が表示されます。
System Integrity Protection status: enabled.
これを無効にします。
$ csrutil disable Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
無効にできたら、Macを再起動します。
画面上のリンゴメニューから再起動を選んで再起動してもいいですし、そのままコマンドで再起動してもいいです。
$ reboot
再起動後に先程はエラーになっていたコマンドを実行してください。