66

Я пытаюсь разработать с использованием поддоменов на OSX, но не хочу перезагружать компьютер, чтобы обновить файл hosts. Обычно в Linux я /etc/init.d/networking restart но не могу понять, как это сделать в OSX.

4 ответа4

94

Вам не нужно. Просто 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

4

Для El Capitan перейдите в приложение Terminal и введите:

sudo killall -HUP mDNSResponder

Источник

0

Для Сьерры: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

с https://www.indabaa.com/how-to-reset-flush-dns-cache-in-macos-sierra/

0

Из 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-серверы для использования:

sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .