CentOS(5.x)では、ホスト名が「olddomain.com」に設定されているVPSを使用しています。少なくとも、これは「hostname」コマンドを入力したときに取得するドメインです。
より一般的で信頼性が高いと思うので、「localhost.localdomain」に変更します。
localhost.localdomainは、これらのファイルにすでに存在しています:/ etc/sysconfig/network AND/etc/hosts
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=95.xx.xx.xx
そして
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
だから次に私はこれらのコマンドを試しました:
hostname localhost.localdomain
そして
hostname -v localhost.localdomain
「hostname」コマンドは、この新しい値を返すようになりました。しかし、再起動後はolddomain.comに戻るか、少なくともこれは "hostname"コマンドが返します。
編集するものは他にありますか?
ファイルを編集しませんでした/etc/sysconfig/network
および/etc/hosts
これらのすでに含まれている必要なホスト名(localhost.localdomain)なので、コマンドhostname localhost.localdomain
再起動後に保存されませんでした。
しかし次に、私のホストはこれら2つのファイルを異なるホスト名に編集し、サーバーを再起動し(他のコマンドなしで、編集のみ)、新しいホスト名が適用され、変更されたままでした。次に、ファイルを再度編集して、localhost.localdomainに設定しました。これは、他のVPSにあるため、必要に応じてファイルを更新してlocalhostのままにしたためです。
次の行を/etc/sysctl.conf
構成ファイルに追加します。
kernel.hostname = hostname
kernel.domainname = domain.com
そして、sysctl -p /etc/sysctl.conf
コマンドを実行して、/etc/sysctl.conf
構成ファイルの変更を読み取り、適用します。
/ etc/sysconfig/networkファイルを編集しましたか?それとも内容を表示しているだけですか? hostnameコマンドは、実際にはこれらのファイルを編集しません。システムがinitスクリプトを開始すると、構成ファイルからホスト名が読み取られ、この設定がhostnameコマンドに渡されます。さらに、他の投稿で述べられているように、ホストファイルを編集して、ホスト名<-> ipのマッピングがローカルホストで正しくなるようにしてください。
詳細については Red Hatのドキュメント を参照してください
また、ネットワークマネージャーを使用してネットワークインターフェイスを管理していますか?その場合は、NMに移動し、設定もそこに含まれていることを確認する必要があります。
/etc/sysconfig/network
は廃止予定です。 /etc/sysconfig/networking/profiles/default/hosts
と/etc/sysconfig/networking/profiles/default/network
をお試しください。