1. 前言
為什麼要更改 Ubuntu 的主機名稱?
主機名稱在管理伺服器或虛擬機時非常重要,它用於在系統和網路中識別機器。特別是在企業環境或雲端運營多台伺服器或虛擬機時,清晰易懂的主機名稱能提升工作效率和管理的便利性。此外,在伺服器遷移或環境變更時,也經常需要更改主機名稱。
本文將詳細介紹如何在 Ubuntu 中臨時更改主機名稱、如何保持更改在重新啟動後仍然有效,以及如何使用 Netplan 來進行網路設定。
2. 如何確認主機名稱
檢查主機名稱的指令
要確認當前設定的主機名稱,最基本的方法是執行以下指令:
hostname
此命令將顯示當前的主機名稱。如果想查看更詳細的系統資訊,可以使用以下 hostnamectl
指令:
hostnamectl
此指令不僅會顯示主機名稱,還會顯示系統的詳細資訊。例如:
Static hostname: my-hostname
Operating System: Ubuntu 20.04 LTS
這樣,就能完成主機名稱的確認。

3. 如何臨時更改主機名稱
使用 hostname
指令進行臨時更改
要臨時更改主機名稱,可以使用 hostname
指令。此更改僅適用於當前會話,在重新啟動後,主機名稱將恢復為原來的名稱。因此,這種方法適用於短期測試或在虛擬機中運行的臨時設定。
sudo hostname 新的主機名稱
例如,要將主機名稱臨時更改為 temp-hostname
,可以執行以下指令:
sudo hostname temp-hostname
確認臨時更改的主機名稱
要確認主機名稱是否已成功更改,可以再次執行 hostnamectl
指令:
hostnamectl
透過這種方式,可以確保更改已正確應用。但請注意,重新啟動後,主機名稱將恢復為原始名稱。如果想要永久更改主機名稱,請繼續閱讀下一步驟。
4. 如何永久更改主機名稱
使用 hostnamectl
指令進行永久更改
最推薦的永久更改主機名稱的方法是使用 hostnamectl
指令。此方法可以確保更改在系統重新啟動後仍然有效。
sudo hostnamectl set-hostname 新的主機名稱
例如,要將主機名稱更改為 my-new-hostname
,可以執行以下指令:
sudo hostnamectl set-hostname my-new-hostname
直接編輯 /etc/hostname
檔案
另一種永久更改主機名稱的方法是直接編輯 /etc/hostname
檔案。
- 使用文字編輯器打開
/etc/hostname
檔案。
sudo nano /etc/hostname
- 將現有的主機名稱替換為新的主機名稱。
my-new-hostname
- 儲存並關閉檔案後,重新啟動系統。
sudo reboot
編輯 /etc/hosts
檔案
更改主機名稱後,請務必確認 /etc/hosts
檔案是否已更新,確保新名稱能夠正確解析。
127.0.1.1 my-new-hostname
這樣可以確保系統能夠正確識別新的主機名稱。

5. 使用 Netplan 進行網路設定變更
什麼是 Netplan?
Netplan 是 Ubuntu 用來管理網路設定的工具,特別適用於伺服器和虛擬機環境。它可以幫助自動化大規模網路配置,並統一管理主機名稱與網路設定,對於複雜的網路環境特別實用。
使用 Netplan 更改主機名稱與網路設定
- 編輯 Netplan 設定檔。
sudo nano /etc/netplan/50-cloud-init.yaml
- 在設定檔中加入主機名稱與網路設定。
network:
ethernets:
ens33:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
version: 2
hostname: my-new-hostname
- 儲存後,使用以下指令套用 Netplan 設定。
sudo netplan apply
故障排除(Troubleshooting)
如果在應用 Netplan 設定時發生錯誤,可以使用以下指令顯示除錯資訊,確認錯誤的詳細內容。
sudo netplan --debug apply
如果出現錯誤訊息,通常是因為設定檔的語法錯誤或網路設定不正確。建議在應用 Netplan 設定前先備份原始設定檔,以便在發生錯誤時還原。
6. 安全性考量
更改主機名稱後,可能會影響 SSH 連線或防火牆設定,因此請務必確認安全性配置。例如,在更改主機名稱後,請檢查 /etc/hosts
檔案是否已正確更新,確保防火牆規則未受影響。如果您的伺服器依賴於 SSH 連線,請檢查 SSH 設定,以確保連線正常運作。

7. 總結
在 Ubuntu 中更改主機名稱的方法主要分為臨時更改與永久更改兩種。對於短期測試或臨時變更,可使用 hostname
指令,而推薦的永久更改方法則是使用 hostnamectl
指令。此外,透過 Netplan,可以統一管理主機名稱與網路設定,這對於管理複雜的網路環境非常有幫助。
更改主機名稱後,請務必檢查 /etc/hosts
檔案、防火牆規則以及 SSH 設定,以確保系統正常運作。