如何更改基于 RHEL 的发行版的主机名?

如何更改基于 RHEL 的发行版的主机名?

我第一次登录,打开终端,然后输入“主机名”。它返回“localhost.localdomain.com”。然后,我使用命令“su –”在终端中以根用户身份登录,提供根用户的密码,并使用命令“主机名 etest”,其中 etest 是我希望我的计算机具有的主机名。为了测试我的主机名是否正确更改,我在终端再次输入“主机名”,它返回了 etest。

但是,当我重新启动计算机时,主机名将恢复为“localhost.localdomain.com”。

这是我在终端中使用的整个命令系列。

    [thomasm@localhost ~]$ hostname  
    localhost.localdomain  
    [thomasm@localhost ~]$ su -  
    Password:   
    [root@localhost ~]# hostname etest  
    [root@localhost ~]# hostname  
    etest

当我使用 VMPlayer 设置 RHEL 和 Ubuntu 操作系统时,我遇到了同样的问题。

答案1

在 RHEL 和 CentOS 等衍生产品上,您需要编辑两个文件来更改主机名。

系统在启动时根据 中的行设置其主机HOSTNAME/etc/sysconfig/network。 RHEL 及其衍生版本上默认安装了文本nano编辑器,其用法不言而喻:

# nano /etc/sysconfig/network

您还必须更改/etc/hosts文件中的名称。如果不这样做,某些命令将突然开始花费更长的时间来运行。他们试图从主机名中查找本地主机 IP,并且如果 中没有条目/etc/hosts,则必须经过完整的网络名称查找过程才能继续。根据您的 DNS 设置,这可能意味着一分钟左右的延迟!

更改这两个文件后,您可以运行命令hostname来更改主机名的运行时副本(再次从 中设置/etc/sysconfig/network)或只是重新启动。

Ubuntu 的不同之处在于主机名的静态副本存储在/etc/hostname.就此而言,与 RHEL 相比,Ubuntu 上的网络配置的许多方面都存储在不同的位置,并且具有不同的文件格式。

答案2

您可以使用hostnamectl。

1. 设置主机名:

# hostnamectl set-hostname etest

或者

# hostnamectl set-hostname etest.something

2. 注销并重新登录。

3.(可选)要查看更多选项:

man hostnamectl

答案3

以下是使用终端更改 CentOS 计算机(或任何其他 RHEL 衍生产品)的主机名的步骤。

打开终端。输入 su - 以 root 身份登录。提供密码后,键入 vi /etc/sysconfig/network。这将在命令模式下使用 vi 文本编辑器打开“网络”文件。输入“i”进入 vi 的插入模式。导航到文件的主机名部分,并将 localhost.localdomain 替换为 etest(或所需的主机名)。按“Esc”退出插入模式并返回命令模式。在命令模式下键入 :wq 保存更改并退出 vi。

如果您想退出而不保存,请输入 :q!在命令模式下。

如果需要,可以按照类似的步骤来编辑 /etc/hosts 文件。

相关内容