Linux CentOSディストリビューションを使用するサーバーがあります。最後の再起動後、1か月以内にホスト名が消えました。先週、私たちはETL(抽出、変換、ロード)操作を実行し、プロセスの一部がデータをデータベースに移動する前にJBossを停止し、自動的にJBossを再起動しました。再起動に失敗しました。
私はこの方法で(ハッキングで)解決しました。
先月、サーバー(すべてのファイル)を変更していないため、/ etc / hostsは変更されないことがわかりました。 JBossが起動できるように、/etc/hostsファイルに追加の行(上記の回答から)を追加しました。
2つの質問:
この質問によると、 "hostname -f"コマンドはDNSからホスト名をどのように取得しますか? DNSは何を確認しますか?サーバーチームと通信するために使用する必要がある用語はありますか?
'hostname'は私が設定したホスト名をどこに保存しますか?
ほとんどのサーバー管理者は、この問題をどのように処理したり、私に何が起こったのを防ぎますか? DNSの変更を避けるために、常に/etc/hostsファイルに何かを設定しますか?
デフォルトでは、私はホスト名を失ったネットワーク(またはDNS)の変更を見つけようとしています。ログインすると、コマンドプロンプトにサーバーのホスト名が表示されます。奇妙なことは、そこで見ることができますが、 "hostname -f"を呼び出すときは見ることができないということです。以下の「lvs-xyz」を参照してください。
[root@lvs-xyz ~]# hostname -f
hostname: Unknown host
私の質問にすべて答えることができない場合は、主にLinux管理ホスト名の損失を防ぐために「標準」を探しています。 /etc/hostsに入れると、カーネルの値が変わるとコマンドプロンプトが変わる可能性があります。
編集する:
[root@lvs-xyz sysconfig]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
NETWORK=144.92.154.0
IPADDR=144.92.154.48
NETMASK=255.255.255.192
答え1
1行で指定できます(とにかく再起動時にロードされます)/etc/sysconfig/network
(HOSTNAME=
ドキュメントを参照)。ここ)
通常、これを完全修飾名で指定する必要があります。
ホストにまだ名前がなく、DHCPを使用している場合は、通常この方法で名前を選択します。
答え2
ホスト名を保存できる場所はいくつかあります。
- カーネル(/proc/sys/kernel/hostname)から
- システム内
- /etc/ホスト名に
- /etc/hostsから
- おそらく他のもの(Dbus?)
これまでに私が見つけた最速の方法は次のとおりです。
sudo hostnamectl set-hostname $new_hostname
sudo vi /etc/hosts (updating the hostname for the host's ip)
hostname -f (check your work)
このコマンドは、/usr/bin/hostname $new_hostname
カーネルのホスト名(AFAICT)のみを変更します。
その後、古いホスト名をキャッシュした長期実行プログラムを再起動するか、その名前を引き続き使用できるようにします。
編集:ホスト名を使用して中央認証サーバーに登録するいくつかの認証モジュールがあります。ホスト名が変更された場合は、再登録または再インストールする必要があります。私はSSSDとKerberosに関連するすべてを考えています。