今天要维护邮件服务器:修改些不相干的配置,比如增加log文件的大小,增加log文件的数量,然后重启邮件服务时,发生了
(原文链接 http://ddbiz.com/?p=134)
hostname: Unknown host
真是很奇怪的事情,log文件的修改是不会改动到任何网络这方面的设定的。
回到 shell 下,执行
#hostname
Unknown host
#hostname -a
#hostname -f
Unknown host
咦,hostname 解析不到自己的服务器器名称,还真是奇怪啊。首先说说 hostname 命令。hostname 使用了读取/设定本机的“域名”
的。
#hostname
根据 man hostname 说明,不带参数的 hostname 是调用 gethostname(2) 来获得机器的名称。如果按照这个思路,我的系统(CentOS)
是在启动时通过 /etc/sysconfig/network 中的 HOSTNAME 来设定主机名的,那么
#hostname
应该直接返回 这个 HOSTNAME 才是,可是为什么会调用失败呢?
再来看看系统的设置
#cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=svr0.mydomain.com
svr0.mydomain.com是本机的全名。但是 svr0 这个是没有在公网 DNS 中注册的。