7

我有一个在启动时运行的脚本(通过 rc.local)并根据它从 AWS CLI 查询的实例名称设置我的主机名。它可以工作,并且在引导日志的末尾显示“登录:”

认为 cloud-init 覆盖了我的主机名,所以我:

  • 在 /etc/cloud/cloud.cfg 中设置 preserve_hostname: true
  • 在 /etc/cloud/cloud.cfg.d/00_defaults.cfg 的 cloud_config_modules 部分中注释掉了 set-hostname 和 update-hostname

但是在 cloud-init 日志中,我仍然看到“正在运行模块更新主机名”和“迁移信号量更新主机名。始终以频率始终配置更新主机名”,并且在启动后一两分钟主机名恢复为 AWS 默认值。

到底是怎么回事?我该如何阻止它?

4

5 回答 5

4

我知道这是一篇旧帖子,但我发现它很有用。

/etc/cloud/cloud.cfg文件中,hostname: <fqdn/hostname>在下面添加preserve_hostname: <true/false>

# 这将导致 set+update 主机名模块无法运行(如果为真)
保留主机名:假
主机名:我的主机名

来源:https ://cloudinit.readthedocs.io/en/latest/topics/modules.html#set-hostname 。

于 2020-04-06T16:38:51.737 回答
1

https://aws.amazon.com/premiumsupport/knowledge-center/linux-static-hostname-rhel7-centos7/

请务必使用完整命令“sudo hostnamectl set-hostname --static”

于 2018-01-15T20:32:57.107 回答
1

Ubuntu 略有不同: https ://aws.amazon.com/premiumsupport/knowledge-center/linux-static-hostname/

sudo hostnamectl set-hostname my.persistent.hostname
于 2020-05-01T11:11:53.240 回答
0

试试这个:

$ sudo vi /etc/cloud/cloud.cfg

然后根据需要注释掉“set_hostname”、“update-hostname”和“update_etc_hosts”。

于 2016-07-13T19:28:23.537 回答
-5

我真正讨厌的破解方法是创建一个每分钟设置主机名的 cron 作业。改进的建议表示赞赏。

于 2016-07-11T23:55:29.317 回答