Файл хостов OSX Sierra игнорируется

Файл хостов OSX Sierra игнорируется

По какой-то причине два дня назад мой файл 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: 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

Посмотрите Системные настройки -> Сеть

Если в текущем активном «Расположении» перечислены один или несколько DNS-серверов, то система создаст файл «/etc/resolv.conf», в котором будут перечислены эти серверы имен в качестве места для разрешения, полностью минуя /etc/hosts.

resolv.conf создается динамически с помощью настроек «Сеть» и перезаписывается на основе поля «DNS-сервер» текущего активного «Расположения» или удаляется, если это поле пустое

решение3

Это, конечно, старая тема, но я столкнулся с той же проблемой сегодня и нашел решение. Оставлю это здесь на случай, если кому-то еще понадобится.

sudo dscacheutil -flushcache

В моем случае очистка кэша DNS помогла.

решение4

Это могло быть использование TAB вместо ПРОБЕЛА. Было в моем случае. Исправил это хорошо!

Связанный контент