cloud.cfg中manage_etc_hosts修改hosts文件,主机名v116来源咨询
cloud.cfg中manage_etc_hosts修改hosts文件,主机名v116来源咨询
嗨,我来帮你理清这个问题~
你看到的127.0.1.1 v116 v116里的v116,其实是系统的主机名(以及重复写入的别名),它的来源主要有这几个方向:
- 当前系统的主机名:你可以直接运行
hostname或者cat /etc/hostname命令验证,输出大概率就是v116。当manage_etc_hosts设为True时,Cloud-init会自动把系统主机名映射到127.0.1.1这一行,有时候会重复写入一次作为别名,就出现了双v116的格式。 - Cloud-init的配置或用户数据:如果你的
/etc/cloud/cloud.cfg或者实例启动时的user-data里没有设置preserve_hostname: true(默认是false),Cloud-init会在初始化阶段读取配置里指定的hostname,或者从云平台的实例元数据里获取这个值,然后写入hosts文件。 - 云平台的实例配置:要是你是在云服务商(比如AWS、阿里云这类)上创建的实例,
v116可能是你创建实例时手动指定的实例名称,也可能是云平台自动分配的主机名,Cloud-init会拉取这个元数据来完成hosts的配置。
你可以通过这些方式进一步验证来源:
- 执行
hostname命令,确认系统当前主机名是否为v116; - 查看Cloud-init日志
cat /var/log/cloud-init.log,搜索和hostname相关的条目,能看到它具体从哪里读取到这个值; - 检查
/etc/cloud/cloud.cfg文件,看是否有明确指定hostname的配置项。
简单来说,这个值并不是来自某个单独的“数据文件”,而是Cloud-init从系统现有主机名、云平台元数据或Cloud-config配置里动态获取后写入hosts的~
备注:内容来源于stack exchange,提问作者Allan Xu
相关产品推荐
相关产品推荐

