Mar*_*ery 7 linux ubuntu hostname
在工作中,我使用托管在 Amazon EC2 实例上的 Ubuntu 服务器在一个小型网站上工作。我们有两个网络服务器,在任何给定时间,其中一个是“实时”的,一个是“测试”的,但是当我们在“测试”服务器上运行我们的新功能或错误修正时,我们运行一个脚本,该脚本使用AWS API 交换分配给两个框的 IP 地址,以便交换由两个服务器提供服务的域。
因此,在任何给定时刻,这些服务器之一可以是我们的“实时”服务器或我们的“测试”服务器,但这些不是永久状态。
为了避免在通过 SSH 连接到这些服务器中的任何一个时造成混淆,特别是如果一些愚蠢的人(比如我)长时间打开 SSH 会话并且对他们在哪个服务器上感到困惑,我想修改两个服务器的主机名以便终端窗口中的提示和标题将读取ubuntu@ourwebsiteLIVE
或ubuntu@ourwebsiteTESTING
取决于服务器当前是在线还是测试。
我知道我可以通过hostname ourwebsiteLIVE
在我们的 IP 交换脚本中运行等来做到这一点,并且已经实现了这一点。它有效,但现在每次我sudo
在我们的任何一台服务器上打印任何东西时,例如
sudo:无法解析主机ourwebsiteLIVE
这似乎没有破坏任何东西,但相当令人恼火。我认为,如果我尝试将通过管道传输到彼此的命令链接起来,将来它也可能最终会破坏某些东西,所以我想这在技术上不仅仅是一个美学问题。
我见过的所有解决“无法解析主机名”消息的方法都涉及修改/etc/hosts
或一些类似的文件,然后重新启动服务器。我可以看到这对于许多用例来说都很好,但对我们来说远非理想,因为我们正在以常规和编程方式修改主机名;我们不想每次运行交换脚本时都必须等待重新启动。
有没有一种方法可以让错误消息消失而无需重新启动?
我建议使用nss-myhostname。它是一个 nss 插件,总是解析您当前的主机名,因此无需修改/etc/hosts
.
由于您描述的问题只是解析器问题,您可以通过正确的 DNS 设置来修复它,即ourwebsiteLIVE.$DOMAIN
仅解析到计算机的 IP。
归档时间: |
|
查看次数: |
10435 次 |
最近记录: |