在 Raspberry Pi OS 上更改主机名
 
本文将介绍几种在 Raspberry Pi OS 上更改主机名的方法。
hostnamectl 命令更改 Raspberry Pi 主机名
    
通常,主机名分为三类:static、pretty 和 transient。
我们可以使用 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。该文件仅包含一行,你可以使用任何首选的文本编辑器对其进行修改。
在这种情况下,我们演示了一个使用 echo 和 tee 命令的命令行解决方案。请注意,对于非 root 用户,/etc/hostname 文件需要 sudo 权限。
echo "raspi" | sudo tee /etc/hostname
