立即生效,非永久保存
此种方式修改,会立即生效,但是在重启系统之后会被还原
1  | [root@linux1 ~]# hostname linux2.jerry.com  | 
重启后生效,永久保存
此种方式修改,不会立即生效,但在重启之后会生效
1  | [root@linux1 ~]# cat /etc/sysconfig/network  | 
以上两种方式结合,即能做到立即生效并永久保存
剖析hostname的设置
hostname是Linux系统下的一个内核参数,它保存在/proc/sys/kernel/hostname下,但是它的值是Linux启动时从rc.sysinit读取的
1  | [root@linux1 ~]# vi /etc/rc.d/rc.sysinit  | 
结论:/etc/sysconfig/network确实是hostname的配置文件,hostname的值跟该配置文件中的HOSTNAME有一定的关联关系,但是没有必然关系,hostname的值来自内核参数/proc/sys/kernel/hostname,如果我通过命令sysctl kernel.hostname=Test修改了内核参数,那么hostname就变为了Test了
1  | [root@linux1 ~]# cat /proc/sys/kernel/hostname  |