Mac(OS 10.6.8を実行している)では、Sudo vi /etc/hosts
を使用してホストファイルを編集できますが、行った変更は、再起動またはスリープモードからの復帰によって保持されないようです。
これらの変更を持続させる方法はありますか?
以下は、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
更新:私はCisco AnyConnect VPNソフトウェアも使用しており、それが手掛かりであることがわかりました。以下のダニエルの答えを見てください。
2013-05-20を更新:この動作は、2013年春にリリースされたCiscoのAnyConnect v3.0.5080以降で修正または変更されました。- リリースノート -hosts.ac
を検索します。
/private/etc/hosts
を/private/etc/hosts.ac
で上書きするCisco AnyConnectソフトウェアを使用しています。代わりにthatファイルを編集してください。
同じ問題が発生しました。私の場合、F5 VPNクライアントを使用しています。編集しないでください/etc/hosts
VPNクライアントの実行中。VPNクライアントをシャットダウンするとこれらの変更は消去されるため。変更を永続的にするには、/etc/hosts
ファイルをVPNクライアントを起動する前に。
@Danialの説明に感謝します。ホストを直接編集するのではなく、ラッパースクリプトを使用してホストを編集すると、痛みが大幅に軽減されます。
#!/bin/sh
ORIG=/etc/hosts
SUCKER=/etc/hosts.ac
Sudo vim $ORIG
pid=$!
wait $pid
Sudo cp $ORIG $SUCKER
echo "$ORIG copied to $SUCKER"
また、Pulse Secure VPNクライアントにもこの問題があり、編集する必要があるファイル/etc/Pulse-hosts.bakが作成されます。 Pulseを起動する前に/ etc/hostsを編集することもできます。