如何阻止安装程序将无效条目放入我的 /etc/hosts 文件中?

如何阻止安装程序将无效条目放入我的 /etc/hosts 文件中?

我有许多 Hardy 主机,在安装过程中,它们的 /etc/hosts 中似乎放置了无效的主机名。

在新建的、未修改的主机上,/etc/hosts 中有一行内容如下

127.0.1.1  hostname.subdomain.domain.subdomain.domain hostname.subdomain.domain

该列表中的第一个主机名无效。

hostname -f当程序运行或等效运行时,这会导致问题并获取“hostname.subdomain.domain.subdomain.domain”,这是一个无效的、无法解析的主机名。

uname -n返回“主机名.子域.域”

在 Lucid 主机上,条目如下所示:

127.0.1.1  hostname.subdomain.domain hostname

这正是我所期待的,也是我希望发生的事情。

我们的 Hardy 和 Lucid 机器都是通过 pxeboot 和 pressed 文件构建的。我扫描了我们的预置配置,以查找:

  • 任何看起来可能会改变主机名的东西
  • 任何可能改变 /etc/hosts 的内容

我什么也没找到。

我可以通过 puppet 大规模操作 /etc/hosts,但我更希望了解问题的原因并从源头上解决问题。

答案1

我想到两个可以看看的地方:

如果这些是使用 casper live cd 环境的客户端安装,听起来这像是在该环境中设置的。获取 cd 或 iso 映像,获取 casper/initrd.lz 文件并解压缩:

lzma -dc -S .lz initrd.lz | cpio -imvd --no-absolute-filenames

大多数配置都在 scripts/casper-bottom 中设置。您可能会在那里找到线索。

有关如何操作 CD 的更多详细信息请参见此处:

https://help.ubuntu.com/community/LiveCDCustomization

如果没有,我接下来会研究 Ubiquity 安装程序,我认为如果您启动 Live CD,您可以查看文件和代码。如果在安装时完成此操作,则 Ubiquity 就是完成此操作的地方。

相关内容