如何在Linux中設置或更改主機名

默認情況下,系統主機名是在安裝過程中設置的,或者如果您正在創建虛擬機,則會在啟動時將其動態分配給實例,但是在某些情況下需要更改它。

本教程將引導您完成在Linux中更改主機名的過程,而無需重新啟動系統。 這些說明應適用於任何使用systemd的現代Linux發行版。

什麼是主機名

主機名是分配給計算機的標籤,用於標識網絡上的計算機。 網絡中的每個設備應具有唯一的主機名。

主機名可以是包含字母數字字符,點和連字符的簡單字符串。 如果機器連接到Internet(例如Web或郵件服務器),則建議使用標準域名(FQDN)作為系統主機名。 FQDN由兩部分組成:主機名和域名。

顯示當前主機名

在使用systemd的Linux系統上, hostnamectl 命令可用於查詢和更改給定計算機上的主機名和相關設置。

要查看當前主機名,請調用 hostnamectl 不帶任何參數的命令:

hostnamectl

下圖突出顯示了系統主機名:

更改主機名

要更改主機名,請調用 hostnamectl 用命令 set-hostname 參數後跟新的主機名。 只有root或具有sudo特權的用戶才能更改系統主機名。

例如,將系統主機名更改為 mail.linuxize.com,您將使用以下命令:

sudo hostnamectl set-hostname mail.linuxize.com

hostnamectl 命令不會產生輸出。 成功的話 0 返回,否則返回非零失敗代碼。

最後,要驗證主機名是否已成功更改,請再次使用 hostnamectl 命令:

hostnamectl

新的系統主機名和一些其他系統信息(例如內核版本)將顯示在終端上。

   Static hostname: mail.linuxize.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 70a3f06298014fd9ac42e5dc1de1034a
           Boot ID: 6d45a1a8d436418e97519da01ea61c1b
    Virtualization: oracle
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-5-amd64
      Architecture: x86-64

結論#

在本教程中,我們向您展示了如何更改Linux系統的主機名。 根據您的Linux發行版和虛擬化類型,可能需要其他步驟才能完成該過程。

有關特定於發行版的說明,請查看以下文章:

  • 如何在CentOS上更改主機名
  • 如何在Ubuntu上更改主機名
  • 如何在Debian上更改主機名

如有任何疑問,請隨時發表評論。

終端主機名

Sidebar