我更改了 Amazon Elastic Compute Cloud(Amazon EC2)实例的主机名。但是,当我重启实例,或停止后重启实例时,主机名会变回原来的主机名。
简短描述
要使主机名在重启或停止并启动 EC2 实例时仍然存在,请将主机名添加到实例上的适当配置文件中。
**注意:**以下步骤适用于 RHEL 7、8 和 9 以及 CentOS 7、8 和 9。对于其他发行版,请参阅以下资源:
解决方法
要更新 RHEL 或 CentOS Linux 实例的主机名,请完成以下步骤:
-
从 Shell 运行 hostnamectl 命令。将 persistent-hostname 替换为您希望实例使用的名称:
sudo hostnamectl set-hostname --static persistent-hostname
**注意:**使用 hostnamectl 命令更改主机名不会更新 /etc/hosts 文件。如果需要根据用例情况更新此文件,请手动编辑该文件以添加新的主机名。
-
使用 vi 文本编辑器更新 Linux 实例上的 /etc/cloud/cloud.cfg 文件:
**注意:**如果实例运行的是 RHEL 7.4 或更高版本,请跳过此步骤。
sudo vi /etc/cloud/cloud.cfg
有关如何使用 vi 编辑器的更多信息,请从命令 Shell 运行命令 info vi。
-
将以下字符串添加到 /etc/cloud/cloud.cfg 文件的底部。这样就能在每次重启时保留新的主机名:
preserve_hostname: true
-
保存并退出 vi 编辑器。
-
运行 reboot 命令,以重启 EC2 实例,并将新主机名与实例相关联。
sudo reboot
-
运行不包含任何参数的 Linux hostname 命令,以验证更改后的主机名是否仍然存在:
hostname
该命令会返回您在步骤 1 中指定的新主机名。
**注意:**如果安装了会影响 /etc/hosts 文件、hostname 文件或 hostname 实用程序的任何系统更新,请再次运行这些步骤。有关主机名实用程序的更多信息,请参阅 Ubuntu 网站上的 hostname manual 文章。