Hata iletisi "sudo: ana bilgisayar çözümlenemiyor (yok)"

Kaçtığımda sudo terminal birkaç saniye sıkışmış ve sonra bir hata mesajı veriyor. Terminalim şuna benziyor:

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

Bunu çözmek için ne yapabilirim?

Kontrol edilmesi gereken iki şey (makinenizin çağrıldığını varsayarak my-machine, bunu uygun şekilde değiştirebilirsiniz):

  1. İşte bu /etc/hostname dosya yalnızca makinenin adını içerir.

  2. O /etc/hosts için bir girişi var localhost. Şöyle bir şey olmalı:

     127.0.0.1 localhost.localdomain localhost 127.0.1.1 makinem

Bu dosyalardan herhangi biri doğru değilse (sudo yapamayacağınız için), makineyi kurtarma moduna yeniden başlatmanız ve değişiklikleri yapmanız ve ardından normal ortamınıza yeniden başlatmanız gerekebilir.

Düzenlemek /etc/hosts ve yeni ana bilgisayar adınızı 127.0.0.1 satırına ekleyin (veya isterseniz yeni bir satır oluşturun).

Benimki şöyle görünüyor:

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

Yerini almak penguin yukarıdaki örnekte belirtildiği gibi yeni ana bilgisayar adınızla /etc/hostname dosya.

Adresi Ekle /etc/hosts öyle gibi:

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

Not, bu bir cevaptır bu soru bu da bununla birleştirildi.

Hostname (dave00-G31M-ES2L) temsil edilmez /etc/hosts. Bir ekle L bu satıra:

127.0.1.1   dave00-G31M-ES2

Böylece olur:

127.0.1.1   dave00-G31M-ES2L

Bunu gerçekleştirmek için bir konsol açın (tuşuna basın Ctrl+Alt+T tip:

sudo gedit /etc/hosts

Mektubu ekle L belirtildiği gibi, kaydedin ve çıkın.

Ubuntu'yu bir VPS'DE kullanırken bu sorunu yaşadım. /Etc/hosts dosyasını düzenleyerek çözdüm.

bu komutu çalıştır:

sudo nano /etc/hosts

ve sonra ekle:

127.0.0.1   localhost.localdomain localhost127.0.1.1   ubuntu

Umarım bu sorununuzu çözecektir :)

PS: bilgisayarınızı yeniden başlatmanız Unutmayın!

/ Etc / hostname dosyamdaki ve / etc / hosts dosyasındaki ana bilgisayar adı eşleşse de aynı sorunu yaşıyordum.

Ana bilgisayar adım "staging_1" idi. Ana bilgisayar adınızda alt çizgi olamayacağınız ortaya çıktı, bu yüzden bu hatayı alıyordum. Alt çizgiyi kısa çizgi olarak değiştirmek sorunumu çözdü.

AWS'de vpc'nize gidin ve "DNS Ana Bilgisayar Adları" nı açın.

Soruda verilen belirti, bu daha spesifik problemle güçlü bir şekilde ilişkili olabilir:

$ hostname --fqdnhostname: Temporary failure in name resolution

Bunun çözülmesinin farklı yolları vardır, bunlardan biri ana bilgisayar adınızı localhost olarak eklemektir /etc/hosts (diğer bazı cevaplarda gösterildiği gibi). Bu genel olarak yapılacak doğru şey olabilir, ancak mümkün olan tek çözüm bu değildir.

"Tam etki alanı adı", harici bir DNS sunucusu veya benzeri (ağınızda varsa) tarafından sağlanabilir. Bu durumda, sudo eksik girişe rağmen şikayet etmeyecek /etc/hosts.


Not: sudo sudoers dosyasındaki isteğe bağlı yetenekler nedeniyle, zorunlu olmamakla birlikte ana bilgisayar adını dereference etmeye çalışır. Görmek ana bilgisayar adını aramaya çalışan sudo komutu.

Gecikme çok uzun olmadığı sürece, bu hata iletisi genellikle zararsızdır.

Herkes değiştirmeyi önerir /etc/hosts. Ancak bazı durumlarda bu mümkün olmayabilir (örneğin bir docker kapsayıcısının içinde). Bu yüzden daha iyi bir yol bulmalıydım ve bunu buldum.:

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

Takma adlar bash komut dosyalarında çalışmaz, ancak değişkenleri kullanabiliriz: sudo='sudo -h 127.0.0.1'

Aynı hata mesajıyla karşılaştım. AWS Geliştirici Forumlarındaki bu tartışma konusunun daha iyi bir çözüm olduğunu düşünüyorum:

"VPC yönetim konsoluna gidin, vpc'yi seçin, Eylemler'i tıklayın, DNS Ana Bilgisayar Adlarını Düzenle'yi seçin ve Evet'i seçin."

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

Bu soruyu * çok yerelleştirilmiş * olarak kapatmamanızı tavsiye ederim. Yanlışlıkla hosts dosyasına bir ad koyduklarını ancak bunun yerine farklı bir ad koyduklarını düşünebilen birçok kullanıcı var, özellikle de birçok ağda bilgisayarlar benzer şekilde adlandırıldığından. Bu soru (ve cevap), birisi bu sorunla arama yaptığında ortaya çıkar ve cevap, tam yazım hatası farklı olsa bile, bu tür tutarsızlıkları kontrol etmelerini ister.

bilgisayarlarile kesinliklehostnameaynı yapın. örneğin, ana bilgisayar adı ** ubuntu-pc ** ve ana bilgisayarlar ** ubuntu-pc ** aynı olmalıdır.

Lütfen /etc/hostname ve `/etc/hosts’ içeriğini gönderin.

Bir cevap gönderemiyorum çünkü bu soru korunuyor ve burada yeterince itibarım yok. Benim durumumda, ağ yöneticisini yeniden başlatarak sorunu çözdüm: ‘sudo / etc /init.d / ağ yöneticisi yeniden başlat. Ancak, neden ilk etapta sudoağla ilgili şeyleri beklemek için zaman harcadığını merak ediyorum. Ağ mevcut olmadığındasudo’ sorunsuz çalışmamalı mı?

Bugün bununla karşılaştım. Sorun, hostname’de sahip olduğum şeyin /etc / hosts içinde olmamasıydı. Kime: $ hostname => ‘mybox’ $ grep ‘mybox’ /etc/hosts => 192.168.1.2 mybox.example.com . Alan adımdan sonra /etc/hosts => 192.168.1.2’de ‘mybox’ eklemem gerekiyordu mybox.example.com kutum

Why does the question have <USER> sonunda? Bu, sorunun gövdesinde (yok) İyileştirme önerisi olarak gösterilen gerçek çıktıyla çelişir: kaldır `

@arielf Burada soruları geliştirebilirsiniz. Başka bir kullanıcı tarafından değiştirildi. Ben de bilmiyorum. :stuck_out_tongue: