-1

当我启动我的 AWS 机器时,我做的第一件事就是运行hostnamectl set-hostname myhost.test.com,但是当我安装并运行 puppet 时,它会standard-1-ami.test.com作为证书名称拉取。standard-1-ami是我的 AMI 的名称。

它是从操作系统上从哪里获得这个名称的?

4

1 回答 1

0

我也有这个问题。每次我制造一台新机器时,没有在用户数据脚本中设置主机名,我都会遇到这个问题。我注意到初始主机名缓存在内存中的某处。

这是我修复它的方法:
Hostname: new_host ; IP:192.168.10.50;域名:inside.myhouse.com

hostnamectl set-hostname new_host
echo "192.168.10.50 new_host.inside.myhouse.com new_host" >> /etc/hosts
echo "new_host" > /etc/hostname
service network restart
这三个地方是主机名“存在”或“可以检索”的地方。
为了验证我的配置,我运行以下 3 个命令:
$ hostname
new_host
$ hostname -f
new_host.inside.myhouse.com
hostname -i
192.168.10.50

请注意,如果您的提示设置为显示您的主机名,您的提示在您重新登录之前可能不会更改。如果主机名和主机名 -f 命令有效,您可以运行 puppet,它应该使用正确的主机名。

顺便说一句:我使用 Red Hat。YMMV。

于 2019-03-22T00:48:31.300 回答