如何在 Linux 上设置或更改主机名

我们已经讨论过如何查看或 查找 Linux 系统的主机名. 在这个简短的指南中,我们将看到如何在 Linux 中临时或永久地设置或更改主机名。

内容

  1. 什么是主机名?
  2. 1. 在 Linux 上从命令行设置或更改主机名
    1. 1.1. 使用 hostnamectl 命令设置 Linux 主机名
    2. 1.2. 使用 nmcli 命令设置 Linux 主机名
    3. 1.3. 通过编辑 /etc/hostname 文件更改 Linux 主机名
    4. 1.4. 使用 sysctl 命令更改 Linux 主机名
    5. 1.5. 使用 ProcFs 更改 Linux 主机名
  3. 2. 在 Linux 上从图形模式设置或更改主机名

什么是主机名?

主机名是分配给 Linux 系统的唯一字母数字标签,用于在网络上识别它。 典型的主机名可以包含字母、数字和一些特殊字符,例如连字符 (-)、句点 (.) 和下划线 (_)。 通常,主机名最多包含 253 个字符。 请注意,主机名不应以连字符开头。 在大多数 Linux 发行版中,主机名存储在 /etc/hostname 文件。

主机名通常在安装操作系统时设置。 您还可以在安装操作系统后,通过命令行或图形模式下的“设置”部分设置新主机名或更改现有主机名。 首先,我们将看到设置 Linux 主机名的 CLI 方式。

1. 在 Linux 上从命令行设置或更改主机名

在 Linux 中更改计算机名称没什么大不了的。 我们可以使用一些单行命令来设置 Linux 系统的名称。

更改 Linux 系统主机名的最简单快捷的方法是:

$ hostname <new_hostname>

例如:

$ hostname ostechnix

此命令将主机名设置为 骨科. 请注意,此命令只会临时设置计算机名称。 重新启动系统后,主机名将恢复为旧名称。 要在 Linux 中永久设置主机名,请使用以下任一方法。

有很多方法可以从命令行永久设置或更改 Linux 主机名。 这里有几个方法:

  1. 使用 hostnamectl 命令,
  2. 使用 nmcli 命令,
  3. 编辑 /etc/hostname 文件,
  4. 使用 sysctl 命令,
  5. 编辑 /proc/sys/kernel/hostname 文件。

1.1. 使用 hostnamectl 命令设置 Linux 主机名

hostnamectl 命令用于显示和更改 Linux 系统中的系统主机名和相关设置。

让我们用命令检查当前的主机名:

$ hostname ubuntuserver

正如你在上面的输出中看到的,我的 Ubuntu 系统的名字是 “ubuntuserver”. 让我们把它改成 ostechnix服务器.

在 Linux 中设置主机名 hostnamectl 命令,运行:

$ sudo hostnamectl set-hostname ostechnixserver
使用 hostnamectl 命令设置 Linux 主机名

将上面示例中的“ostechnixserver”替换为您自己的名称。

注销并重新登录以使更改生效。 如果您正在使用 SSH 会话,请退出会话并重新连接。

现在验证主机名是否已更改 hostnamectl 命令:

$ hostnamectl     Static hostname: ostechnixserver Transient hostname: ubuntuserver          Icon name: computer-vm            Chassis: vm         Machine ID: cb4ade4901394ac5a0d25fa6b3889e6c            Boot ID: 78b6e9d83e0e481eb960423e7947e45c     Virtualization: oracle   Operating System: Ubuntu 20.04 LTS             Kernel: Linux 5.4.0-60-generic       Architecture: x86-64

或者只显示主机名:

$ hostnamectl --static ostechnixserver
使用 hostnamectl 命令查看 Linux 主机名

或者,您可以使用 hostname 命令:

$ hostname ostechnixserver
查看 Linux 主机名查看 Linux 主机名

1.2. 使用 nmcli 命令设置 Linux 主机名

nmcli 是一个命令行工具,用于创建、显示、编辑、删除、激活和停用网络
连接,以及在 Linux 操作系统中控制和显示网络设备状态。

要使用 nmcli 命令在 Linux 中设置主机名,请执行以下操作:

$ sudo nmcli general hostname ostechnixserver
使用 nmcli 命令设置 Linux 主机名使用 nmcli 命令设置 Linux 主机名

注销并重新登录以应用更改。

1.3. 通过编辑 /etc/hostname 文件更改 Linux 主机名

如前所述,计算机名称存储在 /etc/hostname 大多数 Linux 发行版中的文件。

让我们看看这个文件的内容:

$ cat /etc/hostname ubuntuserver

要更改 Linux 系统的主机名,请编辑 /etc/hostname 使用您喜欢的编辑器创建文件:

$ sudo nano /etc/hostname

用您选择的新主机名替换旧主机名。

更改 Linux 主机名更改 Linux 主机名

Save 文件和 close 它。 注销并重新登录以使更改生效。

或者,使用以下单行命令更新 /etc/hostname 文件中的主机名:

$ echo "ostechnixserver" > sudo tee -a /etc/hostname

1.4. 使用 sysctl 命令更改 Linux 主机名

系统控制 用于在运行时修改内核参数。 可用的参数列在下面 /proc/sys/. Linux 中的 sysctl 支持需要 Procfs。 您可以使用 sysctl 来读取和写入 sysctl 数据。

在 Linux 中更改主机名 sysctl 命令,运行:

$ sudo sysctl kernel.hostname=ostechnixserver

将“ostechnixserver”替换为您自己的主机名。 不要忘记注销并重新登录以应用更改。

1.5. 使用 ProcFs 更改 Linux 主机名

进程文件系统, 或者 进程 简而言之,是一个由Linux内核维护的虚拟文件系统。 它有时也被称为进程信息伪文件系统。 它不包含“真实”文件,而是包含运行时系统信息,例如系统内存、安装的设备、硬件配置等。所有这些信息都可以在名为的特殊目录下找到 /proc 在 Linux 中。

如果要更新主机名,只需将新主机名附加到 /proc/sys/kernel/hostname 文件使用命令:

$ sudo sh -c "echo 'ostechnixserver' > /proc/sys/kernel/hostname"

您需要注销并重新登录以应用更改。

2. 在 Linux 上从图形模式设置或更改主机名

此方法适用于任何安装了 GNOME 桌面环境的 Linux 发行版。

从 Dash 打开 Gnome 设置部分。

启动 Ubuntu Gnome 设置启动 Ubuntu Gnome 设置

导航 关于 -> 设备名称. 单击设备名称选项并输入新的主机名。

在 Linux 中从 Gnome 设置更改主机名在 Linux 中从 Gnome 设置更改主机名

希望这可以帮助。

相关阅读:

  • 如何在 Linux 中正确更改用户名

主机名LinuxLinux 管理Linux basicsLinux howtoLinux tips