文档首页 > > 常见问题> 云服务器管理> 修改主机名类> 怎样使修改的静态主机名永久生效?

怎样使修改的静态主机名永久生效?

分享
更新时间: 2020/03/13 GMT+08:00

问题描述

Linux弹性云服务器的静态主机名来源于创建弹性云服务器时,通过Cloud-init注入的用户自定义名称。虽然可以使用hostname命令更改Linux弹性云服务器的主机名,但如果重新启动弹性云服务器,它将自动还原为使用Cloud-init注入的用户自定义名称。

在云服务器内部修改主机名

虽然hostname命令可以修改Linux弹性云服务器的主机名,但是,如果您希望修改后的主机名在弹性云服务器关机、重启后仍然生效,需要将其写入相应的配置文件中,使之永久生效。

假设修改后的主机名为“new_hostname”

  1. 修改配置文件“/etc/hostname”

    1. 执行以下命令,编辑配置文件“/etc/hostname”

      sudo vim /etc/hostname

    2. 修改配置文件,将文件中的主机名替换为修改后的主机名(new_hostname)。
    3. 执行以下命令,保存并退出文件。

      :wq

  2. 修改配置文件“/etc/sysconfig/network”

    1. 执行以下命令,编辑配置文件“/etc/sysconfig/network”

      sudo vim /etc/sysconfig/network

    2. 修改涉及“HOSTNAME”的参数值,将其设置为修改后的主机名(new_hostname)。

      HOSTNAME=修改后的主机名

      如果配置文件中没有HOSTNAME,请手动补充并将参数值设置为修改后的主机名。

      示例:

      HOSTNAME=new_hostname

    3. 执行以下命令,保存并退出文件。

      :wq

  3. 修改配置文件“/etc/cloud/cloud.cfg”

    1. 执行以下命令,编辑配置文件“/etc/cloud/cloud.cfg”

      sudo vim /etc/cloud/cloud.cfg

    2. 选择如下方法,修改配置文件。
      • 方法一:修改或添加“preserve_hostname”参数项。

        如果文件“/etc/cloud/cloud.cfg”中已有参数项“preserve_hostname: false”,将其修改为“preserve_hostname: true”即可。如果文件“/etc/cloud/cloud.cfg”中没有该参数项,需在“cloud_init_modules”模块前,添加语句preserve_hostname: true

        选择方法一,弹性云服务器关机、重启后,修改后的主机名(new_hostname)仍然生效。但是,如果使用该弹性云服务器制作私有镜像,并使用生成的镜像重新创建弹性云服务器,则新创建的弹性云服务器的主机名即为私有镜像使用的主机名(new_hostname),不能通过Cloud-init重新注入用户自定义名称。

      • 方法二(推荐):删除或者注释语句- update_hostname

        选择方法二,弹性云服务器关机、重启后,修改后的主机名(new_hostname)仍然生效。但是,如果使用该弹性云服务器制作私有镜像,并使用生成的镜像重新创建弹性云服务器,用户可以通过Cloud-init注入用户自定义名称(如new_new_hostname),并通过本节内容长久有效地修改静态主机名。

  4. 执行以下命令,重启弹性云服务器。

    sudo reboot

  5. 执行以下命令,验证主机名的修改是否永久生效。

    sudo hostname

    如果回显的内容是修改后的主机名(new_hostname),则表示主机名修改成功,永久生效。

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问