/etc/hosts 的扩展

/etc/hosts 的扩展

是否有可能在 ubuntu16.04 上扩展文件 /etc/hosts?

我有许多 ubuntu 服务器,所有服务器都应该使用相同的 /etc/hosts 文件,除了一些特殊条目。我首选的解决方案是使用一个包含一些额外文件的目录 (/etc/hosts.d)。然后我可以将原始 hosts 文件复制到每个服务器,并在目录中存储一个专门的文件。

有什么解决办法吗?谢谢。

答案1

不,使用标准机制是不可能的。

德罗伯特在他的Unix.SE 上的解答建议采取以下解决方法:

你可以采用以下几种方法:

  • 设置(可能仅限本地)DNS服务器。其中一些提供很多灵活性,您绝对可以将主机文件分散到多个文件甚至机器上。如果您尝试在多台机器上包含相同的主机列表,那么 DNS 可能是正确的答案。

  • 设置其他名称服务(NIS、LDAP 等)。查看 glibc NSS 文档了解支持哪些服务。我个人认为在大多数情况下都应该使用 DNS。

  • 为自己创建一个/etc/hosts.d目录或类似的东西,然后编写一些脚本将它们全部连接在一起(最简单的:cat /etc/hosts.d/*.conf > /etc/hosts,尽管你可能想要更好的一些,例如排序),并在启动时、从 cron 运行该脚本,或者在你更新文件时手动运行。

相关内容