自动生成的 /etc/hosts 是错误的

自动生成的 /etc/hosts 是错误的

我已经创建了一个 kickstart 脚本,以完全自动化的方式安装 CentOS 5.5 (32 位)。

DNS/DHCP 设置在正向和反向查找中都正确地为系统提供了正确的主机名。

挖掘 node4.mydomain.com。 +简短

10.10.10.64

dig -x 10.10.10.64 +短

node4.mydomain.com.

安装完成后系统安装状态如下:

猫/等/系统配置/网络

NETWORKING=yes
NETWORKING_IPV6=yes
GATEWAY=10.10.10.1
HOSTNAME=node4.mydomain.com

回显 ${HOSTNAME}

node4.mydomain.com

猫/等/主机

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
10.10.10.64            node4

我的问题是,这个自动生成的 hosts 文件与我想要的方式(或者更好的是:Hadoop 想要的方式)略有不同。

最后一行看起来应该像这样:

10.10.10.64            node4.mydomain.com node4

我应该修改哪里来修复这个问题?

谢谢。


编辑:我尝试找到实际创建此文件的代码。我查看了 acaconda 源代码和 setup src rpm,但没有找到。这里有人知道创建 /etc/hosts 文件的代码位于哪里吗?


我将以下内容添加到 kickstart 文件的 %post 中,以适应我的情况:

# =========================
# Force the right hosts file for Hadoop and such
cat > /etc/hosts <<End-of-file
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1     localhost.localdomain localhost
::1           localhost6.localdomain6 localhost6
\$(dig +short \$(hostname))      \$(hostname -f) \$(hostname -s)
End-of-file

答案1

由于不熟悉 RedHat 的 kickstart 系统,我会使用补充脚本在安装结束时运行并按照您想要的方式设置行。

相关内容