使用 hostnamectl 更改 Linux 的主機名稱

前言

有的時候當一台 Linux 主機的用途改變時,你可能會想要幫他替換一個 hostname 讓辨識時簡單一些,這篇文章就簡易的紀錄一下方法。

目前狀態

首先,你可以透過 hostname 命令,來看看目前的主機名稱是什麼。(雖然你名字旁邊就列出來了

charlie@debian:~$ hostname
debian
charlie@debian:~$ 

你也可以透過 hostnamectl status 來顯示更多細節。

charlie@debian:~$ hostnamectl status
 Static hostname: debian
       Icon name: computer
      Machine ID: 
         Boot ID: 
Operating System: Debian GNU/Linux 12 (bookworm)  
          Kernel: Linux 6.1.0-43-arm64
    Architecture: arm64
charlie@debian:~$ 

操作方式

我們可以透過 hostnamectl 來改主機名稱囉,假設你想要的名字是 linux,那你可以這樣下:

sudo hostnamectl set-hostname linux

改完之後,我們需要將 /etc/hosts 上方的名字也做更改。

sudo vim /etc/hosts

可以改成以下的範例(第一行):

127.0.0.1       localhost linux
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

接著,重新登入 Linux 或是重連 SSH,你應該就會看到名稱改變囉。