在CentOS中,有三種定義的主機名:靜態的(static),瞬態的(transient),和靈活的(pretty)。“靜態”主機名也稱爲內核主機名,是系統在啓動時從/etc/hostname自動初始化的主機名。“瞬態”主機名是在系統運行時臨時分配的主機名,例如,通過DHCP或mDNS服務器分配。靜態主機名和瞬態主機名都遵從作爲互聯網域名同樣的字符限制規則。而另一方面,“靈活”主機名則允許使用自由形式(包括特殊/空白字符)的主機名,以展示給終端用戶(如Linuxidc)。
1.要查看主機名相關的設置:
[root@localhost ~]# hostnamectl
Static hostname: localhost.localdomain
Icon name: computer
Chassis: n/a
Machine ID: 80a4fa4970614cf6be9597ecd6f097a9
Boot ID: 28420e272e1847a583718262758bd0f7
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.el7.x86_64
Architecture: x86_64
[root@localhost ~]# hostnamectl status
Static hostname: localhost.localdomain
Icon name: computer
Chassis: n/a
Machine ID: 80a4fa4970614cf6be9597ecd6f097a9
Boot ID: 28420e272e1847a583718262758bd0f7
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.el7.x86_64
Architecture: x86_64
2.只查看靜態、瞬態或靈活主機名,分別使用“--static”,“--transient”或“--pretty”選項:
[root@localhost ~]# hostnamectl --static
localhost.localdomain
[root@localhost ~]# hostnamectl --transient
localhost.localdomain
[root@localhost ~]# hostnamectl --pretty
3.要同時修改所有三個主機名:靜態、瞬態和靈活主機名:
[root@localhost ~]# hostnamectl set-hostname Linuxidc
[root@localhost ~]# hostnamectl --pretty
Linuxidc
[root@localhost ~]# hostnamectl --static
Linuxidc
[root@localhost ~]# hostnamectl --transient
Linuxidc
注意,一旦修改了靜態主機名,/etc/hostname 將被自動更新。
4.手動更新/etc/hosts:
vim /etc/hosts
127.0.0.1 Linuxidc
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain
::1 localhost localhost.localdomain localhost6 localhost6.localdomain
5.重啓CentOS 7:
6.如果你只想修改特定的主機名(靜態,瞬態或靈活),你可以使用“--static”,“--transient”或“--pretty”選項:
例如,要永久修改主機名,你可以修改靜態主機名:
[root@lry ~]# hostnamectl --static set-hostname Linuxidc
其實,你不必重啓機器以激活永久主機名修改。上面的命令會立即修改內核主機名。註銷並重新登入後在命令行提示來觀察新的靜態主機名。