查看主机hostname的方式
shell> hostname rac4 shell> cat /proc/sys/kernel/hostname rac4 shell> cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=rac4
修改hostname
# 通过hostname命令修改hostname,立即生效但重启后会失效 shell> hostname RAC3 同立即生效但重启后会失效 shell> echo RAC3 > /proc/sys/kernel/hostname shell> sysctl kernel.hostname=RAC3 kernel.hostname = RAC3 # 通过network文件中的hostname,重启后生效 shell> vi /etc/sysconfig/network ==================================================== NETWORKING=yes HOSTNAME=RAC3 ==================================================== shell> shutdown -r now
hostname与/etc/hosts的关系
hosts文件的作用相当如DNS,提供IP地址到hostname的对应。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后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。
more /etc/hosts 127.0.0.1 localhost localhost.localdomain 192.168.1.252 com.svoid svoid
这样,就可以通过svoid或者com.svoid 来访问本机。
从上面这些来看,/etc/hosts于设置hostname是没直接关系的,仅仅当需要在本机上用新的hostname来访问自己的时候才会用到/etc/hosts文件,两者没有必然的联系。
但是如果默认hostname为 localhost 或 localhost.localdomain, 将会使用/etc/hosts中接口IP地址对应的 hostname 来重新设置系统的hostname。
问题重现
shell> more /etc/hosts 127.0.0.1 localhost localhost.localdomain 192.168.1.252 rac4 shell> more /etc/sysconfig/network #修改hostname NETWORKING=yes HOSTNAME=localhost shell> hostname localhost #修改hostname shell> shutdown -r now shell> hostname #重启之后发现hostname没变 rac4
查看/etc/rc.d/rc.sysinit启动脚本
HOSTNAME=$(/bin/hostname) if [ -f /etc/sysconfig/network ]; then . /etc/sysconfig/network fi if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then HOSTNAME=localhost fi ipaddr= if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]; then ipaddr=$(ip addr show to 0.0.0.0/0 scope global | awk '/[[:space:]]inet / { print gensub("/.*","","g",$2) }') for ip in $ipaddr ; do HOSTNAME= eval $(ipcalc -h $ip 2>/dev/null) [ -n "$HOSTNAME" ] && { hostname ${HOSTNAME} ; break; } done fi
参考:
http://www.cnblogs.com/yuechaotian/archive/2013/02/20/2918175.html
http://www.cnblogs.com/kerrycode/p/3595724.html
整理自网络
Svoid
2015-04-03
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29733787/viewspace-1551858/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29733787/viewspace-1551858/