Linux中的hostname
栏目:互联网时间:2014-10-08 10:33:56
hostname命令来查看本机的hostname,
#hostname
hostname命令可以设置系统的hostname
#hostname newname
newname即要设置的新的hostname,运行后立即生效(重新启动shell),但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的配置置文件。
RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要设置的hostname。
Debian发行版的hostname的配置文件是/etc/hostname。
修该配置文件后,重启系统就会读取配置文件设置新的hostname。
hostname与/etc/hosts的关系
很多人人一提到更改hostname首先就想到修改/etc/hosts文件,认为hostname的配置文件就是/etc/hosts。其实不是的。
hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。
Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。
修改hostname后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。
比如:
#hostname server1.localdomain
# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.2.5 server1.localdomain
这样,我就可以通过server1或者server1.localdomain来访问本机。
同时要注意到192.168.2.5一定是可以访问的,要不然在启动的时候在starting sendmai这一步会花很长的时间
------分隔线----------------------------
------分隔线----------------------------