码迷,mamicode.com
首页 > 系统相关 > 详细

深入探讨下Linux下修改hostname的五个问题(四)

时间:2015-09-22 10:25:53      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

经过了前面几天的得探讨,相信大家对于如何在Linux下修改hostname已经有了很深的认识了,那么我们今天接着来聊第四个问题。

问题4: hostname跟/etc/hosts 下配置有关系吗?

如果从我上面的实验来看,其实hostname跟/etc/hosts下的配置是没有关系的。hostname的修改、变更完全不依赖hosts文件。 其实hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机数量少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts查看相关信息。

Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc/hosts文件通常里面包含这一条记录

127.0.0.1 localhost.localdomain localhost

hosts文件格式是一行一条记录,分别是IP地址 、hostname、 aliases,三者用空白字符分隔,aliases可选。

127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。

但是呢,其实hostname也不是说跟/etc/hosts一点关系都没有。在/etc/rc.d/rc.sysinit中,有如下逻辑判断,当hostname为localhost后localhost.localdomain时,将会使用接口IP地址对应的hostname来重新设置系统的hostname。

1234567891011121314151617181920212223 # In theory there should be no more than one network interface active      # this early in the boot process -- the one we‘re booting from.      # Use the network address to set the hostname of the client. This      # must be done even if we have local storage.      ipaddr=      if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]; then              ipaddr=$(ip addr show to 0/0 scope global | awk ‘/[[:space:]]inet / { print gensub("/.*","","g",$2) }‘)              if [ -n "$ipaddr" ]; then                      eval $(ipcalc -h $ipaddr 2>/dev/null)                      hostname ${HOSTNAME}              fi      fi

我们来实验一下吧,修改hosts、network文件,修改后的值如下所示:

12345678910 [root@ localhost~]# more /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.::1 localhost.localdomain localhost127.0.0.1 localhost.localdomain localhost192.168.244.128 DB-Server.localdomain DB-Server[root@ localhost  ~]# more /etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=yesHOSTNAME=localhost.localdomain

重启系统后,我们再截图看看情况:

技术分享

所以这也是有时候人们以为hostname的值跟hosts文件有关系的缘故。

如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。
免费下载地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter

深入探讨下Linux下修改hostname的五个问题(四)

标签:

原文地址:http://my.oschina.net/foundation00523wuxi/blog/509452

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!