在CentOS7中,有三種定義的主機名:
靜態的(Static hostname)
“靜態”主機名也稱為內核主機名,是系統在啟動時從/etc/hostname自動初始化的主機名。
瞬態的(Tansient hostname)
“瞬態”主機名是在系統運行時臨時分配的主機名,例如,通過DHCP或mDNS服務器分配。
靈活的(Pretty hostname)
“靈活”主機名也有人叫做“別名”主機名。
“靈活”主機名則允許使用自由形式(包括特殊/空白字符)的主機名,以展示給終端用戶(如xh01@f5)。
“靜態”主機名和“瞬態”主機名都遵從作為互聯網域名同樣的字符限制規則。
在CentOS 7中,有個叫hostnamectl的命令行工具,它允許你查看或修改與主機名相關的配置。
查看主機名:
//查看一下當前主機名的情況,查看全部三種主機名
hostnamectl
//或者,查看全部三種主機名
hostnamectl status
//只查看靜態、瞬態或靈活主機名,分別使用--static,--transient或--pretty選項
[root@xh00 ~]# hostnamectl --static
xh00
[root@xh00 ~]# hostnamectl --transient xh01
[root@xh00 ~]# hostnamectl --pretty
//或者,查看到的是瞬態的(Tansient hostname)
hostname
//或者查看主機名配置文件,查看到的是靜態的(Static hostname)
cat /etc/hostname
查看當前Linux操作系統相關信息(內核版本號、硬件架構、主機名稱和操作系統類型等):
uname -a //查看到的是瞬態的(Tansient hostname)
cat /etc/redhat-release //查看操作系統環境
修改主機名:
方法1:臨時有效
hostname 主機名 //只能臨時修改的主機名,當重啟機器后,主機名稱又變回來了。
hostname xh01
方法2:永久生效
//永久性的修改主機名稱,重啟后能保持修改后的。
hostnamectl set-hostname xxx
//刪除hostname
hostnamectl set-hostname ""
hostnamectl set-hostname "" --static
hostnamectl set-hostname "" --pretty
修改所有三個主機名:靜態、瞬態和靈活主機名:
[root@localhost ~]# hostnamectl set-hostname xh00
[root@localhost ~]# hostnamectl --pretty
[root@localhost ~]# hostnamectl --static
xh00
[root@localhost ~]# hostnamectl --transient
xh00
? ? ? ? 就像上面展示的那樣,在修改靜態/瞬態主機名時,任何特殊字符或空白字符會被移除,而提供的參數中的任何大寫字母會自動轉化為小寫。
? ? ? ? 一旦修改了靜態主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以保存所做的修改,所以你每次在修改主機名后一定要手動更新/etc/hosts,之后再重啟CentOS 7。否則系統再啟動時會很慢。
手動更新/etc/hosts
vim /etc/hosts
#127.0.0.1? localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1? qqmm
#::1? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6
::1? ? ? ? qqmm
重啟CentOS 7?
reboot -f
重啟之后
[root@qqmm ~]# hostname
xh01
[root@qqmm ~]# hostnamectl
xh01
xh01如果你只想修改特定的主機名(靜態,瞬態或靈活),你可以使用--static,--transient或--pretty選項。
?例如,要永久修改主機名,你可以修改靜態主機名:
[root@localhost ~]# hostnamectl --static set-hostname xh01
重啟CentOS 7 之后
[root@localhost ~]# hostnamectl --static
xh01
[root@localhost ~]# hostnamectl --transient
xh01
[root@localhost ~]# hostnamectl --pretty
[root@localhost ~]# hostname
xh01
????????其實,你不必重啟機器以激活永久主機名修改。上面的命令會立即修改內核主機名,注銷并重新登入后在命令行提示來觀察新的靜態主機名
參考文章:http://www.lxweimin.com/p/39d7000dfa47
方法3:永久生效
修改配置文件/etc/hostname來實現主機名的修改。把該文件內容hostname name中的name替換成自己想要的主機名重啟即可。
vim /etc/hostname?
hostname ?myname
方法4:永久生效
通過nmtui修改,之后重啟hostnamed
nmcli general hostname servername
systemctl restart systemd-hostnamed
還可以通過nmtui進入圖形界面來修改主機名。將光標通過鍵盤的上下鍵移動到“設定系統主機名”菜單處,按下回車鍵。
此時,屏幕出現“設定主機名”選項卡,輸入需要設定的主機名,通過鍵盤方向鍵將光標移動到“確定”處,回車鍵確定即可完成主機名的修改。