
MacのHostsファイル:Mac OS XでTextEditを使って/etc/hostsを変更する方法
Macのhostsファイルは、/etc/hostsにあるシステムレベルのファイルで、Mac OS XネットワークのIPアドレスとホスト名をマッピングします。多くのユーザーは、ローカル開発、サイトのブロック、あるいは単に様々なアプリやシステムレベルの機能から代替サーバーにアクセスするなど、hostsファイルを編集・修正することで、ドメインを異なるIPアドレスに指定できるようにしています。上級ユーザーの多くは、nanoやvimを使ってMac OS Xターミナルからhostsファイルを編集しますが、Mac OS GUIを使いたい場合は、TextEdit、あるいはBBEditやTextWranglerなどのサードパーティ製アプリを使ってhostsファイルを修正することもできます。これは、コマンドラインから編集するよりもユーザーフレンドリーな方法です。
macOS / Mac OS XでMacのhostsファイルを変更する必要がある特別な理由がない限り、変更しないでください。hostsファイルのフォーマットが不適切であったり、エントリが不適切だったりすると、DNSの問題や様々なインターネットサービスで問題が発生する可能性があります。これは上級ユーザー向けです。
Mac OSのTextEditを使って/etc/hostsにあるMacのHostsファイルを変更する方法
TextEdit を使用して /etc/hosts を変更するこの方法は、Mac OS X のどのバージョンでも機能します。ただし、MacOS X 10.11 以降のリリースを実行している Mac ユーザーの場合は、最初に SIP 保護を無効にする必要があります。そうしないと、TextEdit からアクセスしようとしたときに Mac /etc/hosts ファイルがロックされます。
- TextEdit が開いている場合は終了します
- Mac OS Xの/Applications/Utilities/にあるターミナルアプリケーションを起動します。
- TextEdit GUIアプリケーション内でMacのhostsファイルを開くには、次のコマンドを正確に入力します。
- sudo 経由で起動を認証するように要求されたら、リターンキーを押して Mac OS X の管理者パスワードを入力します。
- /etc/hosts ファイルは TextEdit でプレーンテキストファイルとして起動され、必要に応じて編集および変更できます。完了したら、[ファイル] > [保存] を使用するか、通常どおり Command+S を押して、ホストドキュメントへの変更を保存します。*
- テキストエディットを終了し、終了したらターミナルを終了します。
sudo open -a TextEdit /etc/hosts
* sudo で起動したにもかかわらず、hosts ファイルが「ロック」と表示され、変更が保存されない場合は、冒頭で述べたように SIP を無効にしていないことが原因である可能性があります。Mac OS X では、こちらの手順で SIP を無効にすることができます。ただし、Mac の再起動が必要です。これは最近のバージョンの Mac OS X では必須ですが、こちらで説明されているように、nano を使用したコマンドラインで hosts ファイルを編集することで、SIP を調整せずに変更することも可能です。
何かを壊してしまった場合でも簡単に修復できるよう、hostsファイルの複製を作成しておくことをお勧めします。ただし、復元が必要な場合に備えて、元のデフォルトのhostsファイルもここに用意してあります。また、TextEditのデフォルトをプレーンテキストモードに設定しておくこともお勧めします。
おそらく、hosts ファイルを変更した後で DNS キャッシュをクリアする必要があるでしょう。ここでは、Mac OS X El Capitan および最新バージョンの Mac OS で DNS をフラッシュする方法と、以前のリリースで同じことを実行する方法を説明します。
Mac OS Xの/etc/hostsファイルをTextWrangler、BBEdit、その他のサードパーティ製アプリケーションで変更することもできます。変更方法はText Editとほぼ同じで、sudoを使用する必要がありますが、指定するアプリケーション名を以下のように変更します。
TextWrangler で /etc/hosts を開く:
sudo open -a TextWrangler /etc/hosts
または、Bbedit で /etc/hosts を起動します。
sudo open -a BBEdit /etc/hosts
前述の方法は Mac OS X のすべての最新バージョンで機能しますが、Mac OS X の以前のバージョンでは、次の構文を使用して、コマンド ラインから直接ホストを使用して TextEdit バイナリを起動することもできます。
sudo ./Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts
ただし、この方法は最新リリースでは機能しないため、代わりに open コマンドを使用する必要があります。
TextEdit や他の GUI アプリを使って Mac の hosts ファイルを簡単に変更する別の方法をご存知ですか? コメントで教えてください。