主机文件在 Mac 上不起作用?试试这个修复

Mac 上的主机文件

一些 Mac 用户发现 MacOS 中的主机文件似乎不起作用,或者对 Mac 上的 /etc/hosts 文件的更改似乎被忽略了。鉴于 hosts 文件用于将 IP 地址映射到主机名,并且经常被高级用户修改,这是一个可以理解的恼人问题。

当它发生时,这是相当明显的问题,因为在 编辑 Mac 上的主机文件之后命令行 甚至 使用 TextEdit,并刷新 DNS 缓存,没有似乎是对主机的任何更改。

hosts 文件的更改被忽略,或者对 hosts 文件的编辑不起作用,实际上是相当常见的情况,尤其是对于现代版本的 MacOS 系统软件。幸运的是,这通常也很容易解决。

修复 Hosts 文件更改被忽略/Hosts 文件在 MacOS 中不工作

hosts 文件无法在 Mac 上运行的最可能原因是它已损坏,或者不再是 ASCII 文件格式。当尝试使用富文本编辑器或第三方应用程序编辑主机文件时,或者使用 vim/vi/nano 等时保存了错误的文件类型时,有时会发生这种情况。

首先,我们将通过重命名来备份/移动旧的主机文件,这允许您在需要时还原更改:

sudo mv /etc/hosts /etc/hostsbackup

将 hostsbackup 文件的内容复制到剪贴板,一个简单的方法是使用 cat 然后选择文本并将其复制到剪贴板:

cat /etc/hostsbackup

现在用 nano 创建一个新的主机文件:

sudo nano /etc/hosts

将原始主机文件的内容粘贴到新创建的主机文件中。

按 Control+o 和 Control+X 保存并退出 nano。

接下来,您可能需要刷新 DNS 缓存 以使更改生效。

sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

这应该足以让主机更改继续进行,您不需要重新启动任何浏览器或其他连接互联网的应用程序。

注意:一些 Mac 用户报告需要重新启动他们的 Mac 才能识别新的主机文件,这种情况很少见,但可能适用于某些运行 macOS Catalina 或更高版本的 Mac。

您可能还需要在 Mac OS 中启用根帐户在您能够修改主机文件之前,这取决于您的 macOS 安装的安全程度。

一些用户继续遇到主机文件在 macOS Monterey 和 macOS Ventura 中被忽略的问题,在这种情况下,您还可以使用第三方应用程序,例如 GasMask 用于管理 Mac 上的主机文件,如果您希望在浏览器级别执行此操作,甚至可以使用浏览器扩展来修改主机。例如,对于 Google Chrome,Chrome 扩展程序如 LiveHosts 完成这项工作。

您以前在 MacOS 中遇到过主机文件问题吗?上述从命令行创建新主机文件的解决方案是否为您解决了问题?您找到其他解决方案了吗?在评论中与我们分享您的体验!