跳到主內容

【Linux】【Ubuntu】 中更改 hostname

在 Ubuntu 中更改 hostname 有兩種常見方式,以下提供完整步驟:


1️⃣ 使用 hostnamectl(推薦方式,Ubuntu 16.04 之後)

hostnamectl 是 systemd 提供的指令,可同時修改 暫時永久 主機名稱。

# 查看當前 hostname
hostnamectl status

# 修改 hostname,例如改成 my-server
sudo hostnamectl set-hostname my-server
  • 立即生效:不需重開機,新的主機名稱會寫入 /etc/hostname 並更新 systemd

  • 驗證:

    hostname
    hostnamectl
    

⚠️ 有時候 shell 提示字仍顯示舊名稱,重新登入 SSH 或 su - $USER 會看到更新。


2️⃣ 手動編輯設定檔

如果是較舊版本或想手動修改,可直接編輯以下兩個檔案:

  1. /etc/hostname

    sudo nano /etc/hostname
    

    把原本的名稱改成新的,如 my-server

  2. /etc/hosts

    sudo nano /etc/hosts
    

    找到類似:

    127.0.1.1    old-hostname
    

    改成:

    127.0.1.1    my-server
    

    這步驟避免本機解析錯誤。

  3. 重新啟動或執行:

    sudo systemctl restart systemd-logind
    

    或乾脆 sudo reboot


補充建議

  • 雲端平台(AWS EC2、GCP、Azure):有些 VM 啟動時會被 Cloud-init 覆蓋,建議同時修改 /etc/cloud/cloud.cfgpreserve_hostname 設為 true

  • 影響範圍:只影響系統層主機名稱,不會自動更新 SSL 憑證或 DNS 設定。


總結

建議使用 sudo hostnamectl set-hostname <新名稱>
這是最簡單且官方推薦的方式,重登入即可生效。