我變更了我的 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 編輯器。
-
若要使 EC2 執行個體重新開機,並將新的主機名稱與執行個體關聯,請執行 reboot 命令。
sudo reboot
-
若要驗證主機名稱變更是否已保存,請執行不含任何參數的 Linux hostname 命令:
hostname
此命令會傳回您在步驟 1 中指定的新主機名稱。
**注意:**如果您安裝任何會影響 /etc/hosts 檔案、主機名稱檔案或主機名稱公用程式的系統更新,則再次執行這些步驟。如需主機名稱公用程式的更多資訊,請參閱 Ubuntu 網站上的主機名稱手冊。