为了在“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。
但是,如果我在重启后第一次更改别名,它就会生效。
所以实际上我有两个问题:
如果不是 /etc/hosts(这样它可以在重新启动后继续存在),那么主机名别名在哪里是持久的。
为什么每次开机只能改一次?
更多信息:它是一个 RHEL 6.2 服务器。
可能您有一个名称服务缓存守护进程。在 sudo nscd -i ports 之后尝试(以使主机缓存无效)。
我无法对问题的答案发表评论,所以我自己回答这个问题。