这是针对 Scientific Linux 6.1 系统的,但也应该适用于 CentOS 6.1 和 RHEL 6.1。
我正在设置一个新的 Scientific Linux 6.1 系统,使用 kickstart 和 DHCP(通过 xCAT)。该机器应命名为“host2.example.org”。
我发现某些程序无法解析该系统的主机名。
RedHat 6 似乎不再将主机名放入/etc/hosts
(参见错误 668830和红帽知识库DOC-57321(要求登录))。此外,主机名未在/etc/sysconfig/network
.
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
# hostname
host2
# hostname --long
hostname: Host name lookup failure
我本来希望在 中看到主机名/etc/sysconfig/network
,但它不在那里。难道不应该有什么东西(比如 NetworkManager)将主机名放入某个文件中吗?如果是这样,为什么我的 中没有 HOSTNAME 行/etc/sysconfig/network
? Kickstart 或 Anaconda 应该这样做吗?
对于 CentOS/SL 5.6,我相信主机名始终添加到/etc/hosts
.
答案1
我也遇到了这个问题——SL6.2 在启动时没有正确设置主机名,这导致各种事情都无法工作。我最终在 /etc/sysconfig/network 中更改了这一行以指定所需的 host.domain 名称而不是“localhost.localdomain”:
HOSTNAME=localhost.localdomain
这似乎可以解决问题。我不会费心去尝试找出为什么这在安装过程中没有自动完成......