一、在CentOS7中,有三種定義的主機名:mysql
1)靜態主機名(Static Hostname):sql
「靜態」主機名也稱之爲內核主機名,是系統在啓動時從/etc/hostname文件中初始化的主機名。vim
2)瞬態主機名(Tansient Hostname):
centos
「瞬態」主機名是在系統運行時臨時分配的主機名,例如:能夠經過DHCP或mDNS服務器分配。
bash
3)靈活主機名(Pretty Hostname):
服務器
「靈活」主機名也能夠稱之爲「別名」主機名,「靈活」主機名則容許使用自由形式(包括特殊、空白字符)的主機名,以展現給終端用戶(如:oldboy@Apache)。
ide
「靜態」和「瞬態」主機名都聽從做爲互聯網域名一樣的字符限制規則。工具
在CentOS 7中,有一個hostnamectl的命令行工具,它能夠查看或修改與主機名相關的配置。this
二、查看主機名:
spa
查看三種主機名
[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
三、修改主機名
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、總結
一、命令:hostname 主機名 (臨時生效,而且須要退出當前用戶才能夠生效)
二、hostnamectl set-hostname 主機名(同時修改靜態和瞬態兩種主機名,而且也須要退出當前用戶才能夠生效)
三、vim /etc/hostname(配置文件,只修改靜態主機名,而且須要重啓服務才能夠生效)
四、hostnamectl set-hostname 主機名 和 vim /etc/hostname 都是永久性修改主機名。