在 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
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook

相关文章 - Raspberry Pi