پیام خطا "sudo: قادر به برطرف کردن میزبان (هیچ)"


به جواب پذیرفته شده بروید




هنگامی که من اجرا می کنم sudo ترمینال برای چند ثانیه گیر کرده و پیام خطایی را صادر می کند. ترمینال من مانند این است:

 [email protected](none):~$ sudo true
sudo: unable to resolve host (none)
 

برای حل آن چه کاری می توانم انجام دهم؟


750









20 :تعداد پاسخها


دو مورد برای بررسی (با فرض اینکه دستگاه شما نامیده می شود my-machine ، می توانید آن را در حد مناسب تغییر دهید):

  1. که /etc/hostname پرونده فقط نام دستگاه را دارد.

  2. این /etc/hosts یک ورودی برای localhost . باید چیزی مثل:

     127.0.0.1 localhost.localdomain localhost
     127.0.1.1 دستگاه من
    

اگر هر یک از این پرونده ها صحیح نیستند (از آنجا که شما نمی توانید sudo کنید) ، ممکن است مجبور شوید دستگاه را به حالت ریکاوری راه اندازی کرده و تغییرات را انجام دهید ، سپس به محیط معمول خود راه اندازی مجدد کنید.


1020



https://askubuntu.com/q/92379/6969 /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-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
 

penguin همانطور که در /etc/hostname پرونده گفته شد ، در مثال بالا با نام میزبان جدید خود جایگزین کنید.


195



نام میزبان خود را به /etc/hosts این ترتیب اضافه کنید :

 echo $(hostname -I | cut -d\  -f1) $(hostname) | sudo tee -a /etc/hosts
 

68



توجه داشته باشید ، این پاسخی برای این سؤال است که با این سوال ادغام شده است.

نام میزبان شما ( 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 همانطور که گفته شد نامه را اضافه کنید ، ذخیره و خارج شوید.


31



من هنگام استفاده از اوبونتو در VPS این مسئله را داشتم. من آن را ویرایش / و غیره / پرونده میزبان حل کردم.

اجرای این دستور:

 sudo nano /etc/hosts
 

و سپس اضافه کنید:

 127.0.0.1   localhost.localdomain localhost
127.0.1.1   ubuntu
 

امیدوارم مسئله شما را حل کند :)

PS: به یاد داشته باشید که کامپیوتر خود را دوباره راه اندازی کنید!


16



من مشکل مشابهی را داشتم حتی اگر نام میزبان در پرونده / و غیره / نام نام میزبان من و / غیره / پرونده میزبان ها مطابقت داشته باشد.

نام میزبان من "staging_1" بود. معلوم می شود که شما نمی توانید زیرنویس خود را در نام میزبان خود داشته باشید ، به همین دلیل من این خطا را دریافت می کردم. تغییر زیرنویس به صورت یک مشکل به مشکل برطرف شد.


11



در AWS ، به vpc خود بروید و "نامهای میزبان DNS" را روشن کنید.


11



علامتی که در این سؤال آورده شده ممکن است با این مشکل خاص تر ارتباط داشته باشد:

 $ hostname --fqdn
hostname: Temporary failure in name resolution
 

روش های مختلفی وجود دارد که می توان این مشکل را برطرف کرد ، یکی از آنها اضافه کردن نام میزبان شما به عنوان localhost در /etc/hosts (همانطور که در چندین پاسخ دیگر نشان داده شده است). این ممکن است کار درستی باشد که به طور کلی انجام شود ، اما این تنها قطعنامه ممکن نیست.

"نام دامنه کاملاً واجد شرایط" ممکن است توسط یک سرور DNS خارجی یا مشابه (در صورت موجود بودن در شبکه شما) تهیه شود. در این حالت ، sudo علیرغم وجود ورودی مفقود ، شکایت نخواهد کرد /etc/hosts .


توجه: sudo به دلیل قابلیت های اختیاری در پرونده sudoers ، سعی در تغییر نام نام میزبان ، حتی الزاماً لازم نیست. مشاهده دستور sudo تلاش برای جستجوی نام میزبان .

تا زمانی که تأخیر خیلی طولانی نباشد ، این پیام خطا معمولاً بی ضرر است.


7



با همین پیام خطایی مواجه شدم. من فکر می کنم این موضوع بحث در انجمن های توسعه دهنده AWS یک راه حل بهتر است:

"به کنسول مدیریت VPC بروید ، VPC را انتخاب کنید ، بر روی Actions کلیک کنید ، ویرایش HostNames را انتخاب کنید و بله را انتخاب کنید."

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


5



برخی از شبیه سازهای ترمینال سریعاً با نام میزبان صحیح به روزرسانی نمی شوند تا اینکه شبیه ساز را ببندید و مجدداً راه اندازی کنید (lxterminal ، من با شما صحبت می کنم)

من 30min را صرف ویرایش با این خطا کردم بعد از ویرایش نام میزبان و پرونده های میزبان و اجرای آن sudo service hostname restart تا اینکه دویدم sudo hostname و دیدم که نام میزبان ارزش جدید است ، حتی اگر اعلان نشان داده شده است مقدار قدیمی است.


5



در مورد من این مشکل بود ، من تغییر را hostname به man دلیل می خواستم بدونم پارامترهایی وجود دارد که می توانید از آنها استفاده کنید hostname . در عوض آن را hostname به من تغییر داد man و من همیشه همان پیام شما را دریافت کردم

 sudo: unable to resolve host (none)
 

بعد از تغییر نام میزبان به "localhost" همه چیز دوباره خوب شد

 hostname localhost
 

4



همه توصیه می کنند اصلاح کنند /etc/hosts . اما در بعضی موارد ممکن است این امکان پذیر نباشد (به عنوان مثال داخل یک ظرف داکر). بنابراین ، من مجبور شدم راهی بهتری پیدا کنم و به این نتیجه رسیدم:

 echo "alias sudo='sudo -h 127.0.0.1'" >> ~/.bash_aliases
source ~/.bashrc
 

نام مستعارها در اسکریپت های bash کار نمی کنند ، اما می توانیم از متغیرها استفاده کنیم: sudo='sudo -h 127.0.0.1'


3



با عرض پوزش من نمی توانم خیلی به شما کمک کنم اما از آنجا که می گوید "میزبان را نمی توان حل کرد" اجرا کنید:

 hostname
 

و ببینید که خروجی نام میزبان دستگاه است یا خیر. اگر نه ، مشکل پیکربندی میزبان است ، نه سودو.


2



OP نوشت:

همه در / و غیره / نام میزبان بود. در دو سرور بیمار ما اینگونه بود:

 [email protected](none):~$ cat /etc/hostname
linux-web-n ip-10-128-##-##
 

در حالی که در سرور بدون این شماره وجود داشتیم:

 [email protected]##-###:~$ cat /etc/hostname
ip-10-128-##-###
 

linux-web-n بخش را حذف کرد ، دوباره راه اندازی شد و همه چیز خوب بود.


2



اگر میزبان یا پرونده نام میزبان شما حاوی کاراکترهای غیرقانونی باشد ، ممکن است دچار خطا شوید. فقط این نمادها مجاز هستند: az، AZ، ​​0-9


2



من هم همین مشکل را داشتم! من نام VPS خود را از طریق کنترل پنل مدیریت آنلاین تغییر دادم که نام دستگاه را در پرونده میزبان تغییر نداد. تمام کاری که انجام دادم اجرا شد:

 sudo nano /etc/hosts
 

سپس من آن را از این ویرایش کردم:

 127.0.1.1 Megabyte Megabyte
127.0.0.1 localhost
 

به این:

 127.0.1.1 Debian Debian
127.0.0.1 localhost
 

و این خطای من را برطرف کرد! امیدوارم این کمک کرد!


2



من هم همین مشکل را داشتم. من آن را با ویرایش پرونده های / etc / hosts و / etc / hostname ... در پرونده / etc / hosts حل کردم ، فقط قسمت بالا را مطابق شکل زیر ویرایش کنید.

 #vi /etc/hosts
    127.0.0.1   localhost
    127.0.1.1   localhost  myhostname




#vi /etc/hostname
    myhostname
 

1



اگر نمی توانید sudo کنید می توانید از طریق su به سیستم وارد شوید. IE: su root (در مدت زمان x). سپس در صورت درخواست رمزعبور اصلی را بدهید ، سپس می توانید فایلها را با nano ویرایش کنید. رمز اصلی در "buntu" همان رمز عبوری است که برای sudo استفاده می کنید.


1



اگر از Vagrant استفاده می کنید ، وارد مهمان شوید و اجرا کنید apt-get --no-install-recommends install virtualbox-guest-utils


1



در صورت مشکل این /etc/hostname پرونده و /etc/hosts هر دو فایل نام میزبان مورد نظر شما را دارند و هنوز هم دستگاه شما خطا را نشان می دهد

sudo: unable to resolve host

سعی کنید با مجبور کردن نام میزبان

 sudo hostname -F /etc/hostname
 

احتمالاً شما هنوز هم همان خطا را دریافت خواهید کرد ، اما سعی کنید از سیستم خارج شوید و دوباره به سیستم وارد شوید. این برای من کار کرد.


0



انتشارات مرتبط


چگونه "sudo: قادر به باز کردن ... سیستم فایل فقط خواندنی" را برطرف کنیم؟

خطا هنگام نصب: "قادر به یافتن یک رسانه حاوی سیستم پرونده زنده"

چرا وقتی "sudo" کردم ، قادر به حل کردن میزبان نیستم؟ [تکثیر]

خطای کامل دیسک کاذب: قادر به نصب یا حذف نیست

sudo: قادر به برطرف کردن سرور اوبونتو میزبان [کپی]

پیام خطا "sudo: قادر به برطرف کردن میزبان (هیچ)"

دریافت پیام خطا هنگام تلاش برای راه اندازی یک ماشین مجازی

پیام خطا "sudo: قادر به برطرف کردن میزبان (هیچ)"

sudo: قادر به stat / etc / sudoers: چنین پرونده یا فهرست وجود ندارد - پرونده موجود است

چرا در حین تلاش برای دسترسی به برخی از تنظیمات افزونه پوسته GNOME من یک پیام خطا دریافت می کنم؟

[sudo] سوال برچسب


چگونه می توانم بسته های موجود را از خط فرمان جستجو کنم؟

چگونه متغیرهای محیط را اضافه کنم؟

چگونه با استفاده از ntp یک بروزرسانی ساعت را مجبور کنیم؟

چگونه می توان وحدت را پیکربندی کرد؟

نحوه نمایش شماره خط در نانو هنگام باز کردن پرونده

تفاوت بین / etc / init / و /etc/init.d/ چیست؟

آیا نیاز به نصب نرم افزار آنتی ویروس دارم؟ [بسته]

چگونه می توانم از طریق ترمینال و بدون فایل های پنهان یک بایگانی فشرده از کل دایرکتوری ایجاد کنم؟

هنگام نصب بسته ها با APT ، "یافتن بسته امکان پذیر نیست"

قطره های بوت به جعبه پرسپولیسی (اولیه) تبدیل می شود