如果不是 /etc/hosts,主机名别名在哪个文件中是持久的?

cut*_*mic 5 hostname alias

为了在“hostname -a”命令中看到我的服务器的别名,我编辑了 /etc/hosts 文件以在包含主机名的条目的末尾添加别名。

例如,我的主机名是 host1 并且我想要别名 hostalias,我在 /etc/hosts 中有以下条目:

    192.168.0.1 host1 hostalias
Run Code Online (Sandbox Code Playgroud)

通过此更改,我可以使用“主机名 -a”来查看主机别名。

但是,我只能更改一次!如果我再次将文件 /etc/hosts 编辑为这样的:

    192.168.0.1 host1 hostalias2
Run Code Online (Sandbox Code Playgroud)

“hostname -a”的输出仍然是hostalias。

即使在我删除了 hostalias2 并重新启动服务器之后,它仍然说的是 hostalias。

但是,如果我在重启后第一次更改别名,它就会生效。

所以实际上我有两个问题:

  1. 如果不是 /etc/hosts(这样它可以在重新启动后继续存在),那么主机名别名在哪里是持久的。

  2. 为什么每次开机只能改一次?

更多信息:它是一个 RHEL 6.2 服务器。

cut*_*mic 2

@StephaneChazelas 的评论是正确的。

可能您有一个名称服务缓存守护进程。在 sudo nscd -i ports 之后尝试(以使主机缓存无效)。

我无法对问题的答案发表评论,所以我自己回答这个问题。