web-dev-qa-db-ja.com

CentOSで新しいホスト名を設定すると、再起動後に変更されます

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"コマンドが返します。

編集するものは他にありますか?

7
adrianTNT

ファイルを編集しませんでした/etc/sysconfig/networkおよび/etc/hostsこれらのすでに含まれている必要なホスト名(localhost.localdomain)なので、コマンドhostname localhost.localdomain再起動後に保存されませんでした。

しかし次に、私のホストはこれら2つのファイルを異なるホスト名に編集し、サーバーを再起動し(他のコマンドなしで、編集のみ)、新しいホスト名が適用され、変更されたままでした。次に、ファイルを再度編集して、localhost.localdomainに設定しました。これは、他のVPSにあるため、必要に応じてファイルを更新してlocalhostのままにしたためです。

2
adrianTNT

次の行を/etc/sysctl.conf構成ファイルに追加します。

kernel.hostname = hostname
kernel.domainname = domain.com

そして、sysctl -p /etc/sysctl.confコマンドを実行して、/etc/sysctl.conf構成ファイルの変更を読み取り、適用します。

9
bintut

/ etc/sysconfig/networkファイルを編集しましたか?それとも内容を表示しているだけですか? hostnameコマンドは、実際にはこれらのファイルを編集しません。システムがinitスクリプトを開始すると、構成ファイルからホスト名が読み取られ、この設定がhostnameコマンドに渡されます。さらに、他の投稿で述べられているように、ホストファイルを編集して、ホスト名<-> ipのマッピングがローカルホストで正しくなるようにしてください。

詳細については Red Hatのドキュメント を参照してください

また、ネットワークマネージャーを使用してネットワークインターフェイスを管理していますか?その場合は、NMに移動し、設定もそこに含まれていることを確認する必要があります。

2
Red Tux

/etc/sysconfig/networkは廃止予定です。 /etc/sysconfig/networking/profiles/default/hosts/etc/sysconfig/networking/profiles/default/networkをお試しください。

0
Tim