OS X El Capitanでの hosts編集

OS X El Capitanから導入されたrootlessにより/private/etc/hostsが編集できなくなりました。

UNIXなら/etc/hosts とかしょっちゅう編集したいでしょ! OS X El Capitanから導入されたrootless はルートがない。を意味します。

回避方法(下記いずれか)

  • リカバリモードで再起動し、 vi コマンドで直接編集する
  • nvramコマンドでrootless を無効化する。
  • アプリケーション 「gasmask」 を導入する

 

必要なシチュエーションによりますが、もし再起動ができるタイミングであればパパっとリカバリモードから vi で編集するのが一番手っ取り早いでしょう。

vi で編集する手順

OSXを再起動

コマンドボタン+R を押し続ける。

リンゴマークが点灯すると離す。

リカバリモードで起動後にツールよりターミナルを起動。

コマンド (プロンプトが#:ルートユーザであることを確認)

# df -h

※注意 リカバリモードではテンポラリ領域のOSで起動しているため本来編集したい /pravate/etc/hosts はマウントされた別の領域として見えています。df コマンドでマウントされた/pravate/etc/hostsの領域へチェンジディレクトリします。

cd /Volume /MAC OS (例)

スペースを正しく入力するのが面倒なので実際は

cd /Volume/MAC*  アスタリスク*を使って正規表現してあげると楽ですね。

viコマンドの使い方については省略です。ただUNIXのbashと違いd100 のように対象行から100行削除がうまく消えませんでした。こちらはMACの仕様でしょうか。

上書き保存したのちに再起動です。

#reboot でもOKです。

 

nvramコマンドでrootless をキャンセル化する手順

ターミナルを起動し

sudo nvram boot-args=“rootless=0”

再起動してsudo vi /private/etc/hosts をしてあげます。

楽ちん! ですが、セキュリティ上は好ましくないので作業後はrootless=1をお忘れなく。

hosts編集アプリgasmaskを使う方法。

とくに説明が不要なくらい簡単です。 アプリが増えるのが嫌いじゃない方にはお勧めです。

今回使わなかったので詳細はまた。

 

以上、テキスト補充代わりの記載でしたー。

タイトルとURLをコピーしました