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