1、在CentOS7中,有三种定义的主机名:
1)静态主机名(Static Hostname):
“静态”主机名也称之为内核主机名,是系统在启动时从/etc/hostname文件中初始化的主机名。
2)瞬态主机名(Tansient Hostname):
“瞬态”主机名是在系统运行时临时分配的主机名,例如:可以通过DHCP或mDNS服务器分配。
3)灵活主机名(Pretty Hostname):
“灵活”主机名也可以称之为“别名”主机名,“灵活”主机名则允许使用*形式(包括特殊、空白字符)的主机名,以展示给终端用户(如:oldboy@Apache)。
“静态”和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。
在CentOS 7中,有一个hostnamectl的命令行工具,它可以查看或修改与主机名相关的配置。
2、查看主机名:
查看三种主机名
[root@inotify /]# hostnamectl Static hostname: localhost Transient hostname: inotify Icon name: computer-vm Chassis: vm Machine ID: 783ecc4b8191441f876bef5c6aae3f0f Boot ID: 6b7865e3919d40bba1e4d5ae4d326565 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64 或 [root@inotify /]# hostnamectl status Static hostname: localhost Transient hostname: inotify Icon name: computer-vm Chassis: vm Machine ID: 783ecc4b8191441f876bef5c6aae3f0f Boot ID: 6b7865e3919d40bba1e4d5ae4d326565 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64
只查看静态主机名
[root@inotify /]# hostnamectl --static localhost
只查看瞬态主机名
[root@inotify /]# hostnamectl --transient inotify
只查看灵活主机名
#因为没有配置所以为空 [root@inotify /]# hostnamectl --pretty
3、修改主机名
1)临时生效:
命令:hostname 主机名 (修改后需要退出当前用户,在登录才可以生效)
[root@inotify /]# hostname oldboy [root@inotify /]# su - oldboy Last login: Tue May 21 09:45:16 CST 2019 on pts/2 this is oldboy training [oldboy@oldboy ~]$ su - root Password: Last login: Mon May 20 13:43:08 CST 2019 on pts/0 this is oldboy training [root@oldboy ~]#
2)永久生效:
方法一:命令修改(推荐使用)
命令:hostnamectl set-hostname 主机名
提示:用此命令修改主机名时,会同时修改“静态”和“瞬态”两种主机名。
查看当前的“静态”和“瞬态”两种主机名:
[root@oldboy /]# hostnamectl --static wahaha [root@oldboy /]# hostnamectl --transient rsync-inotify
修改主机名:
[root@oldboy /]# hostnamectl set-hostname localhost
查看修改后的“静态”和“瞬态”两种主机名:
[root@oldboy /]# hostnamectl --static localhost [root@oldboy /]# hostnamectl --transient localhost
发现修改后的“静态”和“瞬态”两种主机名都是一样的。
方法二:修改配置文件(重启服务器才可以生效)
配置文件:/etc/hostname
修改配置文件:
[root@oldboy /]# vim /etc/hostname mysql-server
查看静态主机名:
[root@oldboy /]# hostnamectl --static mysql-server
查看瞬态主机名:
[root@oldboy /]# hostnamectl --transient localhost
提示:发现修改配置文件只会改变了“静态”的主机名,而“瞬态”主机名没有变化。
4、总结
1、命令:hostname 主机名 (临时生效,并且需要退出当前用户才可以生效)
2、hostnamectl set-hostname 主机名(同时修改静态和瞬态两种主机名,并且也需要退出当前用户才可以生效)
3、vim /etc/hostname(配置文件,只修改静态主机名,并且需要重启服务才可以生效)
4、hostnamectl set-hostname 主机名 和 vim /etc/hostname 都是永久性修改主机名。