Ich versuche, einige virtuelle Hosts zu konfigurieren, und bin ziemlich verwirrt darüber, wann diese Datei geladen wird.
An welcher Stelle wird /private/etc/hosts
geladen? Beim Einloggen? Bei jedem DNS-Aufruf? Wenn Mac OS neu gestartet wird?
Die Handbuchseite hosts(5) bietet einen Einblick in /etc/hosts
die Verwendung.
Die Datei wird von verwendet mDNSResponder
, und angesichts Ihrer Frage vermute ich, dass Sie Änderungen sehen möchten, die sich /etc/hosts
in Ihren DNS-Lookups widerspiegeln.
Nach jeder Bearbeitung des /etc/hosts
Zurücksetzens des mDNSResponder
Caches mit diesem technischen Hinweis von Apple, OS X: So setzen Sie den DNS-Cache zurück :
sudo dscacheutil -flushcache
Der Hinweis erklärt, wann Sie dies möglicherweise tun müssen:
Wann Sie dies tun möchten
OS X behält einen lokalen Cache mit aufgelösten DNS-Abfragen für eine vom DNS-Server definierte Zeit, aber manchmal kann es notwendig sein, den Cache sofort zurückzusetzen und einen DNS-Server erneut abzufragen. Sie können dies beispielsweise tun, nachdem ein Eintrag auf dem Server geändert oder ein neuer Eintrag hinzugefügt wurde.
Normalerweise /etc/hosts
werden Änderungen an automatisch innerhalb weniger Sekunden aktualisiert, und ich musste den DNS-Cache nicht manuell zurücksetzen.
Wenn Sie versuchen, auszuführen sudo opensnoop|grep /etc/hosts
und zu bearbeiten /etc/hosts
, wird es fast sofort nach dem Speichern /etc/hosts
gelesen .mDNSResponder
Graham Mill
hosts
Datei mithilfe des Kqueue-Mechanismus aktiv auf Änderungen zu überwachen.