मुझे होस्टनाम क्यों मिलता है: नाम या सेवा ज्ञात त्रुटि नहीं है?


23

मुझे यह त्रुटि तब हो रही है जब मैं कभी भी किसी भी पैकेज को इसके माध्यम से स्थापित करता हूं apt-get:

hostname: Name or service not known
dpkg: error processing ssmtp (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libt1-5 (5.1.2-3.4ubuntu1) ...
Setting up php5-gd (5.3.10-1ubuntu3.2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 ssmtp
E: Sub-process /usr/bin/dpkg returned an error code (1)

ऐसा क्यों हो रहा है?


मेरे पास एक ही मुद्दा था, समस्या इस तथ्य से संबंधित थी कि DNS ने होस्टनाम के लिए किसी भी प्रविष्टि की मदद नहीं की थी - इसलिए FQDN अनुपलब्ध था।

जवाबों:


10

समाधान:

(इन प्रकार की समस्याओं के अच्छे समाधान नहीं हैं। लेकिन केवल कुछ हॉकिंग-ईश हैं)

आपको पहले इस कमांड को टर्मिनल में आज़माना चाहिए:

sudo apt-get -f install

यदि यह काम नहीं करता है, तो हाकिंग-ईश समाधान के साथ प्रक्रिया करें ।

के कॉन्फ़िगरेशन स्क्रिप्ट को अस्थायी रूप से ले जाने का प्रयास करें ssmtp

  1. एक टर्मिनल खोलें और इस आदेश को वर्तमान dir में ले जाने के लिए निष्पादित करें

     sudo mv /var/lib/dpkg/info/ssmtp* .
    
  2. फिर प्रयोग करके देखें apt-get

समस्या का कारण:

पिछली स्थापना या निष्कासन सफलतापूर्वक पूरा नहीं हो सकता है, ssmtpपैकेज के लिए कुछ विन्यास कदम छोड़ना होगा । चूंकि, dpkg कदमों को पूरा किए बिना आगे नहीं बढ़ेगा, इसलिए बाद का उपयोग apt-getउस कदम पर अटक जाता है।


18

रन hostname --fqdn

यदि आपको कोई त्रुटि मिलती है, तो उचित होस्टनाम के साथ संपादित करें / etc / hostname और / etc / मेजबान।

फिर aptitude install ssmtpइसे स्थापित करने के लिए फिर से प्राप्त करने के लिए।


13

बस इतना सबको पता है, / etc / मेजबान के संपादन ने चाल / etcनाम को server.exmaple.com के साथ सही किया था

हालांकि मेजबान सही नहीं थे

127.0.0.1 localhost
127.0.0.1 server

इसे इसमें बदलें:

127.0.0.1 localhost.localdomain  localhost
192.168.xxx.xxx  server.example.com   server

मैंने hostname -f और hostname --fqdn चलाया और निम्नलिखित प्राप्त किया।

server.example.com

बस सोचा था कि हर कोई जानना चाहेगा।


5

सबसे अधिक संभावना है कि आपका इंटरनेट कनेक्शन ठीक से काम नहीं कर रहा है। विशेष रूप से मुझे लगता है कि आपका DNS ठीक से हल नहीं कर रहा है।

लाइन जोड़ने का प्रयास करें

nameserver 80.80.80.80 

आपके /etc/resolv.conf

यह freenom DNS सर्वर को अस्थायी रूप से (अगले बूट तक) जोड़ देगा


यह एक जेनरेट की गई फाइल है। मैं इसे कैसे प्रबंधित करूं?
१०

@chovy यदि आप अभी भी इस बारे में सोच रहे हैं, तो अस्थायी DNS मुद्दों को हल sudoedit /etc/resolv.confकरने के लिए आगे बढ़ना और जो भी पता है उसे बदलना सुरक्षित है 8.8.8.8। फ़ाइल अगले बूट पर पुनर्जीवित हो जाएगी, इसलिए आप यहां कुछ भी विनाशकारी नहीं कर सकते हैं जब तक कि रिबूटिंग एक विकल्प नहीं है
Zanna

2

मैंने अपने घर नेटवर्क पर एक उबंटू प्रणाली पर एक गतिशील रूप से निर्दिष्ट आईपी पते के साथ एक राउटर से अपने नेटवर्क के लिए एक संयुक्त डीएचसीपी और डीएनएस सर्वर प्रदान करने वाला संदेश प्राप्त किया है।

संदेश: hostname: Name or service not knownइस तरह के उपकरण के कारण हो सकता है, अगर केवल एक पल के लिए।

उदाहरण के लिए ऐसा हो सकता है अगर मेरी शक्ति खत्म हो जाती है तो मेरा होम राउटर रिबूट हो जाता है।

यहां समस्या यह है कि आपका नेटवर्क जिस डीएचसीपी सेवा पर निर्भर है, वह उन सभी आईपी पते को भूल जाता है जिन्हें उसने सौंपा है और संबंधित डोमेन नाम। जब आपका कंप्यूटर अपने स्वयं के नाम के लिए संबंधित डीएनएस सर्वर की जांच करता है, तो सर्वर के पास अब नहीं है। कुछ डीएचसीपी सर्वर अपनी डिस्क या फ्लैश मेमोरी में किए गए असाइनमेंट को लिखकर समस्याओं से बच सकते हैं ताकि वे पुनरारंभ होने पर कुछ भी खो न जाएं।


सर्वर आमतौर पर आपके सिस्टम डीएचसीपी अनुरोध से आपके कंप्यूटर का नाम ले सकता है , इसे कम्प्यूटरीकृत कर सकता है। इसे अपने रिकॉर्ड डीएनएस सर्वर में एक साथ उपलब्ध करवाता है। आमतौर पर hostname -fqdnअपने DNS सर्वर से अपने नेटवर्क पर पूर्ण डोमेन नाम का अनुरोध करता है और यदि इसका रिकॉर्ड है तो यह उस नाम को वापस कर देगा। .localप्रत्यय यह एक वैध पूर्ण योग्य डोमेन नाम की तरह लग रही है (हालांकि यह वास्तव में एक वैध वैश्विक डोमेन नाम नहीं है) बनाता है। यही कारण है कि आपको मैन्युअल रूप से / etc / मेजबानों या / etc / hostname फ़ाइलों में डोमेन नाम निर्दिष्ट नहीं करना पड़ सकता है।


डीएचसीपी सर्वर को फिर से शुरू करने से आगे की समस्याएं हो सकती हैं क्योंकि आईपी पते एक साथ कई कंप्यूटरों को सौंपे जा सकते हैं, जिससे कुछ संचार करने में सक्षम नहीं होंगे। सर्वर के पुनरारंभ होने से पहले पता एक बार सौंपा गया है, और उसके बाद फिर से।

यदि आपका डीएचसीपी सर्वर अपने असाइनमेंट को भूल जाता है, तो यह पुनरारंभ होने पर प्रत्येक कंप्यूटर को फिर से कनेक्ट करने के लिए सुरक्षित कार्य करता है। जब मैंने अपना खो दिया तो मैं बस डिस्कनेक्ट कर दिया और अपने वाईफाई एक्सेस प्वाइंट पर फिर से कनेक्ट हो गया। एक वायर्ड नेटवर्क पर आप उपयोग कर सकते हैं ifdownऔर ifupया नेटवर्क केबल को डिस्कनेक्ट और पुनः कनेक्ट कर सकते हैं । जब मेरा सिस्टम पुन: कनेक्ट कर रहा है तो एक नया पता प्राप्त करने के लिए स्वचालित रूप से dhclient का उपयोग करता है - मेरा कंप्यूटर और सर्वर अब इस बात पर सहमत हैं कि मैं कौन हूं, और संदेश अब प्रकट नहीं होता है।

यदि आप लंबे समय तक प्रतीक्षा करते हैं तो डीएचसीपी लीज समय-सीमा समाप्त हो जाएगी और आपका सिस्टम सर्वर से नया पट्टा प्राप्त करने के लिए कहेगा और समस्या को दूर करेगा। यह शायद घंटे या दिन बाद होगा (मेरे सर्वर के लिए यह एक दिन है)।

यदि आपने एक स्थिर आईपी नाम और पता परिभाषित किया है और यदि DNS रिवर्स लुक-अप रिकॉर्ड सही हैं तो समस्या नहीं होनी चाहिए।


1

मैं आज सुबह इस त्रुटि में भाग गया, और यह पता चला कि होस्टनाम में गलत वर्तनी थी /etc/hostname। इसे ठीक करते हुए, यह /etc/hostsसमस्या को दूर करने में होस्टनाम वर्तनी के साथ सहमत हो गया । hostname -b -F /etc/hostnameआदेश है कि बूट समय पर रन जाहिरा तौर पर जब तक पूरा नहीं कर सकते /etc/hostnameऔर /etc/hostsसहमत हैं।


इस जवाब ने इसे मेरे लिए हल कर दिया: पहले मैंने यकीन किया /etc/hostsऔर /etc/hostnameसहमत हुआ फिर मैंने "कमांड जो कि बूट समय पर चलता है" को चलाया, केवल -bध्वज के बिना (क्योंकि यह केवल निर्दिष्ट फ़ाइल को गैर-मौजूद होने की अनुमति देता है, लेकिन यह यहाँ है)। और धमाके: hostname --fqdnफिर से उचित FQDN लौटाता है।
.23
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.