配置主机名

简介

hostname 有三种类型:static、transient 和 pretty。

  • static:静态主机名,可由用户自行设置,并保存在 /etc/hostname 文件中。
  • transient:动态主机名,由内核维护,初始是 static 主机名,默认值为“localhost”。可由 DHCP 或 mDNS 在运行时更改。
  • pretty:灵活主机名,允许使用自由形式(包括特殊/空白字符)进行设置。静态/动态主机名遵从域名的通用限制。

说明:

static 和 transient 主机名只能包含 a-z、A-Z、0-9、“-”、“_”和“.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点,大小限制为 64 个字符。

使用 hostnamectl 配置主机名

查看所有主机名

查看当前的主机名,使用如下命令:

# hostnamectl status

说明:

如果命令未指定任何选项,则默认使用 status 选项。

设定所有主机名

在 root 权限下,设定系统中的所有主机名,使用如下命令:

# hostnamectl set-hostname name

设定特定主机名

在 root 权限下,通过不同的参数来设定特定主机名,使用如下命令:

# hostnamectl set-hostname name [option...]

其中 option 可以是 --pretty、--static、--transient 中的一个或多个选项。

如果 --static 或 --transient 与 --pretty 选项一同使用时,则会将 static 和 transient 主机名简化为 pretty 主机名格式,使用“-”替换空格,并删除特殊字符。

当设定 pretty 主机名时,如果主机名中包含空格或单引号,需要使用引号。命令示例如下:

# hostnamectl set-hostname "Stephen's notebook" --pretty

清除特定主机名

要清除特定主机名,并将其还原为默认形式,在 root 权限下,使用如下命令:

# hostnamectl set-hostname "" [option...]

其中 “” 是空白字符串,option 是 --pretty、--static 和 --transient 中的一个或多个选项。

远程更改主机名

在远程系统中运行 hostnamectl 命令时,要使用 -H,--host 选项,使用如下命令:

# hostnamectl set-hostname -H [username]@hostname new_hostname

其中 hostname 是要配置的远程主机,username 为自选项,new_hostname 为新主机名。hostnamectl 会通过 SSH 连接到远程系统。

使用 nmcli 配置主机名

查询 static 主机名,使用如下命令:

# nmcli general hostname

在 root 权限下,将 static 主机名设定为 host-server,使用如下命令:

# nmcli general hostname host-server

要让系统 hostnamectl 感知到 static 主机名的更改,在 root 权限下,重启 hostnamed 服务,使用如下命令:

# systemctl restart systemd-hostnamed

results matching ""

    No results matching ""