我们已经讨论过如何查看或 查找 Linux 系统的主机名. 在这个简短的指南中,我们将看到如何在 Linux 中临时或永久地设置或更改主机名。
内容
什么是主机名?
主机名是分配给 Linux 系统的唯一字母数字标签,用于在网络上识别它。 典型的主机名可以包含字母、数字和一些特殊字符,例如连字符 (-)、句点 (.) 和下划线 (_)。 通常,主机名最多包含 253 个字符。 请注意,主机名不应以连字符开头。 在大多数 Linux 发行版中,主机名存储在 /etc/hostname
文件。
主机名通常在安装操作系统时设置。 您还可以在安装操作系统后,通过命令行或图形模式下的“设置”部分设置新主机名或更改现有主机名。 首先,我们将看到设置 Linux 主机名的 CLI 方式。
1. 在 Linux 上从命令行设置或更改主机名
在 Linux 中更改计算机名称没什么大不了的。 我们可以使用一些单行命令来设置 Linux 系统的名称。
更改 Linux 系统主机名的最简单快捷的方法是:
$ hostname <new_hostname>
例如:
$ hostname ostechnix
此命令将主机名设置为 骨科. 请注意,此命令只会临时设置计算机名称。 重新启动系统后,主机名将恢复为旧名称。 要在 Linux 中永久设置主机名,请使用以下任一方法。
有很多方法可以从命令行永久设置或更改 Linux 主机名。 这里有几个方法:
- 使用
hostnamectl
命令, - 使用
nmcli
命令, - 编辑
/etc/hostname
文件, - 使用
sysctl
命令, - 编辑
/proc/sys/kernel/hostname
文件。
1.1. 使用 hostnamectl 命令设置 Linux 主机名
这 hostnamectl
命令用于显示和更改 Linux 系统中的系统主机名和相关设置。
让我们用命令检查当前的主机名:
$ hostname ubuntuserver
正如你在上面的输出中看到的,我的 Ubuntu 系统的名字是 “ubuntuserver”. 让我们把它改成 ostechnix服务器.
在 Linux 中设置主机名 hostnamectl
命令,运行:
$ sudo hostnamectl set-hostname ostechnixserver
将上面示例中的“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
或者,您可以使用 hostname
命令:
$ hostname ostechnixserver

1.2. 使用 nmcli 命令设置 Linux 主机名
这 nmcli
是一个命令行工具,用于创建、显示、编辑、删除、激活和停用网络
连接,以及在 Linux 操作系统中控制和显示网络设备状态。
要使用 nmcli 命令在 Linux 中设置主机名,请执行以下操作:
$ sudo nmcli general hostname ostechnixserver

注销并重新登录以应用更改。
1.3. 通过编辑 /etc/hostname 文件更改 Linux 主机名
如前所述,计算机名称存储在 /etc/hostname
大多数 Linux 发行版中的文件。
让我们看看这个文件的内容:
$ cat /etc/hostname ubuntuserver
要更改 Linux 系统的主机名,请编辑 /etc/hostname
使用您喜欢的编辑器创建文件:
$ sudo nano /etc/hostname
用您选择的新主机名替换旧主机名。

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 设置部分。

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

希望这可以帮助。
相关阅读:
- 如何在 Linux 中正确更改用户名
主机名LinuxLinux 管理Linux basicsLinux howtoLinux tips