¿Cuándo se carga el archivo /etc/hosts?

Estoy tratando de configurar algunos hosts virtuales y estoy bastante confundido en cuanto a cuándo se carga este archivo.

¿ En qué punto se /private/etc/hostscarga? ¿Cuándo iniciar sesión? ¿En cada llamada DNS? ¿Cuándo se reinicia Mac OS?

Respuestas (2)

La página del manual de hosts(5) proporciona una idea de cómo /etc/hostsse utiliza.

El archivo es utilizado por mDNSRespondery, dada su pregunta, sospecho que desea ver las ediciones reflejadas /etc/hostsen sus búsquedas de DNS.

Después de cada edición de /etc/hostsrestablecimiento del mDNSRespondercaché usando esta nota técnica de Apple, OS X: Cómo restablecer el caché de DNS :

sudo dscacheutil -flushcache

La nota explica cuándo podría necesitar hacer esto:

Cuándo podrías querer hacer esto

OS X mantiene un caché local de consultas DNS resueltas durante un tiempo definido por el servidor DNS, pero a veces puede ser necesario restablecer el caché inmediatamente y volver a consultar un servidor DNS. Por ejemplo, puede hacer esto después de cambiar una entrada en el servidor o agregar una nueva entrada.

Por lo general, los cambios /etc/hostsse actualizan automáticamente en unos pocos segundos, y no he necesitado restablecer el caché de DNS manualmente.

Si intenta ejecutar sudo opensnoop|grep /etc/hostsy editar /etc/hosts, /etc/hostsse lee mDNSRespondercasi inmediatamente después de guardarlo.

Sospecho que en versiones posteriores de OS X, Apple comenzó a observar activamente el hostsarchivo en busca de cambios utilizando el mecanismo kqueue.