OSX Sierraのホストファイルは無視されます

OSX Sierraのホストファイルは無視されます

何らかの理由で、2日前からhostsファイルが無視されるようになりました。
私はMacのSierra OSxを使用しています。これが/etc/hostsファイルの現在の内容です。

##
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhostage
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

127.0.0.1 localkur.com

localkur.comにpingすると、

ping: cannot resolve localkur.com: Unknown host

システムを再起動し、これらのコマンドを使用してキャッシュを消去しました

sudo killall -HUP mDNSResponder;
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;

ファイルを別のテキスト編集プログラム、vm、sublime などで再度開きます。
スペースまたはタブ (またはダブルスペースまたはダブルタブ) が使用されているかどうかを再確認し、すべての可能性をテストします。
また、このコマンドでファイルを監視します 。

 sudo fs_usage | grep "/etc/hosts"

そしてブラウザを更新したり、Sublimeで保存したりすると、この結果が得られました

12:23:35  open              private/etc/hosts 0.000019   Google Chrom
12:23:36  open              private/etc/hosts 0.000019   Google Chrom
12:23:41  stat64            /private/etc/hosts 0.000022   Sublime Text
12:23:43  stat64            /private/etc/hosts 0.000019   Sublime Text
12:23:45  stat64            /private/etc/hosts 0.000019   Sublime Text
12:23:45  open              /private/etc/hosts 0.000019   Sublime Text

何が足りないのでしょうか?
このファイルはなぜ無視されるのでしょうか?
どうすれば再び有効にできるのでしょうか?

答え1

ファイルが破損している可能性があります。ASCII ファイルである必要があります。再作成する必要があります。

  • 古いファイルを移動するmv -f /etc/hosts /etc/oldhosts
  • 新しいファイルを作成するnano
  • 古いファイルの値を入力する
  • 保存する/etc/hosts

それで大丈夫でしょう。

答え2

システム環境設定 -> ネットワークを確認します

現在アクティブな「場所」に 1 つ以上の DNS サーバーがリストされている場合、システムは「/etc/resolv.conf」ファイルを作成し、それらのネームサーバーを解決先としてリストし、/etc/hosts を完全にバイパスします。

resolv.conf は「ネットワーク」設定によって動的に作成され、現在アクティブな「場所」の「DNS サーバー」フィールドに基づいて上書きされるか、そのフィールドが空白の場合は削除されます。

答え3

これは確かに古いスレッドですが、今日同じ問題に直面し、解決策を見つけました。他の誰かが必要とする場合に備えて、ここに残しておきます。

sudo dscacheutil -flushcache

私の場合は、DNS キャッシュをフラッシュするとうまくいきました。

答え4

スペースの代わりにタブを使用している可能性があります。私の場合もそうでした。うまく修正されました!

関連情報