3种方法更改Linux系统的主机名(hostname)

本文由 简悦 SimpRead 转码, 原文地址 www.linuxdashen.com

这篇文章介绍更改 Linux 系统主机名 (hostname) 的 3 种方法。

查看当前的主机名

首先我们使用 hostname 命令来查看当前的主机名。

hostname

也可以使用 hostnamctl 命令

hostnamectl

3种方法更改Linux系统的主机名(hostname)

更改主机名的第一种方法

主机名保存在 /etc/hostname 文件里,所以我们可以打开这个文件,手动编辑主机名。

sudo nano /etc/hostname

将当前的主机名删除,然后输入一个新的主机名,再保存文件。现在使用 hostnamehostnamectl 命令就会发现主机名已经更改了。如果现在打开一个新的终端窗口也会发现主机名的更改。这种更改主机名的方法是持久性的,也就是说重启电脑后你会看到新的主机名。

更新 / etc/hosts 文件

在更改主机名后我们需要更新 /etc/hosts 解析文件。

sudo nano /etc/hosts

把旧的主机名删除,替换为新的主机名,保存文件就行了。要注意大小写。
3种方法更改Linux系统的主机名(hostname)

如果你不更新 /etc/hosts 文件,那么有的程序,如 sudo,不知道如何解析新的主机名。

如果你在更改 Linux 服务器的主机名,那么新的主机名应该要解析为 Linux 服务器的公网 IP。如果更改个人电脑的主机名,那么新的主机名应该解析为 127.0.0.1,或者 127.0.1.1。

127.0.1.1 是 Debian 系 Linux 发行版解析本地主机的 IP。Debian 系统在安装时,如果计算机的 IP 是动态的,那么 Debian 安装程序会在 /etc/hosts 文件中创建 127.0.1.1 <主机名> 这一条目。127.0.1.1 地址使用 loopback 网卡,实际上 127.0.0.0/8 (127.0.0.0 ~ 127.255.255.255) 都使用 loopback 网卡。

更改主机名的第二种方法:hostnamectl 命令

命令语法为:

sudo hostnamectl set-hostname <newhostname>

这条命令会删除 /etc/hostname 文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新 /etc/hosts 文件。这两种方法的本质都是一样的。

方法 3:临时更改主机名

如果只需要临时更改主机名,可以使用 hostname 命令。

sudo hostname <new-hostname>

这条命令不会更改 / etc/hostname 文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。

静态主机名保存在 / etc/hostname 文件中。

上一篇:centos7修改主机名方法


下一篇:Vscode 在 Linux 上配置远程开发