OSX Sierra主机文件被忽略


19

由于某种原因,两天前我的主机文件开始被忽略。
我将Mac与Sierra OSx一起使用。这是/ 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 localhostage
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

127.0.0.1 localkur.com

ping localkur.com返回

ping: cannot resolve localkur.com: Unknown host

我已经重新启动系统,使用以下命令清理缓存

sudo killall -HUP mDNSResponder;
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;

在不同的文本编辑程序,vm,sublime等中重新打开文件。
仔细检查是否使用空格或制表符(或使用双空格或双制表符)-进行了所有可能性的测试。
同时使用此命令监视文件

 sudo fs_usage | grep "/etc/hosts"

并在刷新浏览器或使用sublime保存时获得了该结果

12:23:35  open              private/etc/hosts 0.000019   Google Chrom
12:23:36  open              private/etc/hosts 0.000019   Google Chrom
12:23:41  stat64            /private/etc/hosts 0.000022   Sublime Text
12:23:43  stat64            /private/etc/hosts 0.000019   Sublime Text
12:23:45  stat64            /private/etc/hosts 0.000019   Sublime Text
12:23:45  open              /private/etc/hosts 0.000019   Sublime Text

我想念什么?
为什么忽略此文件?
如何再次启用它?


检入行是System Preferences > Network > Advanced ... > Proxies什么?有什么特别的吗?
FarazX

该文件可能已损坏/损坏,它必须是ascii文件-为什么不重新创建它?
13dimitar,2017年

@FarazX有“这些主机和域的绕过代理设置:”,值是“ * .local,169.254 / 16”
T1000

@ 13nilux如何正确地重新创建它?
T1000

使用nano-将旧文件移到/ etc / oldhosts,用nano创建一个新文件,用旧文件的值填充它,并将其保存为/ etc / hosts
13dimitar

Answers:


12

该文件可能已损坏/损坏,它必须是ASCII文件。您应该重新创建它:

  • 使用移动旧文件 mv -f /etc/hosts /etc/oldhosts
  • 创建一个新文件 nano
  • 用旧文件的值填充它
  • 另存为 /etc/hosts

那应该做。


1
谢谢,这就是我的问题!该文件看起来完全正常,但显然编码更改或其他原因。它被'cat / etc / hosts'看到,因为cat没有列出文件的全部内容,只是最后一行....
T1000

13
最好先检查file -I /etc/hosts输出。如果输出charset=us-ascii,则此答案对您不起作用。
MCCCS

10

查看系统偏好设置->网络

如果当前活动的“位置”列出了一个或多个DNS服务器,则系统将创建文件“ /etc/resolv.conf”,该文件将列出那些名称服务器作为解析位置,从而完全绕开/ etc / hosts

resolv.conf由“网络”首选项动态创建,并基于当前活动“位置”的“ DNS服务器”字段覆盖,如果该字段为空白,则将其删除


这为我解决了这个问题。感谢您发布此解决方案。
PhilR

1
我的系统使用DHCP来接收DNS解析器,并且有一个/etc/resolv.conf文件。如何覆盖常规DNS查询以阻止弹出式窗口?我的意图是向/ etc / hosts添加行。
jetset

您打算如何区分有效的DNS查询和弹出式窗口?听起来可能是浏览器级别的问题。像“ Privacy Badger”或“ uBlock Origin”之类的浏览器解决方案可能会更好地为其服务?
BenL

1
那么解决方案是什么?删除“ DNS”选项卡上列出的DNS。
multigoodverse

在我的情况下,我无法删除DNS(我使用pi-hole),但希望在将某些域发送给pi-hole DNS进行解析之前对其进行封杀。由于某些原因,127.0.0.1 example.com在/ etc / hosts中运行不起作用,并将dns查询发送到pi孔,然后在浏览器中对其进行了解析,但是将127.0.0.1更改为0.0.0.0,这样我的条目0.0.0.0 example.com在/ etc / hosts中读取了。
科纳

2

这肯定是一个旧线程,但是我今天遇到了同样的问题,我找到了解决方案。如果有人需要它,请留在这里。

sudo dscacheutil -flushcache

在我的情况下,刷新DNS缓存可以解决问题。


1

另外,请确保您的主机名列表不超过20个名称。我经常访问一个喜欢在您的脸上放广告的网站,因此我将弹出窗口中的FQDN分配为localhost的别名。最近,我发现我的主机文件不起作用。似乎限制为20个主机...示例:

127.0.0.4 www.slutroulette.com static.exoclick.com www.gameskwala.com www.thefreecamsecret.com www.slutroulette.com cdn1.adexpert.com cdn2.adexpert.com cdn3.adexpert.com cdn3.adexperts.com abine。 com www.abine.com e1.static.hoptopboy.com.rncdn1.com gameinvite.24trk.com main.exoclick.com 0427d7.se syndication.exoclick.com 0427d7.se gamingruff.com www.gamingruff.com mackeeperapp.zeobit。 com 
127.0.0.5 ads.adplxmd.com mackeeperapp3.mackeeper.com onclickads.net onclick.net fundownloads108.com pussl10.com rumorsleague.com kitsfilesdll.com pussl8.com nowsetup.enterworldofupgrading.review playgr8.com autoupdate.thebigandgoodfree4upvening.trade贸易。 .com www.hitcpm.com www.ibtimes.co.uk mysagagame.com


-1

可以使用TAB代替SPACE。就我而言。修复得很好!


2
您能详细说明一下吗?
Toto

-1

对我而言,问题是将详细信息粘贴到其中。清空缓存等不起作用。

删除原始条目,然后手动键入所有内容,这是第一次!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.