在 Raspberry Pi OS 上更改主機名

Jinku Hu 2022年5月18日
在 Raspberry Pi OS 上更改主機名

本文將介紹幾種在 Raspberry Pi OS 上更改主機名的方法。

hostnamectl 命令更改 Raspberry Pi 主機名

通常,主機名分為三類:staticprettytransient

我們可以使用 hostnamectl 命令來操作它們中的每一個。執行不帶任何引數的 hostnamectl 命令將列印系統主機名和相關資訊。

此外,如果指定了 status 引數,它將產生相同的輸出:

hostnamectl
#OR
hostnamectl status

輸出:

   Static hostname: raspberrypi
         Icon name: computer-vm
           Chassis: vm
        Machine ID: cbd927c65cc948a5b9e4384f2740aadf
           Boot ID: 8c63bdba77f548c5930cdf3b70eb3630
    Virtualization: oracle
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-13-amd64
      Architecture: x86-64

如果要更改當前主機名,可以執行帶有 set-hostname 選項的 hostnamectl 命令,並指定一個新名稱作為第二個引數。

請注意,如果你沒有以 root 使用者身份登入,這需要 sudo 許可權。

sudo hostnamectl set-hostname pi

輸出:

   Static hostname: pi
         Icon name: computer-vm
           Chassis: vm
        Machine ID: cbd927c65cc948a5b9e4384f2740aadf
           Boot ID: 8c63bdba77f548c5930cdf3b70eb3630
    Virtualization: oracle
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-13-amd64
      Architecture: x86-64

前面的命令將設定靜態和瞬態主機名。或者,你可以通過將相應的選項 --static--pretty--transient 附加到 hostnamectl 命令來更改特定的主機名類。

以下命令將漂亮的主機名設定為 Pi

sudo hostnamectl set-hostname Pi --pretty

現在,如果我們列印與主機名相關的資訊,將包含一個以 Pretty hostname: 開頭的新行。

hostnamectl

輸出:

   Static hostname: pi
   Pretty hostname: Pi
         Icon name: computer-vm
           Chassis: vm
        Machine ID: cbd927c65cc948a5b9e4384f2740aadf
           Boot ID: 8c63bdba77f548c5930cdf3b70eb3630
    Virtualization: oracle
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-13-amd64
      Architecture: x86-64

hostname 命令更改 Raspberry Pi 主機名

另一個用於修改 Raspberry PI 臨時主機名的有用命令是 hostname。如果在沒有任何引數的情況下執行此命令,也會列印主機名。

如果你想更改現有的臨時名稱,請包含一個新主機名作為唯一引數:

sudo hostname pios

前面的命令將 pios 設定為新的系統主機名。請注意,sudo 字首僅在從非 root 使用者執行命令時是必需的。

sysctl 命令更改 Raspberry Pi 主機名

sysctl 命令通常可以在執行時配置核心引數。

現在,我們將利用它來設定一個新的臨時主機名。該命令可以接受變數名,及其帶有等號的值對。

因此,我們修改 kernel.hostname 變數以具有值 pico

sudo sysctl kernel.hostname=pico
修改 /etc/hostname 檔案以更改 Raspberry Pi 主機名

最後,你可以編輯儲存當前靜態主機名的系統檔案/etc/hostname。該檔案僅包含一行,你可以使用任何首選的文字編輯器對其進行修改。

在這種情況下,我們演示了一個使用 echotee 命令的命令列解決方案。請注意,對於非 root 使用者,/etc/hostname 檔案需要 sudo 許可權。

echo "raspi" | sudo tee /etc/hostname
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn

相關文章 - Raspberry Pi