Próbuję opracować przy użyciu subdomen w systemie OSX, ale nie chcę ponownie uruchamiać komputera, aby odświeżyć plik hosts. Normalnie zrobiłbym to na Linuksie, /etc/init.d/networking restart
ale nie mogę wymyślić, jak to zrobić na OSX.
Próbuję opracować przy użyciu subdomen w systemie OSX, ale nie chcę ponownie uruchamiać komputera, aby odświeżyć plik hosts. Normalnie zrobiłbym to na Linuksie, /etc/init.d/networking restart
ale nie mogę wymyślić, jak to zrobić na OSX.
Odpowiedzi:
Nie musisz. Po prostu sudo vim /etc/hosts
zmień to, co musisz zmienić, i kontynuuj. Twoje zmiany zostaną zastosowane natychmiast.
Jeśli ping yourdomain.com
nadal podaje zły adres IP, spróbuj wyczyścić pamięć podręczną DNS:
OSX 10.4 i lookupd -flushcache
nowsze : OSX 10.5 + 10.6: dscacheutil -flushcache
OSX 10.7 + 10.8: sudo killall -HUP mDNSResponder
OSX 10.9 i sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
nowsze : OSX 10.12 i nowsze:sudo dscacheutil -flushcache
sudo dscacheutil -flushcache
wystarczył do wyczyszczenia pamięci podręcznej
dscacheutil -flushcache
wystarczyło
W przypadku Sierra: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
od https://www.indabaa.com/how-to-reset-flush-dns-cache-in-macos-sierra/
Rozumiem z https://serverfault.com/questions/478534/how-is-dns-lookup-configured-for-osx-mountain-lion, że / etc / hosts i /etc/resolv.conf tak naprawdę nie są już używane na OS X Sierra 10.12. * (I prawdopodobnie wcześniej). Rzeczywiście, kiedy próbowałem dodać hosty do / etc / hosts i zresetować pamięć podręczną za pomocą powyższych instrukcji, hosty nie zostały rozpoznane za pomocą komendy host. Jednak ping je rozpoznaje.
Polecenie networksetup zastępuje „stary” sposób robienia rzeczy lub korzysta z sieciowego GUI. Na przykład, aby określić serwery DNS, które mają być używane:
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4