मेरे लिनक्स मशीन में, जब मैं दौड़ता हूं hostname
, तो यह दिखाता है mongodb
, लेकिन जब मैं दौड़ता हूं host mongodb
, तो यह दिखाता है:
mongodb@mongodb:/var/hadoop/hadoop-1.2.1/bin$ host mongodb
Host mongodb not found: 2(SERVFAIL)
मेरी /etc/hosts
फ़ाइल:
192.168.10.10 mongodb
192.168.10.10 localhost
127.0.0.1 localhost
#127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
मेरा पहला सवाल है: चूंकि
/etc/hosts
आईपी से होस्टनाम में मैपिंग हो रही है, इसलिए यह मशीन होस्टनामmongodb
को आईपी 192.168.10.10 पर हल नहीं कर सकती है ? इसके बजाय, जब मैं दौड़ता हूंhost localhost
, तो इसे हल किया जा सकता है और दिखाता है:localhost has address 127.0.0.1
मेरा एक और सवाल:
/etc/hosts
फ़ाइल के अनुसार , होस्टनामlocalhost
को लूपबैक आईपी पते 127.0.1 के बजाय 192.168.10.10 पर हल किया जाना चाहिए था। कोई मुझे यह समझा सकता है?
/etc/hosts
DNS सर्वर को सीधे क्वेरी करते समय DNS रिज़ॉल्यूशन पर कोई प्रभाव नहीं पड़ता है, जो किhost
करता है। हालांकि, कई सिस्टम टूल और यूटिलिटी परिभाषा का उपयोग करते हैंlocalhost
, यह लूपबैक एड्रेस होने की उम्मीद करते हैं, और सिस्टम नाम रिज़ॉल्यूशन (जो/etc/hosts
कि DNS को क्वेरी करने से पहले दिखता है ) का उपयोग करते हुए नामों को सख्ती से DNS में जाने के बजाय हल करते हैं, जो हमेशा मौजूद नहीं हो सकता है।