1. 程式人生 > >CentOS7.0修改主機名(hostname)

CentOS7.0修改主機名(hostname)

Linux中的hostname在大多數應用中至為重要,例如有些應用強制使用主機名稱而不能使用IP地址,如果預設主機名稱都為localhost.localdomain 的話那一定會出現問題,而且看起來也是那麼的不盡人意。在CentOS6及其以下版本一般通過修改配置檔案的辦法來修改主機名,此配置檔案一般為/etc/sysconfig/network,但在CentOS7中,很多系統管理工具都被替換了。
 

例如想更改主機名,就不能參考以前的方法了,新的配置檔案已經更新為/etc/hostname,儘管修改/etc/sysconfig/network配置檔案(此檔案依然存在,只是是空的)可能起作用,但不得不考慮有些Linux軟體是否會使用source此檔案或是否使用環境變數$HOSTNAME。
 

在CentOS或RHEL中,有三種定義的主機名:a、靜態的(static),b、瞬態的(transient),以及 c、靈活的(pretty)。“靜態”主機名也稱為核心主機名,是系統在啟動時從/etc/hostname自動初始化的主機名。“瞬態”主機名是在系統執行時臨時分配的主機名,例如,通過DHCP或mDNS伺服器分配。靜態主機名和瞬態主機名都遵從作為網際網路域名同樣的字元限制規則。而另一方面,“靈活”主機名則允許使用自由形式(包括特殊/空白字元)的主機名,以展示給終端使用者(如Dan's Computer)。因此修改CentOS7主機名的方法有以下幾種。

0.在安裝作業系統的時候設定好主機名


1.直接使用文字編輯器修改/etc/hostname配置檔案。


2.使用hostnamectl命令,hostnamectl set-hostname name ,再通過hostname或者hostnamectl status命令檢視更改是否生效。

在CentOS/RHEL 7中,有個叫hostnamectl的命令列工具,它允許你檢視或修改與主機名相關的配置。

要檢視主機名相關的設定:

# hostnamectl status

只檢視靜態、瞬態或靈活主機名,分別使用“--static”,“--transient”或“--pretty”選項。

# hostnamectl status [--static|--transient|--pretty]

注意*:修改的主機名,帶有任何的特殊字元或空白字元都將會被移除,並且提供的引數中任何大寫字母都會自動轉化成小寫

就像上面展示的那樣,在修改靜態/瞬態主機名時,任何特殊字元或空白字元會被移除,而提供的引數中的任何大寫字母會自動轉化為小寫。

要同時修改所有三個主機名:靜態、瞬態和靈活主機名:

# hostnamectl set-hostname <host-name>

一旦修改了靜態主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以儲存所做的修改,所以你需要手動更新/etc/hosts。

如果你只想修改特定的主機名(靜態,瞬態或靈活),你可以使用“--static”,“--transient”或“--pretty”選項。

例如,要永久修改主機名,你可以修改靜態主機名:

# hostnamectl --static set-hostname <host-name>

注意,你不必重啟機器以啟用永久主機名修改。上面的命令會立即修改核心主機名。登出並重新登入後在命令列提示來觀察新的靜態主機名。

3.使用nmcli general hostname my-server 命令更改。

關於第2、3條更多操作提示可以參考紅帽文件“Red Hat Enterprise Linux 7 Networking Guide”的3.3節和3.4節。

更多資訊可以查詢與hostname相關的man手冊。systemd(1), hostname(1), hostname(5), machine-info(5), hostnamectl(1), sethostname(2)


轉自:http://www.centoscn.com/CentOS/2015/0620/5700.html