
私のサーバーにエイリアス( "hostname -a"コマンドが示すように)を持つように/ etc / hostsファイルを編集して、ホスト名を含むエントリの末尾にエイリアスを追加しました。
たとえば、私のホスト名はhost1で、エイリアスはhostaliasとして指定したいと思います。 /etc/hosts には次のエントリがあります。
192.168.0.1 host1 hostalias
この変更により、「hostname -a」を使用してホストエイリアスを表示できます。
しかし、一度だけ変更することができます! /etc/hosts ファイルを次のように再編集すると:
192.168.0.1 host1 hostalias2
"hostname -a"の出力はまだHostaliasです。
Hostalias2 をアンインストールしてサーバーを再起動した後でも、Hostalias が表示されます。
ただし、再起動後に初めてエイリアスを変更すると適用されます。
実際には2つの質問があります。
/etc/hosts 以外の場合は、ホスト名のエイリアスが保持されます (再起動後も維持されるように)。
なぜ起動するたびに一度だけ変更できますか?
追加情報:RHEL 6.2サーバー。
答え1
Fedora / RHEL / CentOSを使用している場合、ホスト名は/ etc / sysconfig / networkファイルから必要な値を取得した後、rc.sysinitスクリプトによって設定されます。
起動ごとに一度だけ変更できるのは、いつでも変更できるからです。hostname
これを変更するには、コマンドに新しいホスト名を指定する必要があります。ファイルを編集するだけではそうすることはできません。ただし、この方法で変更すると、変更前に実行していたプログラムがまだ古い値をキャッシュできることに注意してください。
答え2
@StephaneChazelas はここにありますこのコメント。
おそらくネームサービスのキャッシュデーモンがあるでしょう。 sudo nscd -iポートの後にこれを試してください(ホストキャッシュを無効にするには)。
質問に対する回答については言及できませんので、直接回答いたします。