记一次修改主机名不成功原因
场景
虽然使用hostname命令可以修改主机名,但如果重启主机之后主机名还会变为之前的,所以需要把修改的主机名称写到配置文件中
假设修改后的主机名为“new_hostname”。
1.修改配置文件“/etc/hostname”
a. 执行以下命令,编辑配置文件“/etc/hostname”。
sudo vim /etc/hostname
b. 修改配置文件,将文件中的主机名替换为修改后的主机名new_hostname
c.执行以下命令,保存并退出文件。
:wq
2.修改配置文件“/etc/sysconfig/network”
a. 执行以下命令,编辑配置文件“/etc/sysconfig/network”。
sudo vim /etc/sysconfig/network
b. 修改涉及“HOSTNAME”的参数值,将其设置为修改后的主机名(new_hostname)。
HOSTNAME=修改后的主机名
说明:
如果配置文件中没有HOSTNAME,请手动补充并将参数值设置为修改后的主机名。
示例:
HOSTNAME=new_hostname
执行以下命令,保存并退出文件。
:wq
3.修改配置文件“/etc/cloud/cloud.cfg”。
a.执行以下命令,编辑配置文件“/etc/cloud/cloud.cfg”。
sudo vim /etc/cloud/cloud.cfg
b.选择如下方法,修改配置文件。
-
方法一:修改或添加“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),则表示主机名修改成功,永久生效。