Come rendere permanenti le modifiche a Mac / etc / hosts?


13

Sul mio Mac (con OS 10.6.8), posso modificare il file hosts con sudo vi /etc/hosts, ma le modifiche apportate non sembrano persistere attraverso il riavvio o eventualmente il risveglio dalla modalità di sospensione.

C'è un modo per rendere persistenti questi cambiamenti?

Ecco una modifica di esempio che aggiunge una sostituzione per 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

Aggiornamento: sto anche utilizzando il software Cisco AnyConnect VPN, e questo si è rivelato essere l'indizio. Vedi la risposta di Daniel sotto.

Aggiornamento 20/05/2013: questo comportamento è stato risolto / modificato da Cisco in AnyConnect v3.0.5080 (o versione successiva), rilasciato nella primavera del 2013. Note di rilascio : cercare hosts.ac.



1
@ user606723 /etcè un collegamento simbolico a /private/etc.
Daniel Beck

Brian, stai usando il software Cisco VPN? Hai il file /etc/hosts.ac?
Daniel Beck

Bingo! Sono di fronte utilizzando Cisco AnyConnect VPN. Ho aggiornato il file /etc/hosts.ac e ora persiste le modifiche. Per favore, inseriscilo come risposta e lo accetterò.
BrianC,

Risposte:


16

Stai utilizzando il software Cisco AnyConnect, che verrà sovrascritto /private/etc/hostscon /private/etc/hosts.ac. Basta modificare quel file invece.


14

Ho avuto lo stesso problema. Nel mio caso sto usando il client VPN F5. Non è necessario modificarlo /etc/hostsmentre il client VPN è in esecuzione, poiché queste modifiche verranno cancellate quando si arresta il client VPN. Per rendere permanenti le modifiche, modificare il /etc/hostsfile prima di avviare il client VPN.


Per me, come VPN F5 questo è stato molto utile.
robert,

1

Grazie alla spiegazione di @ Danial. L'uso di uno script wrapper per modificare gli host anziché modificarlo direttamente allevia il dolore.

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

0

Ho anche avuto questo problema con il client Pulse Secure VPN, che crea un file /etc/pulse-hosts.bak che dovresti anche modificare. Anche la modifica di / etc / hosts prima di avviare Pulse funziona.


1
A cosa serve modificare un file di backup ?
Scott,

0

La maggior parte del client VPN crea un file di backup di / etc / host quando si avvia la VPN.

Per mantenere permanentemente le modifiche, è sufficiente modificare il file host senza una connessione VPN.

Una volta avviata la VPN, il file di backup verrà creato con le modifiche apportate e qualsiasi client VPN che sovrascrive il file host manterrà comunque le modifiche.

Nome comune del file di backup per client:

  • Pulse Secure Client - pulse-hosts.bak
  • Cisco Any Connect - hosts.ac

Questa sembra essere sostanzialmente una versione più dettagliata della risposta accettata - e hai scritto male "Any".
G-Man dice "Reinstate Monica" il

Grazie ... La risposta accettata suggerisce un WAR per aggiornare il file di backup. Questa risposta è aggiornare il file host mentre la VPN è disconnessa. Questa soluzione funzionerà per qualsiasi client VPN
xxnations
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.