Comment modifier les Mac / etc / hosts permanents?

Sur mon Mac (en cours d'exécution OS 10.6.8), je peux éditer mon fichier hosts avec sudo vi /etc/hosts , mais les modifications que je fais ne semblent pas persister lors des redémarrages ou éventuellement en réveil en mode veille.

Existe-t-il un moyen de faire persister ces changements?

Voici un exemple de modification ajoutant une substitution pour www.example.com:

 $ cat /etc/hosts ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 1.2.3.4 www.example.com 

Mise à jour: J'utilise également le logiciel Cisco AnyConnect VPN, et cela s'est avéré être l'indice. Voir la réponse de Daniel ci-dessous.

Mise à jour 2013-05-20: Ce comportement a été corrigé / modifié par Cisco dans AnyConnect v3.0.5080 (ou version ultérieure), publié au printemps 2013. Notes de version – recherche d' hosts.ac .

    Vous utilisez le logiciel Cisco AnyConnect, qui remplacera /private/etc/hosts avec /private/etc/hosts.ac . Il suffit de modifier ce fichier à la place.

    Merci à l'explication de @ Danial. L'utilisation d'un script wrapper pour éditer des hôtes plutôt que de le modifier directement faciliterait beaucoup votre peine.

     #!/bin/sh ORIG=/etc/hosts FUCKER=/etc/hosts.ac sudo vim $ORIG pid=$! wait $pid sudo cp $ORIG $FUCKER echo "$ORIG copied to $FUCKER" 

    J'ai eu le même problème. Dans mon cas, j'utilise le client VPN F5. Vous ne devez pas éditer /etc/hosts pendant que le client VPN est en cours d'exécution, car ces modifications seront effacées lorsque vous arrêtez le client VPN. Pour rendre vos modifications permanentes, éditez le fichier /etc/hosts avant de commencer votre client VPN.