1.
linux系统在启动阶段,init进程会调用shell脚本文件/etc/rc.d/rc.sysinit,而rc.sysinit会去读取/etc/sysconfig/network中HOSTNAME项作为主机名称。在linux启动后,机器的主机名会放到内存虚拟文件系统/proc/sys/kernel/hostname文件中。因此,修改/etc/sysconfig/network中的主机名可以永久生效,但是需要重启机器才可以。相应地,修改/proc/sys/kernel/hostname中主机名,可以立即生效,但是机器重启后主机名将会还原回/etc/sysconfig/network中的主机名。
备注:在不同的linux发行版本中,可能涉及到文件路径不一样。
2.修改主机名几种方法
(1)新会话立即生效,但是重启机器后失效
hostname newhostname #修改的是内存中的主机名
(2)新会话立即生效,但是重启机器后失效
echo newhostname > /proc/sys/kernel/hostname #修改的是内存中的主机名
(3)新会话立即生效,但是重启机器后失效
sysctl kernel.hostname=newhostname #修改的是内存中的主机名
(4)重启机器才会生效
修改/etc/sysconfig/network文件中的HOSTNAME项,是重启机器才会生效,不是重启网络服务生效哦
(5)新会话立即生效,且重启机器后也生效
就是用(4)配合(1)(2)(3)中的任何一个就达到目的了
3.关于hostname命令
hostname命令是用来显示和设置主机名的命令
常用的选项有:
-f —— 显示长主机名
-s —— 显示短主机名
-i —— 显示主机的ip地址
使用举例:
(1)显示主机名
hostname
(2)显示主机ip
hostname -i
(3)修改内存中主机名,将主机名改成newhostname
hostname newhostname
参考学习资料来源于:
http://www.cnblogs.com/kerrycode/p/3595724.html