我一直在努力尝试找出 Linux 主机实用程序忽略我的 /etc/hosts 文件的原因,直到我在这里找到我的问题的答案:hosts 文件似乎被忽略了:
使用此配置,大多数应用程序都可以顺利地处理来自 /etc/hosts 的条目。但是 host 不会查看 /etc/nsswitch.conf。这是设计使然,并非偶然,因为 host 是一个特定的 DNS 查找程序。/etc/hosts 不是 DNS,它是(主要)我们在有 DNS 之前使用的。
然而,就我而言,不久前实用程序还没有出现过这样的行为。
我很确定主机确实检查了 /etc/hosts 文件......
是不是在经历了非常艰难的一天之后我就要发疯了,或者我是对的?
如果我是对的,有人知道为什么以及何时他们改变它吗?
我在 CentOS 5.6 和 6.0 服务器上注意到了这一点。
答案1
这听起来更像是抱怨,而不是疑问。
host
执行 DNS 查找并作为bind
DNS 系统的一部分进行分发。它不解析名称,这不仅可能涉及 /etc/hosts 和 DNS,还可能涉及 YP、LDAP、NMB(samba)和任何其他 nss 插件。
如果你对“正常”主机解析感兴趣,你可以使用盖特恩实用程序(您不会惊讶地发现它与 libnss 一起属于 coreutils 的一部分)。
getent hosts google.com