Comment actualiser le fichier hosts sur OS X?

75

J'essaie de développer en utilisant des sous-domaines sur OSX mais je ne veux pas redémarrer l'ordinateur pour actualiser le fichier hosts. Normalement, sur linux, je le ferais /etc/init.d/networking restartmais je ne peux pas comprendre comment faire cela sous OSX.

chrism2671
la source
Vous devez probablement simplement vider le cache de votre navigateur Web.
ma11hew28

Réponses:

105

Tu n'as pas besoin. sudo vim /etc/hostsChangez simplement ce que vous devez changer et continuez. Vos modifications seront appliquées instantanément.

Si vous ping yourdomain.comcontinuez à vous donner une adresse IP incorrecte, essayez de vider votre cache DNS:

OSX 10.4 et inférieur: lookupd -flushcache
OSX 10.5 + 10.6: dscacheutil -flushcache
OSX 10.7 + 10.8: sudo killall -HUP mDNSResponder
OSX 10.9 et supérieur: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
OSX 10.12 et supérieur:sudo dscacheutil -flushcache

vzwick
la source
Pour vider le cache DNS, voir: support.opendns.com/entries/…
Romans-8 --- 31-39
2
Assurez-vous également que vous utilisez le bon ordre (adresse IP, puis DNS).
user1442960
@ user1442960 Cela semble si simple, mais j'avais un fou de cerveau et ajouté des entrées d'hôte incorrectes. Comme dit vzwick, les modifications ont été appliquées instantanément dès que je les ai corrigées.
Nate Barbettini
OSX 10.12 ici, sudo dscacheutil -flushcacheétait juste assez pour effacer le cache
oski86
Sur MacOS 10.14.5 dscacheutil -flushcachesuffisait
zengabor
4

Pour El Capitan, accédez à l'application Terminal et tapez:

sudo killall -HUP mDNSRepondeur

La source

Supra888
la source
0

Je comprends à partir de https://serverfault.com/questions/478534/how-is-dns-lookup-configured-for-osx-mountain-lion que / etc / hosts et /etc/resolv.conf ne sont vraiment plus utilisés sur OS X Sierra 10.12. * (Et probablement plus tôt). En effet, lorsque j'ai essayé d'ajouter des hôtes à / etc / hosts et de réinitialiser le cache avec les instructions ci-dessus, les hôtes n'étaient pas reconnus, via la commande host. Cependant, ping les reconnaît.

La commande networksetup remplace l'ancienne méthode ou utilisait l'interface graphique du réseau. Par exemple, pour spécifier les serveurs DNS à utiliser:

sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
Kevin Buchs
la source
-1

Vous devrez entrer une commande pour ouvrir l'éditeur de texte Nano. Vous aurez également besoin de votre mot de passe administrateur. tapez sudo nano / etc / hosts puis appuyez sur Entrée. Entrez votre mot de passe administrateur, puis appuyez sur Entrée.

Luke Dawn
la source