जब मैं दौड़ता हूं sudo
टर्मिनल कुछ सेकंड के लिए अटक गया है और फिर एक त्रुटि संदेश आउटपुट करता है । मेरा टर्मिनल इस तरह दिखता है:
ubuntu@(none):~$ sudo truesudo: unable to resolve host (none)
मैं इसे हल करने के लिए क्या कर सकता हूं?
जब मैं दौड़ता हूं sudo
टर्मिनल कुछ सेकंड के लिए अटक गया है और फिर एक त्रुटि संदेश आउटपुट करता है । मेरा टर्मिनल इस तरह दिखता है:
ubuntu@(none):~$ sudo truesudo: unable to resolve host (none)
मैं इसे हल करने के लिए क्या कर सकता हूं?
जांच करने के लिए दो चीजें (मान लें कि आपकी मशीन कहा जाता है my-machine
, आप इसे उपयुक्त रूप से बदल सकते हैं):
कि /etc/hostname
फ़ाइल में केवल मशीन का नाम है ।
कि /etc/hosts
के लिए एक प्रविष्टि है localhost
. यह कुछ ऐसा होना चाहिए:
127.0.0.1 लोकलहोस्ट.localdomain लोकलहोस्ट 127.0.1.1 मेरे मशीन
यदि इनमें से कोई भी फाइल सही नहीं है (क्योंकि आप सूडो नहीं कर सकते हैं), तो आपको मशीन को रिकवरी मोड में रिबूट करना पड़ सकता है और संशोधन करना पड़ सकता है, फिर अपने सामान्य वातावरण में रिबूट करें ।
संपादित करें /etc/hosts
और अपने नए होस्टनाम को 127.0.0.1 लाइन में संलग्न करें (या यदि आप इसे पसंद करते हैं तो एक नई लाइन बनाएं) ।
मेरा जैसा दिखता है:
127.0.0.1 localhost localhost.localdomain penguin# The following lines are desirable for IPv6 capable hosts::1 ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters
बदलें penguin
उपरोक्त उदाहरण में आपके नए होस्टनाम द्वारा जैसा कि कहा गया है /etc/hostname
फ़ाइल।
अपना होस्टनाम इसमें जोड़ें /etc/hosts
ऐसा ही:
echo $(hostname -I | cut -d\ -f1) $(hostname) | sudo tee -a /etc/hosts
ध्यान दें, यह एक उत्तर है यह सवाल जिसे इसमें मिला दिया गया है ।
आपका होस्टनाम (dave00-G31M-ES2L
) में प्रतिनिधित्व नहीं है /etc/hosts
. एक जोड़ें L
इस लाइन के लिए:
127.0.1.1 dave00-G31M-ES2
तो यह बन जाता है:
127.0.1.1 dave00-G31M-ES2L
इसे पूरा करने के लिए, एक कंसोल खोलें (दबाएं Ctrl+Alt+T) और प्रकार:
sudo gedit /etc/hosts
पत्र जोड़ें L
जैसा कि उल्लेख किया गया है, सहेजें और बाहर निकलें ।
जब मैं वीपीएस पर उबंटू का उपयोग कर रहा था तो मुझे यह समस्या थी । मैंने इसे संपादन /आदि/होस्ट फ़ाइल हल किया ।
इस कमांड को चलाएं:
sudo nano /etc/hosts
और फिर जोड़ें:
127.0.0.1 localhost.localdomain localhost127.0.1.1 ubuntu
मुझे आशा है कि आपकी समस्या का समाधान होगा :)
पुनश्च: अपने कंप्यूटर को रिबूट करना याद रखें!
मुझे एक ही समस्या हो रही थी, भले ही मेरी /आदि/होस्टनाम फ़ाइल और /आदि/होस्ट फ़ाइल में होस्टनाम मेल खाता हो ।
मेरा होस्टनाम"स्टैगिंग_1" था । यह पता चला है कि आपके होस्टनाम में अंडरस्कोर नहीं हो सकता, इसलिए मुझे यह त्रुटि मिल रही थी । अंडरस्कोर को हाइफ़न में बदलने से मेरी समस्या ठीक हो गई ।
एडब्ल्यूएस में, अपने वीपीसी पर जाएं और "डीएनएस होस्टनाम"चालू करें ।
प्रश्न में दिया गया लक्षण इस अधिक विशिष्ट समस्या के साथ दृढ़ता से सहसंबंधित हो सकता है:
$ hostname --fqdnhostname: Temporary failure in name resolution
ऐसे विभिन्न तरीके हैं जिनसे इसे हल किया जा सकता है, जिनमें से एक है अपने होस्टनाम को लोकलहोस्ट के रूप में जोड़ना /etc/hosts
(जैसा कि कई अन्य उत्तरों में दिखाया गया है) । यह सामान्य रूप से सही काम हो सकता है, लेकिन यह एकमात्र संभव संकल्प नहीं है ।
एक" पूरी तरह से योग्य डोमेन नाम " बाहरी डीएनएस सर्वर या समान (यदि आपके नेटवर्क पर उपलब्ध है) द्वारा आपूर्ति की जा सकती है । इस मामले में, sudo
में लापता प्रविष्टि के बावजूद शिकायत नहीं करेंगे /etc/hosts
.
नोट: sudo
होस्टनाम को अलग करने का प्रयास, भले ही यह आवश्यक नहीं है, सुडोर्स फ़ाइल में वैकल्पिक क्षमताओं के कारण । देखें सुडो कमांड होस्टनाम की खोज करने की कोशिश कर रहा है.
जब तक देरी बहुत लंबी नहीं है, तब तक यह त्रुटि संदेश आमतौर पर हानिरहित होता है ।
हर कोई संशोधित करने की सलाह देता है /etc/hosts
. लेकिन कुछ मामलों में यह संभव नहीं हो सकता है (उदाहरण के लिए एक डॉकर कंटेनर के अंदर) । इसलिए, मुझे एक बेहतर तरीका खोजना पड़ा और मैं इसके साथ आया:
echo "alias sudo='sudo -h 127.0.0.1'" >> ~/.bash_aliasessource ~/.bashrc
उपनाम बैश स्क्रिप्ट में काम नहीं करते हैं, लेकिन हम चर का उपयोग कर सकते हैं: sudo='sudo -h 127.0.0.1'
मुझे इसी त्रुटि संदेश का सामना करना पड़ा । मुझे लगता है कि एडब्ल्यूएस डेवलपर मंचों पर यह चर्चा धागा एक बेहतर समाधान है:
"वीपीसी प्रबंधन कंसोल पर जाएं, वीपीसी का चयन करें, क्रियाओं पर क्लिक करें, डीएनएस होस्टनाम संपादित करें चुनें और हां चुनें । "
मैं इस प्रश्न को बहुत स्थानीयकृतके रूप में बंद करने की सलाह देता हूं । ऐसे कई उपयोगकर्ता हैं जो गलती से सोच सकते हैं कि उन्होंने अपनी होस्ट
फ़ाइल में एक नाम रखा है, लेकिन इसके बजाय एक अलग नाम रखा है, खासकर जब से कई नेटवर्क पर, कंप्यूटर समान रूप से नामित हैं । यह प्रश्न (और उत्तर) तब दिखाई देगा जब कोई उस समस्या के साथ खोज करेगा, और उत्तर उन्हें ऐसी विसंगतियों की जांच करने के लिए प्रेरित करेगा, भले ही सटीक गलत वर्तनी अलग होगी ।
सुनिश्चित करें कि आपका होस्टनाम
होस्ट्स
के साथ समान है । उदाहरण के लिए होस्टनाम उबंटू-पीसी है और होस्ट उबंटू-पीसी समान होना चाहिए ।
कृपया /आदि/होस्टनाम
और /आदि/होस्ट
की सामग्री पोस्ट करें ।
मैं एक उत्तर पोस्ट नहीं कर सकता क्योंकि यह प्रश्न संरक्षित है और मेरे पास यहां पर्याप्त प्रतिष्ठा नहीं है । मेरे मामले में, मैंने नेटवर्क-मैनेजर को पुनरारंभ करके समस्या को हल किया: सुडो /आदि/इनिट । डी / नेटवर्क-प्रबंधक पुनरारंभ
। हालांकि, मैं सोच रहा हूं कि पहली जगह में सुडो
नेटवर्क से संबंधित सामान की प्रतीक्षा में समय क्यों बर्बाद करता है । जब नेटवर्क उपलब्ध नहीं है तो समस्याओं के बिना सुडो
काम नहीं करना चाहिए?
मैं आज इस में भाग गया । समस्या यह थी कि मेरे पास होस्टनाम में जो था वह /आदि/होस्ट में नहीं था । बुद्धि के लिए: $ होस्टनाम = >’ मायबॉक्स '$ ग्रेप ’ मायबॉक्स '/ आदि / होस्ट = > 192.168.1.2 mybox.example.com. मुझे अपने डोमेन नाम के बाद /आदि/होस्ट => 192.168.1.2 में ‘मायबॉक्स’ जोड़ने की आवश्यकता थी mybox.example.com मायबॉक्स
Why does the question have <USER>'अंत में? यह प्रश्न के मुख्य भाग में दिखाए गए वास्तविक आउटपुट को सुधार के लिए
(कोई नहीं)सुझाव के रूप में विरोधाभासी करता है: निकालें
@ एरील्फ आप यहां पर प्रश्नों में सुधार कर सकते हैं । इसे किसी अन्य उपयोगकर्ता द्वारा बदल दिया गया था । मैं भी नहीं जानता ।