رسالة خطأ " سودو: غير قادر على حل المضيف (لا شيء)"

عندما أركض sudo المحطة عالقة لبضع ثوان ثم إخراج رسالة خطأ. محطة بلدي تبدو مثل هذا:

ubuntu@(none):~$ sudo truesudo: unable to resolve host (none)

ماذا يمكنني أن أفعل لحلها?

شيئين للتحقق (على افتراض يسمى الجهاز الخاص بك my-machine، يمكنك تغيير هذا حسب الاقتضاء):

  1. أن /etc/hostname يحتوي الملف فقط على اسم الجهاز.

  2. ذلك /etc/hosts لديه إدخال ل localhost. يجب أن يكون شيء من هذا القبيل:

     127.0.0.1 المضيف المحلي.لوكالدومين لوكالهوست 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'

واجهت نفس رسالة الخطأ هذه. وأعتقد أن هذا الموضوع مناقشة في منتديات المطور أوس هو الحل الأفضل:

"انتقل إلى وحدة تحكم إدارة فيك ، حدد فيك ، انقر على الإجراءات ، حدد تحرير أسماء مضيف دنس وحدد نعم."

https://forums.aws.amazon.com/thread.jspa?messageID=699718

أوصي بعدم إغلاق هذا السؤال على أنه * مترجم للغاية*. هناك العديد من المستخدمين الذين قد يعتقدون خطأ أنها قد وضعت اسم واحد في ملف المضيفين ولكن وضعت في اسم مختلف بدلا من ذلك ، وخاصة منذ على العديد من الشبكات ، يتم تسمية أجهزة الكمبيوتر بالمثل. سيظهر هذا السؤال (والجواب) عندما يبحث شخص ما عن هذه المشكلة ، وستدفعه الإجابة إلى التحقق من وجود مثل هذه التناقضات ، على الرغم من أن الخطأ الإملائي الدقيق سيكون مختلفا.

تأكد من ‘اسم المضيف’ نفسه مع ‘المضيفين’. على سبيل المثال اسم المضيف هو أوبونتو بيسي والمضيفين هو أوبونتو بيسي يجب أن تكون هي نفسها.

يرجى نشر محتويات '/الخ / اسم المضيف ’ و ‘/ الخ / المضيفين’.

لا يمكنني نشر إجابة لأن هذا السؤال محمي وليس لدي سمعة كافية هنا. في حالتي ، وأنا حل المشكلة عن طريق إعادة تشغيل شبكة مدير: سودو /الخ/الحرف الأول.د / إعادة تشغيل مدير الشبكة' ومع ذلك ، أنا أتساءل لماذا في المقام الأول سودو النفايات الوقت في انتظار الاشياء المتعلقة بالشبكة. لا ينبغي` سودو ’ العمل دون مشاكل عندما الشبكة غير متوفرة?

جريت إلى هذا اليوم. كانت المشكلة أن ما كان لدي في اسم المضيف لم يكن في / الخ / المضيفين. إلى الطرافة: - اسم المضيف = > ‘ماي بوكس’ - البقرى ‘ماي بوكس’ / الخ / المضيفين => 192.168.1.2 mybox.example.com. كنت بحاجة لإضافة ‘ماي بوكس’ بعد اسم المجال الخاص بي في / الخ / المضيفين => 192.168.1.2 mybox.example.com ماي بوكس

Why does the question have <USER>'في النهاية? وهذا يتناقض مع الناتج الفعلي الموضح في نص السؤال على أنه اقتراح (لا شيء) ’ للتحسين: إزالة `

@أريلف يمكنك تحسين الأسئلة هنا. تم تغييره من قبل مستخدم آخر. أنا لا أعرف أيضا. : ع