Jak wprowadzić zmiany w Mac / etc / hosts na stałe?

9

Na komputerze Mac (z systemem operacyjnym 10.6.8) mogę edytować plik hosts sudo vi /etc/hosts, ale wprowadzane przeze mnie zmiany nie wydają się utrzymywać po ponownym uruchomieniu lub przebudzeniu z trybu uśpienia.

Czy istnieje sposób na utrzymanie tych zmian?

Oto przykładowa zmiana dodająca zastąpienie dla 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

Aktualizacja: Używam również oprogramowania Cisco AnyConnect VPN, co okazało się wskazówką. Zobacz odpowiedź Daniela poniżej.

Aktualizacja 2013-05-20: To zachowanie zostało naprawione / zmienione przez Cisco w AnyConnect v3.0.5080 (lub nowszym), wydanym wiosną 2013. Informacje o wydaniu - wyszukaj hosts.ac.

BrianC
źródło
1
możliwy duplikat / etc / hosts resetowany w Lion
Daniel Beck
1
@ user606723 /etcto symboliczny link do /private/etc.
Daniel Beck
Brian, używasz oprogramowania Cisco VPN? Czy masz plik /etc/hosts.ac?
Daniel Beck
Bingo! Jestem twarzą w twarz za pomocą Cisco AnyConnect VPN. Zaktualizowałem plik /etc/hosts.ac i teraz utrzymuje się on na zmianach. Proszę podać to jako odpowiedź, a ja to zaakceptuję.
BrianC

Odpowiedzi:

15

Używasz oprogramowania Cisco AnyConnect, które zastąpi /private/etc/hostsje /private/etc/hosts.ac. Po prostu edytuj ten plik.

Daniel Beck
źródło
8

Miałem ten sam problem. W moim przypadku korzystam z klienta F5 VPN. Nie należy edytować /etc/hostspodczas działania klienta VPN, ponieważ zmiany te zostaną usunięte po wyłączeniu klienta VPN. Aby wprowadzić zmiany na stałe, edytuj /etc/hostsplik przed uruchomieniem klienta VPN.

Tomasz Szymulewski
źródło
Dla mnie, jako F5 VPN, było to bardzo przydatne.
Robert
1

Dzięki wyjaśnieniu @ Danial. Użycie skryptu opakowania do edycji hostów zamiast edycji bezpośredniej znacznie złagodziłoby Twój ból.

#!/bin/sh
ORIG=/etc/hosts
SUCKER=/etc/hosts.ac
sudo vim $ORIG
pid=$!
wait $pid
sudo cp $ORIG $SUCKER
echo "$ORIG copied to $SUCKER"
fwonce
źródło
0

Miałem również ten problem z klientem Pulse Secure VPN, który tworzy plik /etc/pulse-hosts.bak, który również powinieneś edytować. Działa również edycja / etc / hosts przed uruchomieniem Pulse.

turiyag
źródło
Jakie korzyści ma edycja pliku kopii zapasowej ?
Scott,