Я пытаюсь разработать с использованием поддоменов на OSX, но не хочу перезагружать компьютер, чтобы обновить файл hosts. Обычно на Linux я бы сделал, /etc/init.d/networking restartно я не могу понять, как это сделать на OSX.
Убедитесь, что вы используете правильный порядок (IP-адрес, а затем DNS).
user1442960
@ user1442960 Это звучит так просто, но у меня был мозг пердит и добавил записи хоста, которые были неправильными. Как сказал vzwick, изменения вступили в силу немедленно, как только я их исправил.
Нейт Барбеттини,
OSX 10.12 здесь sudo dscacheutil -flushcacheбыло просто достаточно, чтобы очистить кеш
oski86
На MacOS 10.14.5 dscacheutil -flushcacheбыло достаточно
zengabor
4
Для El Capitan перейдите в приложение Terminal и введите:
Из https://serverfault.com/questions/478534/how-is-dns-lookup-configured-for-osx-mountain-lion я понимаю, что / etc / hosts и /etc/resolv.conf больше не используются в OS X Sierra 10.12. * (И, возможно, ранее). Действительно, когда я попытался добавить хосты в / etc / hosts и сбросить кэш с помощью приведенных выше инструкций, хосты не были распознаны с помощью команды host. Однако пинг их распознает.
Команда networksetup заменяет «старый» способ работы или использует сетевой графический интерфейс. Например, чтобы указать DNS-серверы для использования:
Вам нужно будет ввести команду, чтобы открыть текстовый редактор Nano. Вам также понадобится пароль администратора. введите sudo nano / etc / hosts и затем нажмите return. Введите пароль администратора и нажмите «Ввод».
Ответы:
Вам не нужно. Просто
sudo vim /etc/hosts
измените то, что вам нужно, и продолжайте. Ваши изменения будут применены мгновенно.Если
ping yourdomain.com
вы по-прежнему получаете неверный IP-адрес, попробуйте очистить кэш DNS:OSX 10.4 и ниже:
lookupd -flushcache
OSX 10.5 + 10.6:
dscacheutil -flushcache
OSX 10.7 + 10.8:
sudo killall -HUP mDNSResponder
OSX 10.9 и выше:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
OSX 10.12 и выше:
sudo dscacheutil -flushcache
источник
sudo dscacheutil -flushcache
было просто достаточно, чтобы очистить кешdscacheutil -flushcache
было достаточноДля El Capitan перейдите в приложение Terminal и введите:
Источник
источник
Для Сьерры: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
с https://www.indabaa.com/how-to-reset-flush-dns-cache-in-macos-sierra/
источник
Из https://serverfault.com/questions/478534/how-is-dns-lookup-configured-for-osx-mountain-lion я понимаю, что / etc / hosts и /etc/resolv.conf больше не используются в OS X Sierra 10.12. * (И, возможно, ранее). Действительно, когда я попытался добавить хосты в / etc / hosts и сбросить кэш с помощью приведенных выше инструкций, хосты не были распознаны с помощью команды host. Однако пинг их распознает.
Команда networksetup заменяет «старый» способ работы или использует сетевой графический интерфейс. Например, чтобы указать DNS-серверы для использования:
источник
Вам нужно будет ввести команду, чтобы открыть текстовый редактор Nano. Вам также понадобится пароль администратора. введите sudo nano / etc / hosts и затем нажмите return. Введите пароль администратора и нажмите «Ввод».
источник