Bagaimana cara membuat perubahan pada Mac / etc / hosts permanen?

13

Di Mac saya (menjalankan OS 10.6.8), saya dapat mengedit file host saya sudo vi /etc/hosts, tetapi perubahan yang saya buat tampaknya tidak bertahan melalui restart atau mungkin bangun dari mode tidur.

Apakah ada cara untuk membuat perubahan ini tetap ada?

Berikut ini contoh perubahan menambahkan penggantian untuk 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

Pembaruan: Saya juga menggunakan perangkat lunak Cisco AnyConnect VPN, dan itu ternyata petunjuknya. Lihat jawaban Daniel di bawah ini.

Pembaruan 2013-05-20: Perilaku ini diperbaiki / diubah oleh Cisco di AnyConnect v3.0.5080 (atau lebih tinggi), dirilis pada Spring 2013. Catatan Rilis - cari hosts.ac.

BrianC
sumber
1
kemungkinan duplikat dari / etc / hosts sedang diatur ulang di Lion
Daniel Beck
1
@ user606723 /etcadalah tautan simbolis ke /private/etc.
Daniel Beck
Brian, apakah Anda menggunakan perangkat lunak Cisco VPN? Anda punya file /etc/hosts.ac?
Daniel Beck
Bingo! Saya sedang menggunakan Cisco AnyConnect VPN. Saya memperbarui file /etc/hosts.ac dan sekarang tetap ada perubahan. Tolong cantumkan ini sebagai jawaban dan saya akan menerimanya.
BrianC

Jawaban:

16

Anda menggunakan perangkat lunak Cisco AnyConnect, yang akan menimpa /private/etc/hostsdengan /private/etc/hosts.ac. Hanya mengedit yang file bukan.

Daniel Beck
sumber
14

Saya memiliki masalah yang sama. Dalam kasus saya, saya menggunakan klien F5 VPN. Anda tidak boleh mengedit /etc/hostssaat klien VPN sedang berjalan, karena perubahan ini akan dihapus ketika Anda menutup klien VPN. Untuk membuat perubahan Anda permanen, edit /etc/hostsfile sebelum Anda memulai klien VPN Anda.

Tomasz Szymulewski
sumber
Bagi saya, sebagai F5 VPN ini sangat berguna.
robert
1

Terima kasih atas penjelasan @ Danial. Menggunakan skrip pembungkus untuk mengedit host daripada mengeditnya secara langsung akan banyak mengurangi rasa sakit Anda.

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

Saya juga punya masalah dengan klien Pulse Secure VPN, yang membuat file /etc/pulse-hosts.bak yang harus Anda edit juga. Mengedit / etc / hosts sebelum meluncurkan Pulse juga berfungsi.

turiyag
sumber
1
Apa gunanya mengedit file cadangan ?
Scott
0

Sebagian besar klien VPN membuat file cadangan dari / etc / host ketika Anda memulai VPN.

Untuk menjaga perubahan Anda secara permanen, cukup ubah file host tanpa koneksi VPN.

Setelah Anda memulai VPN, file cadangan akan dibuat dengan perubahan Anda, dan setiap klien VPN yang menimpa file host akan tetap menyimpan perubahan Anda.

Nama file cadangan umum oleh klien:

  • Pulse Secure Client - pulse-hosts.bak
  • Cisco Any Connect - hosts.ac
xxnations
sumber
Ini tampaknya pada dasarnya versi yang lebih verbal dari jawaban yang diterima - dan Anda salah mengeja “Apa saja”.
G-Man Mengatakan 'Reinstate Monica'
Terima kasih ... Jawaban yang diterima menyarankan PERANG untuk memperbarui file cadangan. Jawaban ini adalah untuk memperbarui file host ketika VPN terputus. Solusi ini akan bekerja untuk Klien VPN apa pun
xxnations