Я пытаюсь разработать с использованием поддоменов на OSX, но не хочу перезагружать компьютер, чтобы обновить файл hosts. Обычно в Linux я /etc/init.d/networking restart
но не могу понять, как это сделать в OSX.
4 ответа
Вам не нужно. Просто 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
Для Сьерры: 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-серверы для использования:
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4