CentOS有三类的主机名
- 静态的(static hotsname)也称内核主机名,是系统在启动时从
/etc/hostname
初始化的主机名。 - 瞬态/动态的(transient hostname) 是系统运行时临时分配的主机名。例如,通过DHCP或者mDNS服务器分配。
- 灵活的(pretty hostname)也称”别名“主机名,允许使用特殊符号或者空格。静态和瞬态主机名需要遵从互联网域名同样的规则。
CentOS中提供了hostnamectl命令
# 查看主机名全部信息
[root@node01 ~]# hostnamectl
Static hostname: node01
Icon name: computer-vm
Chassis: vm
Machine ID: 5f9b4f4a14b24bb5b4c26f67f59d06fd
Boot ID: 62e9c57cf06e4665a4c3b41761da6f05
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
# 查看静态主机名
[root@node01 ~]# hostnamectl --static
node01
# 查看瞬态主机名
[root@node01 ~]# hostnamectl --transient
node01
# 查看灵活主机名
[root@node01 ~]# hostnamectl --pretty
CentOS中其他查看主机名命令
# 查看主机名 返回的是瞬态主机名
[root@node01 ~]# hostname
node01
# 直接查看主机名配置文件
[root@node01 ~]# cat /etc/hostname
node01
CentOS中修改主机名的几种方式
-
方式一:使用hostname命令
注意:只能临时修改瞬态主机名,重启机器后,主机名称恢复[root@node01 ~]# hostname newnode
-
方式二:使用hostnamectl命令
注意:永久生效,会立即修改内核主机名,不需要重启。# 修改全部主机名 [root@node01 ~]# hostnamectl set-hostname newnode # 只修改静态主机名 [root@node01 ~]# hostnamectl --static set-hostname newnode # 该命令会自动修改了配置文件/etc/hostname [root@node01 ~]# cat /etc/hostname newnode # 在修改静态/瞬态主机名时,会自动去除特殊或者空白字符,会自动把主机名中的大写字母转化为小写 示例如下: [root@node01 ~]# hostnamectl set-hostname NEW+node [root@node01 ~]# hostnamectl --static newnode
方式三: 直接修改配置文件
/etc/hostname
注意:永久生效,重新启动后生效,可以改成包含大写字母的主机名vim /etc/hostname # 重启 reboot -f
-
方式四:使用nmtui命令
注意:永久生效,需要重新启动hostnamed生效# 修改主机名 [root@newnode ~]# nmtui general hostname newnode111 # 重启systemd-hostnamed [root@newnode ~]# systemctl restart systemd-hostnamed # 或者使用nmtui进入图形界面 示例如下: # 执行下面的命令,在出现的提示框选ok [root@newnode ~]# nmtui hostname newnode111 # 重新登入查看 [root@newnode111 ~]# hostnamectl Static hostname: newnode111 Icon name: computer-vm Chassis: vm Machine ID: 5f9b4f4a14b24bb5b4c26f67f59d06fd Boot ID: 62e9c57cf06e4665a4c3b41761da6f05 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.el7.x86_64 Architecture: x86-64
在修改主机名后,如果在局域网想使用主机名相互访问,手动更新配置文件/etc/hosts
[root@node01 ~]# vim /etc/hosts
# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 newnode
::1 newnode