版权声明:原创不易,未经作者允许请勿随意转载!因个人能力和精力有限,难免有疏漏和不足之处,欢迎指正,谢谢~ https://blog.csdn.net/lijing742180/article/details/88413999
本文环境:Linux CentOS 7
在 Linux 中,hostname 指的是当前系统的主机名称。
1、查看当前系统的主机名
- 通过
hostname
命令查看; - 通过环境变量
HOSTNAME
查看。
例如:
[root@AY1307311912260196fcZ ~]# hostname
AY1307311912260196fcZ
[root@AY1307311912260196fcZ ~]# echo $HOSTNAME
AY1307311912260196fcZ
2、修改hostname有几种方式?
序号 | 命令 | 是否永久修改 |
---|---|---|
1 | hostname NewName |
修改后在新会话中立即生效; 临时修改,reboot 后失效 |
2 | echo NewName > /proc/sys/kernel/hostname |
同上 |
3 | sysctl kernel.hostname=NewName |
同上 |
4 | 修改/etc/sysconfig/network 文件中的HOSTNAME 变量 |
永久性修改; 但需要重启生效 |
其中, /etc/sysconfig/network
文件类似下面这样:
[root@po132345806-a ~]# more /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=localhost.localdomain
这里若想立即生效,可以同时执行sysctl kernel.hostname
命令即可:
修改了/etc/sysconfig/network下的HOSTNAME后,然后使用sysctl kernel.hostname命令使其立即生效
[root@NewName ~]# sysctl kernel.hostname=NewName2
kernel.hostname = NewName2
注意当前会话还是不会变化,但是后续新建会话会生效。
3、修改了hostname后,如何使其立即+永久生效而不用重启操作系统?
前面介绍的四种方法,前三种是临时修改,第四种是永久修改,若要达到不重启立即且永久生效,只需前三种方式任选一种 + 第四种即可。
例如:
方法1 + 方法4:
1、先修改 "/etc/sysconfig/network" 中的 HOSTNAME 值
2、然后使用 "echo NewName2 > /proc/sys/kernel/hostname"
注意当前会话还是不会变化,但是后续新建会话则会生效。