''/> ''/> ''/> Pesan galat 'sudo: tidak dapat menyelesaikan host <USER>' | madarawebsolutions.com

Pertanyaan Pesan galat 'sudo: tidak dapat menyelesaikan host '


Ketika saya menjalankan sudo terminal macet selama beberapa detik dan kemudian menampilkan pesan kesalahan. Terminal saya terlihat seperti ini:

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

Apa yang bisa saya lakukan untuk menyelesaikannya?


641
2017-08-31 19:09


asal


Silakan posting kontennya /etc/hostname dan /etc/hosts. - arrange
Saya menyarankan agar tidak menutup pertanyaan ini sebagai terlalu terlokalisasi. Ada banyak pengguna yang mungkin keliru mengira mereka telah memasukkan satu nama ke dalam nama mereka hoststetapi dimasukkan ke dalam nama yang berbeda, terutama karena di banyak jaringan, komputer diberi nama yang sama. Pertanyaan (dan jawaban) ini akan muncul ketika seseorang mencari masalah itu, dan jawabannya akan mendorong mereka untuk memeriksa ketidaksesuaian tersebut, meskipun kesalahan ejaan yang sebenarnya akan berbeda. - Eliah Kagan
pastikan Anda hostname sama dengan hosts. misalnya nama host adalah ubuntu-pc dan host adalah ubuntu-pc harus sama. - Muhammad Sholihin
Saya bertemu hari ini. Masalahnya adalah bahwa apa yang saya miliki di hostname tidak ada di / etc / hosts. Untuk wit: $ hostname => 'mybox' $ grep 'mybox' / etc / hosts => 192.168.1.2 mybox.example.com. Saya perlu menambahkan 'mybox' setelah nama domain saya di / etc / hosts => 192.168.1.2 mybox.example.com mybox - Jim
Saya tidak dapat memposting jawaban karena pertanyaan ini dilindungi dan saya tidak memiliki reputasi yang cukup di sini. Dalam kasus saya, saya memecahkan masalah dengan me-restart network-manager: sudo /etc/init.d/network-manager restart. Namun, saya bertanya-tanya mengapa di tempat pertama sudo membuang waktu menunggu hal-hal terkait jaringan. Tidak seharusnya sudo bekerja tanpa masalah ketika jaringan tidak tersedia? - bli


Jawaban:


Dua hal untuk diperiksa (dengan asumsi mesin Anda dipanggil my-machine, Anda dapat mengubah ini sebagaimana mestinya):

  1. Bahwa /etc/hostname file hanya berisi nama mesin.

  2. Bahwa /etc/hosts memiliki entri untuk localhost. Seharusnya ada sesuatu seperti:

     127.0.0.1 localhost.localdomain localhost
     127.0.1.1 mesin-saya
    

Jika salah satu dari file-file ini tidak benar (karena Anda tidak dapat melakukan sudo), Anda mungkin harus me-reboot mesin ke mode pemulihan dan membuat modifikasi, lalu reboot ke lingkungan Anda yang biasa.


876
2017-09-01 03:26



Nama host tidak akan berubah sampai Anda reboot. Jika Anda ingin mengubahnya tanpa me-reboot mesin maka ikuti langkah-langkah di atas dan setelah itu jalankan: - "sudo hostname my-machine" untuk melihat apakah ini telah bekerja menjalankan "sudo hostname" Ini akan menampilkan nama host mesin Anda. Metode ini mungkin digunakan sebagai metode sementara untuk mengubah nama host juga. setelah restart, nilai dari file / etc / hostname digunakan. - Yashvit
Catatan: karena Anda tidak dapat memulai, sulit untuk mengedit file-file tersebut. Solusi saya adalah saya entah bagaimana bisa sudo visudo dan berubah #%admin ALL=(ALL) ALL untuk %admin ALL=NOPASSWD: ALL , kemudian reboot, dan sudo su -, edit file-file itu, atur / perbaiki nama host, reboot lagi, dan semuanya bekerja. - Ian M
Saya menggunakan Linux Subsystem di Windows dan saya menghadapi masalah ini. Setelah mengikuti jawaban Anda, Ini telah diselesaikan. - amarVashishth
Anda mungkin juga perlu menambahkan ::1 localhost untuk /etc/hosts (ini adalah versi IPv6 127.0.0.1, alias alamat loopback) - Woodrow Barlow
Mengapa contoh Anda ada 127.0.0.1 localhost tapi 127.0.1.1 my-machine? - Adam


Edit  /etc/hosts dan tambahkan nama host baru Anda ke garis 127.0.0.1 (atau buat baris baru jika Anda menginginkannya).

Tambang seperti:

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

Menggantikan penguin dalam contoh di atas dengan nama host baru Anda sebagaimana dinyatakan dalam /etc/hostname mengajukan.


170
2018-04-07 13:39



Bagaimana dia bisa mengedit file / etc / hosts jika dia tidak bisa sudo? Kecuali dia membuat akun rood dengan kata sandi (ide yang buruk) - Dennis
@Dennis Anda masih bisa mengeksekusi sudo bahkan jika pesan itu ditampilkan. IIRC Anda masih harus memasukkan kata sandi Anda pada setiap permintaan. Jika ini tidak berhasil, Anda dapat reboot ke konsol pemulihan dan menerapkan perubahan. Akun root dengan kata sandi tidak disarankan. - Lekensteyn


Tambahkan nama host Anda ke /etc/hosts seperti ini:

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

43
2017-09-15 16:03



Ini adalah jawaban brilian yang tidak mendapat cukup kredit - Edziu Eames
Bagus sekali! Setuju itu tidak mendapatkan cukup cinta rep. :-) - Peter K.
Ini pintar, tapi saya tidak berpikir itu cenderung menjadi ide yang baik untuk mengotomatisasi sesuatu seperti ini. - mwfearnley


Catatan, ini adalah jawaban untuk pertanyaan ini yang telah digabungkan dengan yang satu ini.

Nama host Anda (dave00-G31M-ES2L) tidak diwakili dalam /etc/hosts. Tambahkan sebuah L ke baris ini:

127.0.1.1   dave00-G31M-ES2

Jadi itu menjadi:

127.0.1.1   dave00-G31M-ES2L

Untuk mencapai ini, buka konsol (tekan Ctrl+Alt+T) dan ketik:

sudo gedit /etc/hosts

Tambahkan surat itu L seperti yang disebutkan, simpan dan keluar.


30
2017-08-18 11:02



Ingat! Menggunakan sudoedit (atau sudo -e). Untuk menentukan editor pilihan, gunakan EDITOR variabel lingkungan (misalnya export EDITOR=vim) karena membuat salinan offline untuk diedit dan kemudian secara bersih menimpa setelah pengeditan. - Jan
Dan ada satu lagi di sini yang menyarankan sudo ketika tidak ada lagi sudo. sudo tidak berfungsi, pak. sudo: unable to resolve host ... - Green
@Green: Tidak sudo? Pesan kesalahan yang Anda sebutkan berasal dari sudo perintah. Mungkin maksudmu sesuatu yang berbeda? - Thor
@Hijau sudo bekerja dengan baik. Itu tidak bisa menyimpan negara (seperti yang Lekensteyn katakan di tempat lain Anda harus memasukkan kata sandi Anda setiap kali). - Wlerin
Jika Anda memiliki masalah ini di W10's Bash dan datang ke pertanyaan ini dari google, inilah jawaban yang berhasil untuk saya. Saya mengubah 127.0.0.1 menjadi seperti "127.0.0.1 localhost DESKTOP-SLQK4CV" (dengan melakukan "sudo vim / etc / hosts" (tip cepat untuk pemula vim: tekan i sebelum mengetik untuk beralih ke mode insert, tekan esc untuk keluar itu, tulis ": wq" untuk menyimpan dan keluar atau ": q!" untuk keluar tanpa menyimpan), dalam kasus saya sudo bekerja tetapi hanya mengatakan bahwa itu tidak dapat terhubung ke DESKTOP-SLQK4CV) dan itu mulai bekerja untuk saya. - Ave


Saya memiliki masalah ini ketika saya menggunakan ubuntu pada VPS. Saya memecahkannya mengedit / etc / hosts file.

jalankan perintah ini:

sudo nano /etc/hosts

lalu tambahkan:

127.0.0.1   localhost.localdomain localhost
127.0.1.1   ubuntu

Saya harap itu akan menyelesaikan masalah Anda :)

PS: Ingatlah untuk me-reboot komputer Anda!


16
2018-04-01 01:18



Juga, lihat apakah nama perangkat Anda (tercetak pada baris judul Terminal setelah tanda @) cocok dengan nama pada baris kedua hosts file ("ubuntu" dalam contoh Luca). Baris pertama mungkin juga hanya "localhost". - Waldir Leoncio
Ingat! Menggunakan sudoedit (atau sudo -e). Untuk menentukan editor pilihan, gunakan EDITOR variabel lingkungan (misalnya export EDITOR=vim) karena membuat salinan offline untuk diedit dan kemudian secara bersih menimpa setelah pengeditan. - Jan


Saya mengalami masalah yang sama meskipun nama host di file / etc / hostname dan / etc / hosts file saya cocok.

Nama host saya adalah "staging_1". Ternyata Anda tidak dapat memiliki garis bawah di nama host Anda, itulah mengapa saya mendapatkan kesalahan ini. Mengubah garis bawah menjadi tanda hubung memperbaiki masalah saya.


10
2017-08-13 13:50





Di AWS, buka vpc Anda dan aktifkan "Nama Inang DNS".


9
2018-01-15 05:15



Selamat datang di askubuntu! Bisakah Anda memperluas sedikit tentang ini? Tidak jelas apa yang Anda maksud (setidaknya untuk saya) .. - Elder Geek
Ini mungkin tidak relevan dengan pertanyaan itu, tetapi itu sangat membantu saya. Terima kasih! - clayzermk1
Ini adalah jawaban yang membantu saya. Amazon AWS berubah sejak terakhir kali saya melihatnya. VPC memiliki opsi DNS, dan mereka harus dinyalakan sebelum resolusi DNS bekerja. - Chris Moore
opsi Enable DNS Hostnames dapat ditemukan (misalnya) di menu klik kanan entri vpc - Matteo Scotuzzi
Tidak ada DNS Hostnames - Green


Saya menemukan pesan kesalahan yang sama ini. Saya pikir diskusi ini di Forum Pengembang AWS adalah solusi yang lebih baik:

"Masuk ke konsol manajemen VPC, pilih VPC, klik pada Tindakan, pilih Edit Nama Inang DNS dan pilih Ya."

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


5
2018-02-13 11:44





Beberapa emulator terminal tidak akan memperbarui prompt dengan nama host yang benar sampai Anda menutup dan me-restart emulator (lxterminal, saya berbicara kepada Anda).

Saya menghabiskan 30 menit berkelahi dengan kesalahan ini setelah mengedit nama host dan tuan rumah file dan berjalan sudo service hostname restart sampai aku berlari sudo hostname dan melihat bahwa nama host adalah nilai baru, meskipun prompt menunjukkan nilai lama.


5
2018-06-19 16:29



Masalahnya bukan emulator terminal, itu adalah cangkang yang telah tembolok nilainya. - Mark Stosberg