如何在AWS上阻止cloud-init覆盖我的主机名(CentOS)

7
我有一个脚本,在系统启动时(通过rc.local),会根据AWS CLI查询到的实例名称设置主机名。它起作用了,在启动日志的末尾会显示“login:”。
我认为cloud-init正在覆盖我的主机名,所以我:
将preserve_hostname:true设置在/etc/cloud/cloud.cfg中。
在/etc/cloud/cloud.cfg.d/00_defaults.cfg的cloud_config_modules部分中注释掉set-hostname和update-hostname。
但在cloud-init日志中仍然看到“运行模块update-hostname”和“已将信号量update_hostname.always迁移为具有频率always的config-update-hostname”,而且在启动后一两分钟后,主机名会恢复为AWS的默认值。
发生了什么?如何停止这种情况?
5个回答

7

aws-doc: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-hostname.htmlAWS文档:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-hostname.html - ggrandes

2

0

0
尝试这样做: $ sudo vi /etc/cloud/cloud.cfg
然后根据您的需要注释掉 'set_hostname'、'update-hostname' 和 'update_etc_hosts'。

1
那个文件中没有启用这些选项。此外,顶部的注释说“警告:对此文件的修改可能会被/etc/cloud/cloud.cfg.d中的文件覆盖”。因此,正如我在原始帖子中所说,我在“/etc/cloud/cloud.cfg.d/00_defaults.cfg”中注释了“set-hostname”和“update-hostname”。我还像你建议的那样注释了“update-etc-hosts”,但是它没有任何影响,我的主机名仍然被覆盖。 - CAJ

-9

我的一个非常不好的解决方法是创建一个cron作业,每分钟设置一次主机名。欢迎提出更好的建议。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接