今晚上打开虚拟机,发现原来的主机名localhost变成了bogon,更让人蛋疼的是开机过程中sendmail卡死。我把虚拟机重新安装了一遍,发现问题依旧。
没办法只能google一下。
在此感谢万能的google。
首先是修改主机名:
第一种方法:
hostname命令
hostname <yourname>
这种方法在系统重启后就会失效,可以用于临时修改。
第二种方法:
修改/etc/hosts文件
此文件相当于主机本地的DNS。
127.0.0.1 <yourname> localhost.localdomain localhost
修改/etc/sysconfig/network文件
HOSTNAME=<yourname>
修改至此,重启电脑后,主机名即变为<yourname>。
解决sendmail服务启动卡死问题:
在大部分linux发行版本中,sendmail这个古老的邮件系统包是默认安装的,装完系统后,重启时,不少兄弟遇到在启动过程中,到了启动sendmail服务的时候就停止了,没有耐性和经验的朋友这时候可能会以为系统出故障或者系统没有装好,其实既不是系统出故障,一般也不是系统没有安装好,而是系统sendmail的时候在查询你设置的主机名的A记录或反向域名记录,由于全球9台DNS根系统都在美国,这个时候会去查询本机主机名对应的dns A记录,特别时你安装系统时设置的一些“奇怪”的主机名的时候,比如webserver等等之类的,这个时候sendmail会去做这个操作过程。
Apr 28 13:41:36 webserver sendmail[3494]: gethostby*.getanswer: asked for "webserver IN AAAA", got type "A"
Apr 28 13:42:36 webserversendmail[3499]: gethostby*.getanswer: asked for "webserver IN AAAA", got type "A"
Apr 28 13:43:37 webserver sendmail: sendmail startup succeeded
Apr 28 13:43:37 webserver sm-msp-queue[3509]: gethostby*.getanswer: asked for "webserver IN AAAA", got type "A"
运气好,我的意思是你的“RP”好,呵呵,查询比较快,你感觉不到异样,“RP”不好,少则一到两分钟,多则四到五分钟,而且要命的是不报任何错误信息,这个时间大大超过了我们能忍受的“8s”时间了,心里承受力差的兄弟就要受煎熬了。
知道了问题的症结,就可以对症下药了,原来sendmail卡死和主机名还是有关系的。
修改主机名后,再次重新启动sendmail看看
[root@localhost ~]# service sendmail restart
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
启动时间已经到秒级了。