如何在启动时更改 Amazon Linux 上的主机名?

如何在启动时更改 Amazon Linux 上的主机名?

我在 EC2 上使用 Amazon Linux,在设置时将以下云初始化指令作为用户数据传递:

#cloud-config
hostname: example.com
locale: en_US.utf8
manage_etc_hosts: true
manage_resolv_conf: false
package_update: true
package_upgrade: true
timezone: Europe/Berlin

一切正常,除了主机名。不知何故它没有改变,即使重新启动后它仍然是 IP 地址。如果我对 Red Hat Enterprise Linux AMI 进行完全相同的尝试,一切都正常 - 包括主机名。有人知道我如何在 Amazon Linux 上也做到这一点吗?

答案1

我遇到过同样的问题,好几次了。我发现唯一的解决方法是使用 crontab 强制在重启时设置它;

类型:

crontab -e -u root

输入:

@reboot /usr/bin/hostname web1.whatever.com

您可能需要确认的位置hostname(使用which hostname并输入完整路径,crontab 很少有 $PATH 并且/bin在大多数情况下无法在外部找到二进制文件)。保存并退出。如果愿意,请重新启动。

当它重新启动时,主机名应该与您设置的那样。

相关内容