操作场景
在2018年3月1号之后,腾讯云官网提供的 Linux 公有镜像预安装了纯开源的工具 Cloud-Init,并通过 Cloud-Init 实现了实例的所有初始化操作,使得整个实例内部的操作更加的透明,详情请参见 Cloud-Init。
Cloud-Init 在每次启动时会根据 /etc/cloud/templates/hosts.${os_type}.tmpl
模板生成一份新的 /etc/hosts
文件覆盖实例原有的 /etc/hosts
文件,导致用户在实例内部手动修改 /etc/hosts
配置并重启实例后, /etc/hosts
配置又变为原始默认配置。
前提条件
腾讯云针对 Cloud-Init 的覆盖操作已经做了优化,2018年9月后使用公共镜像创建的实例不会出现 /etc/hosts
配置在重启后被覆盖的问题。
若您的实例创建于2018年9月前,请通过下面的解决方案进行修改。
操作步骤
方案一
1. 登录 Linux 服务器。2. 执行以下命令,将 /etc/cloud/cloud.cfg
配置文件中的 - update_etc_hosts
修改为 - ['update-etc-hosts', 'once-per-instance']
。
sed -i "/update_etc_hosts/c \ - ['update_etc_hosts', 'once-per-instance']" /etc/cloud/cloud.cfg
3. 执行以下命令,在 /var/lib/cloud/instance/sem/
路径下创建 config_update_etc_hosts
文件。
touch /var/lib/cloud/instance/sem/config_update_etc_hosts
方案二
说明此方案以 CentOS7.2 操作系统为例。
获取 hosts 模板文件路径
1. 登录 Linux 服务器。2. 执行以下命令,查看系统 hosts 模板文件。
cat /etc/hosts
hosts 模板文件如下图所示:
修改 hosts 模板文件
说明以添加 127.0.0.1 test test 为例,您可按需修改 hosts 模板文件与 /etc/hosts 文件。1. 执行以下命令,修改 hosts 模板文件。
vim /etc/cloud/templates/hosts.redhat.tmpl
2. 按 i 切换至编辑模式。3. 在文件末尾输入以下内容。
127.0.0.1 test test
4. 输入完成后,按 Esc,输入 :wq,保存文件并返回。
修改 /etc/hosts 文件
1. 执行以下命令,修改 /etc/hosts
文件。
vim /etc/hosts
2. 按 i 切换至编辑模式。3. 在文件末尾输入以下内容。
127.0.0.1 test test
4. 输入完成后,按 Esc,输入 :wq,保存文件并返回。
对腾讯云CVM服务器有疑惑?想了解产品收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/16986.html