
По какой-то причине два дня назад мой файл 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 вместо ПРОБЕЛА. Было в моем случае. Исправил это хорошо!