hostnamectl 是在 centos7以上版本 中新增加的命令,它是用來修改主機名稱的,centos7 修改主機名稱會比以往容易許多。
首先了解下這個命令
# hostnamectl -h
-h --help 顯示幫助
--version 顯示安裝包的版本
--transient 修改臨時主機名
--static 修改瞬態主機名
--pretty 修改靈活主機名
-P --privileged 在執行之前獲得的特權
--no-ask-password 輸入密碼不提示
-H --host=[USER@]HOST 操作遠程主機
Commands: status
顯示當前主機名設置 set-hostname NAME
設置系統主機名 set-icon-name NAME
為主機設置icon名 set-chassis NAME
設置主機平台類型名
在CentOS7中有三種定義的主機名:靜態的(static)、瞬態的(transient)、和靈活的(pretty)。靜態主機名也稱為內核主機名,是系統在啟動時從/etc/hostname內自動初始化的主機名。瞬態主機名是在系統運行時臨時分配的主機名。靈活主機名則允許使用特殊字符的主機名。
問題一,我輸入的大寫的主機名怎么都變成了小寫?
這是因為在修改靜態/瞬態主機名時,任何特殊字符或空白字符會被移除,而提供的參數中的任何大寫字母會自動轉化為小寫。一旦修改了靜態主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以保存所做的修改,所以你需要手動更新/etc/hosts。
如果只想修改特定的主機名(靜態,瞬態或靈活),你可以使用“--static”,“--transient”或“--pretty”選項。
問題二,如何修改主機名是永久生效的?
要永久修改主機名,可以修改靜態主機名:
$ sudo hostnamectl --static set-hostname <host-name>
注意,不必重啟機器以激活永久主機名修改。上面的命令會立即修改內核主機名。注銷並重新登入后在命令行提示來觀察新的靜態主機名。
問題三、如何查看到自己輸入的大寫主機名
$ sudo hostnamectl status --pretty