問題:在CentOS/RHEL 7上修改主機名的正確方法是什么(永久或臨時)?
在CentOS或RHEL中,有三種定義的主機名:
a、靜態(tài)的(static),
b、瞬態(tài)的(transient),
c、靈活的(pretty)。
“靜態(tài)”主機名也稱為內(nèi)核主機名,是系統(tǒng)在啟動時從/etc/hostname自動初始化的主機名。“瞬態(tài)”主機名是在系統(tǒng)運行時臨時分配的主機名,例如,通過DHCP或mDNS服務器分配。靜態(tài)主機名和瞬態(tài)主機名都遵從作為互聯(lián)網(wǎng)域名同樣的字符限制規(guī)則。而另一方面,“靈活”主機名則允許使用自由形式(包括特殊/空白字符)的主機名,以展示給終端用戶(如Dan's Computer)。
在CentOS/RHEL 7中,有個叫hostnamectl的命令行工具,它允許你查看或修改與主機名相關的配置。
要查看主機名相關的設置:
$ hostnamectl status
只查看靜態(tài)、瞬態(tài)或靈活主機名,分別使用“--static”,“--transient”或“--pretty”選項。
$ hostnamectl status [--static|--transient|--pretty]
要同時修改所有三個主機名:靜態(tài)、瞬態(tài)和靈活主機名:
$ sudo hostnamectl set-hostname host-name>
就像上面展示的那樣,在修改靜態(tài)/瞬態(tài)主機名時,任何特殊字符或空白字符會被移除,而提供的參數(shù)中的任何大寫字母會自動轉化為小寫。一旦修改了靜態(tài)主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以保存所做的修改,所以你需要手動更新/etc/hosts。
如果你只想修改特定的主機名(靜態(tài),瞬態(tài)或靈活),你可以使用“--static”,“--transient”或“--pretty”選項。
例如,要永久修改主機名,你可以修改靜態(tài)主機名:
$ sudo hostnamectl --staticset-hostname host-name>
注意,你不必重啟機器以激活永久主機名修改。上面的命令會立即修改內(nèi)核主機名。注銷并重新登入后在命令行提示來觀察新的靜態(tài)主機名。