主機名稱(hostname)是人類用來識別電腦主機的名稱,在電腦網路中又稱為節點名稱(nodename)。就像是替寵物命名一樣,我們也可以替自己的電腦隨意地進行命名。在安裝Linux作業系統的時候,通常就會先指定好主機名稱,這個主機名稱在作業系統安裝完後是可以更改的,那麼要怎麼去更改它呢?
查看主機名稱
在學習怎麼去更改Linux作業系統的主機名稱之前,我們先來學學怎麼查看現有的Linux作業系統的主機名稱吧!
通常我們在登入Linux的Shell後,就會顯示出目前登入的使用者和登入的主機名稱了。如下圖:
上圖所顯示的登入的使用者和登入的主機名稱的部份稱為「Prompt」也可以說它就是「命令提示字元」。這個「命令提示字元」的格式我們也是可以自訂的,只要修改PS1
、PS2
、PS3
、PS4
這幾個環境變數即可,這部份不在本篇文章的討論範圍之內。
在終端機中輸入以下指令,也可以看到目前使用的主機名稱:
主機名稱的格式
以.
來區分不同的「標籤」,每個標籤的長度在1~63個字元之間,可使用的字元為英文大小寫字母(但是不區分大小寫)、數字0到9和減號-
,總長度最多可以有253個字元(包含區隔標籤的.
,但不包含結尾的.
)。
以下都是正確的主機名稱:
- server
- server.magiclen.org
- server.magiclen.org.
- magiclen-server
修改主機名稱
以下提供幾種修改主機名稱的方式。
編輯/etc/hostname
直接使用文字編輯器來編輯/etc/hostname
設定檔。例如使用vim
,指令如下:
使用hostname
指令
hostname
指令除了可以查看主機名稱之外,也可以用來修改主機名稱。
使用hostnamectl
指令
hostnamectl
指令也可以用來修改主機名稱。用法如下:
設定Cloud-Init
如果您的Linux作業系統是運行在虛擬機上,那麼它有可能會啟動「Cloud-Init」這項能夠自動部署虛擬機的服務。這個服務有可能會讓您的主機名稱無法在修改後的下次開機中保留。
使用以下指令來查看「Cloud-Init」這項服務是否存在且已經啟用。
如果是的話,若要使用以上提供的方式來永久修改主機名稱,就必須使用文字編輯器去編輯「Cloud-Init」的設定檔/etc/cloud/cloud.cfg
。例如使用vim
,指令如下:
將preserve_hostname
欄位改為true
後存檔即可。