/ / java getLocalHost()UnknownHostException / etc / hostsファイルがLinuxのapiと異なるのですか? - java、linux

java getLocalHost()UnknownHostException / etc / hostsファイルがLinuxのapiと異なるのですか? - java、linux

私は2つのレッドハット6を持っています。3台のマシンで、どちらも/ etc / hostsに変更がありません(つまり、私はipアドレスを追加していません)。私のマシンでは、getLocalhostをうまく実行し、ホスト名a.domain.comを返すことができます。もう1つはUnknownHostExceptionで失敗します。

以前は、私はいつもipを/ etc / hostsに追加しましたが、私はなぜこの1台のマシンがそれを必要としないのだろうと思っています。両方のマシンの/etc/nsswitch.confには "hosts:files dns"があり、両方のマシンで同じです。

/ etc / sysconfig / network-scripts / ifcfg-eth0スクリプトには大きな違いがあります。 UnknownHostExceptionを取得するノードは、次のようなものです

DEVICE="eth0"
BOOTPROTO="static"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=10.10.1.5
PREFIX=23

作品にはこういうものがあります...

DEVICE="eth0"
HWADDR="AA:AA:AA:AA:3F:A8"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
IPADDR=10.10.1.2
PREFIX=23
GATEWAY=10.10.1.1
DNS1=10.20.100.100
DNS2=10.20.100.101
DOMAIN="domain.com sub.domain.com"

これがどういうわけか原因でしょうか?なぜこれが動作していないのかを見るために他のどのファイルを見ることができますか?私はjavaがホスト名を取得するためにマシンにいくつかのLinuxのgetLocalHost API呼び出しを行っていると仮定します。

ありがとう、 ディーン

回答:

回答№1は1

ああ、私は違いを見つけた。 私の/ etc / sysconfig / networkファイルでは、私は作業マシン上でFQDNを持っていましたが、他のマシンでは "b"というホスト名しか持たず、 "b.domain.com"に変更すると問題が解決しました。私の/ etc / hostsファイルを変更する必要はありません!!

ディーン