Wie kann ich Änderungen an Mac / etc / hosts dauerhaft vornehmen?

12

Auf meinem Mac (unter OS 10.6.8) kann ich meine Hosts-Datei mit bearbeiten sudo vi /etc/hosts, aber Änderungen, die ich vornehme, scheinen nicht durch Neustarts oder möglicherweise durch Erwachen aus dem Ruhemodus bestehen zu bleiben.

Gibt es eine Möglichkeit, diese Änderungen fortzusetzen?

Hier ist eine Beispieländerung, die eine Überschreibung für www.example.com hinzufügt:

$ 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

Update: Ich verwende auch die Cisco AnyConnect VPN-Software, und das stellte sich als Anhaltspunkt heraus. Siehe Daniels Antwort unten.

Update 2013.05.20: Dieses Verhalten fest / geändert von Cisco in AnyConnect v3.0.5080 (oder höher), veröffentlicht im Frühjahr 2013 Release Notes - Suche nach hosts.ac.

BrianC
quelle
1
Mögliches Duplikat von / etc / hosts wird in Lion zurückgesetzt
Daniel Beck
1
@ user606723 /etcist ein symbolischer Link zu /private/etc.
Daniel Beck
Brian, verwenden Sie Cisco VPN-Software? Haben Sie die Datei haben /etc/hosts.ac?
Daniel Beck
Bingo! Ich bin mit Cisco AnyConnect VPN konfrontiert. Ich habe die Datei /etc/hosts.ac aktualisiert und die Änderungen bleiben nun erhalten. Bitte geben Sie dies als Antwort und ich werde es akzeptieren.
BrianC

Antworten:

16

Sie Cisco AnyConnect Software, die überschrieben /private/etc/hostsmit /private/etc/hosts.ac. Bearbeiten Sie stattdessen einfach diese Datei.

Daniel Beck
quelle
12

Ich hatte das gleiche Problem. In meinem Fall verwende ich einen F5-VPN-Client. Sie sollten nicht bearbeiten, /etc/hostswährend der VPN-Client ausgeführt wird, da diese Änderungen beim Herunterfahren des VPN-Clients gelöscht werden. Um Ihre Änderungen dauerhaft zu machen, bearbeiten Sie die /etc/hostsDatei, bevor Sie Ihren VPN-Client starten.

Tomasz Szymulewski
quelle
Für mich als F5 VPN war dies sehr nützlich.
Robert
1

Dank der Erklärung von @ Danial. Die Verwendung eines Wrapper-Skripts zum Bearbeiten von Hosts anstatt direkt zu bearbeiten, würde Ihre Schmerzen erheblich lindern.

#!/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
quelle
0

Ich hatte auch dieses Problem mit dem Pulse Secure VPN-Client, der eine Datei /etc/pulse-hosts.bak erstellt, die Sie ebenfalls bearbeiten sollten. Das Bearbeiten von / etc / hosts vor dem Start von Pulse funktioniert ebenfalls.

turiyag
quelle
1
Was nützt es, eine Sicherungsdatei zu bearbeiten ?
Scott
0

Der größte Teil des VPN-Clients erstellt beim Starten des VPN eine Sicherungsdatei des / etc / host.

Um Ihre Änderungen dauerhaft beizubehalten, ändern Sie einfach die Hostdatei ohne VPN-Verbindung.

Sobald Sie das VPN starten, wird die Sicherungsdatei mit Ihren Änderungen in erstellt, und jeder VPN-Client, der die Hostdatei überschreibt, behält Ihre Änderungen weiterhin bei.

Allgemeiner Name der Sicherungsdatei nach Client:

  • Pulse Secure Client - puls-hosts.bak
  • Cisco Any Connect - hosts.ac
xxnations
quelle
Dies scheint im Grunde eine ausführlichere Version der akzeptierten Antwort zu sein - und Sie haben „Any“ falsch geschrieben.
G-Man sagt "Reinstate Monica"
Danke ... Die akzeptierte Antwort schlägt ein WAR vor, um die Sicherungsdatei zu aktualisieren. Diese Antwort besteht darin, die Hostdatei zu aktualisieren, während das VPN getrennt ist. Diese Lösung funktioniert für jeden VPN-Client
xxnations