タイトルはほぼすべてを語っています。 CentOS 7を実行しているEC2にVMがあります。これは、EC2の要件のように思われるDHCPを使用します。DHCPは、再試行時に何をしようともホスト名を上書きし続けます。列挙しません。それ、しかし私はここでほとんどすべての提案を試みました: RHEL5/CentOS/Amazon LinuxでDHCPホスト名を上書きする とGoogle検索が表示された他のいくつかのサイトで見つかったもの。特定のOSバージョンまたはAWS/EC2環境であるが、ホスト名を変更して再起動後も維持することができない場合。/etc/rc.d/rc.localを介してブルートフォースすることもできます( "/ bin/hostnamectl set -hotname foo.bar.baz "は機能しませんでした。他のAWS/EC2ユーザーがこれを理解していないとは信じられません。助けてください。
更新:これも機能しません: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/set-hostname.html つまり、AWSのボックスにDNS Aレコードを追加しますRoute53(およびそれが機能することの確認)、および/ etc/sysconfig/networkでHOSTNAME = foo.bar.bazを設定する(再起動後にチェックする)も無駄です。
更新2:同様の質問が Fedora 2 に対して回答されました。そこで受け入れられたソリューションには、異なる方法でのcloud-initの再構成も含まれていました。また、その質問/解決策が他のディストリビューションに適用されることも明確ではありませんでした。したがって、私の質問はおそらくCentOSを実行し、その方法で検索する他の人に残すべきだと思います(そうです、FedoraとCentOSは兄弟であることを知っていますが、ソリューションを検索するときに、すべての同義語を誰もがググるわけではありません)。
よし。私はおそらくこの問題に合計5時間費やしてから、回答にたどり着きました。 cloud-initをアンインストールするという@Sirexの提案が手掛かりでした。基本的に、cloud-initは、AMI LinuxやCentOSを含むほとんどのEC2イメージ(AMI)に組み込まれているサービスです。このシステムは多くのことを行い(google it)、おそらく特定のプロビジョニングとメンテナンスfooに役立つでしょう。したがって、私は単にそれを無効にすることをためらっています。ただし、EC2ホスト名を設定しているようにも見えます。したがって、優先ホスト名で上書きするには、次のようにします。
(1) 99 _... cfg(私は99_hostname.cfgという名前です)のような名前のファイルを作成し、それに次の内容を書き込みます。
#cloud-config
hostname: foo
fqdn: foo.bar.baz
もちろん、「foo」と「foo.bar.baz」をホスト名と完全修飾ドメイン名で置き換えます。
(2)このファイルを/etc/cloud/cloud.cfg.d/99_hostname.cfgに配置します
(3)次のコマンドを使用して、ファイルの権限/所有者/ selinuxコンテキスト(SELinuxを適用している場合)が適切に設定されていることを確認します。
Sudo su -
cd /etc/cloud/cloud.cfg.d/
chown root: 99_hostname.cfg
chmod 644 99_hostname.cfg
chcon system_u:object_r:etc_t:s0 99_hostname.cfg
(4) VMを再起動すると、新しいホスト名が設定されます。 bashプロンプトが信頼できない場合は、たとえば次のいずれかを実行して、これを確認できます。
hostnamectl
または
cat /etc/hostname
cloud-initをアンインストールします。
これは私を運転したmental初めて:-)
Cloud-initにホスト名を(タグなどから)期待どおりに設定させる方法を検討する時間をまだ探しています-まだ自分ではわかりません。