在 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