Lion 中的 /etc/hosts 被重置

Lion 中的 /etc/hosts 被重置

为了在本地机器上进行 Web 开发,我使用该/etc/hosts文件定义指向 127.0.0.1 的主机,Apache 通过 VirtualHosts 向该主机提供服务。这种方法效果很好,但现在 Lion 似乎会不时重置我的 /etc/hosts 文件。

有其他人遇到过这种情况吗?有什么方法可以防止这种情况发生吗?

我在 Snow Leopard 中从来没有遇到过这个问题。

答案1

我刚刚发现是什么重置了我的 /etc/hosts 文件。它是 Cisco AnyConnect VPN 客户端。每当我连接到组织的 VPN 时,它都会将 hosts 文件重置为默认值。我很少连接到 VPN,因此问题似乎时有时无。

如果您使用 Cisco 的 AnyConnect VPN 客户端,请注意,它会将您的主机文件重置为以下内容:/etc/hosts.ac

/etc/hosts为了解决这个问题,请在和文件中对主机进行更改/etc/hosts.ac

我从 MacWorld 得到了提示。

答案2

目录服务(Tiger 及更早版本中的 NetInfo)有自己的静态主机映射,地址解析器将在 之前使用该映射/etc/hosts。这些可以通过目录实用程序或 进行操作dscl

dscl localhost -create /Local/Default/Hosts/www.myhost1.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost2.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost3.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost4.com IPAddress 127.0.0.1

答案3

我在 Lion 上没有看到这种行为,并且我有一个自定义的 /etc/hosts。

是整个文件都恢复了,还是只恢复了像 127.0.0.1 这样的常见条目的前几行?

某些操作系统操作可能会重新应用前几个“标准” /etc/host 行,因此我可能会尝试添加行,而不是编辑这些行......

我的情况看起来像这样,并且从未发生过神奇的改变:

##
# 主机数据库
#
# localhost 用于配置环回接口
# 在系统启动时。请勿更改此条目。
##
127.0.0.1 本地主机
255.255.255.255 广播主机
::1 本地主机
fe80::1%lo0 本地主机

# 在本地路由一些 Web 请求
127.0.0.1 www.myhost1.com
127.0.0.1 www.myhost2.com
127.0.0.1 www.myhost3.com
127.0.0.1 www.myhost4.com

答案4

我遇到了和 Jimmy Z 一样的问题。真的很令人沮丧,尤其是因为我有多个自定义主机。直到第 3 或第 4 次发生时我才意识到它总是在重启后发生。

我终于偶然发现博客文章建议删除并重新创建 hosts 文件。我按照建议操作,重新启动后,发现 /etc/hosts 处于预启动状态,这让我松了一口气。下面是我所做操作的回顾。

cat /etc/hosts | pbcopy 
sudo rm /etc/hosts{,.ac}
sudo touch /etc/hosts
sudo su root -c 'pbpaste > /etc/hosts'

相关内容