3

I'm trying to configure some virtual hosts and I'm quite confused as to when this file is loaded.

At what point is /private/etc/hosts loaded? When logging in? At every DNS call? When Mac OS restarts?

5

The hosts(5) manual page provides some insight into how /etc/hosts is used.

The file is used by mDNSResponder and, given your question, I suspect you want to see edits to /etc/hosts reflected in your DNS look-ups.

After each edit of /etc/hosts reset the mDNSResponder cache using this Apple technical note, OS X: How to reset the DNS cache:

sudo dscacheutil -flushcache

The note explains when you might need to do this:

When you might want to do this

OS X keeps a local cache of resolved DNS queries for a time defined by the DNS server, but sometimes it may be necessary to reset the cache immediately and re-query a DNS server. For example, you might do this after an entry on the server is changed or a new entry is added.

2

Usually changes to /etc/hosts are updated automatically within a few seconds, and I haven't needed to reset the DNS cache manually.

If you try to run sudo opensnoop|grep /etc/hosts and edit /etc/hosts, /etc/hosts is read by mDNSResponder almost immediately after you save it.

  • 2
    I suspect in later versions of OS X, Apple started actively watching the hosts file for changes using the kqueue mechanism. – Graham Miln Feb 17 '14 at 7:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .