Saya menggunakan Ubuntu 10.04 LTS, dan ketika saya ketik perintah hostname --fqdn
, saya mendapatkan pesan: hostname: Name or service not known
.
Karena itu, saya tidak dapat menginstal dengan global
sukses, dan mendapatkan kesalahan berikut ketika saya mencoba:
Setting up global (5.7.1-1) ...
hostname: Name or service not known
dpkg: error processing global (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
global
E: Sub-process /usr/bin/dpkg returned an error code (1)
Saya di /etc/nsswitch.conf
bawah.
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Adakah yang punya ide tentang apa artinya ini dan bagaimana saya bisa memperbaikinya?
linux
ubuntu
networking
hostname
RadiantHex
sumber
sumber
Jawaban:
Bisakah Anda memberikan konten
/etc/nsswitch.conf
?Sepertinya /etc/nsswitch.conf memiliki nilai buruk untuk baris "hosts". Apakah ini dimulai dengan "file"?
Kalau tidak, FQDN diatur dengan mengedit / etc / hosts dan meletakkan FQDN pada baris tempat nama host muncul. Misalkan Anda memiliki nama host "foo", dan Anda menemukan sebuah baris:
Anda akan mengeditnya seperti ini:
foo.localdomain
akan menjadi FQDN baru Anda.sumber
edit / etc / hosts untuk menambahkan FQDN Anda
Informasi tentang sintaksis terletak di sini: http://www.faqs.org/docs/securing/chap9sec95.html
perbarui: membaca kembali pertanyaan Anda hampir kedengarannya seperti Anda tidak mengatur jalurnya dengan benar, atau ada yang salah dengan program hostname.
lakukan 'nama host mana'
harus kembali dengan path '/ bin / hostname'
jika itu berhasil coba perintah lagi seperti,
'/ bin / hostname --fqdn'
sumber
Tidak seperti
hostname
doa perintah sederhana , doahostname --fqdn
akan mencoba melakukan beberapa hal lagi, yang sering kali menghasilkan beberapa pencarian DNS.Ambil contoh doa (berhasil) berikut ini (ini dari kotak Red Hat, tapi saya kira itu harus sama untuk Ubuntu):
Perhatikan opsi yang sangat membantu
--verbose
.Singkatnya, apa pun selain yang sederhana
hostname
mungkin melakukan lebih dari yang Anda harapkan. Ini contoh lain:Dan untuk mengatasinya:
Perhatikan bahwa nama host suatu sistem (seperti yang dikembalikan oleh gethostname) dapat saya nama host yang tidak memenuhi syarat, seperti hanya 'myserver'. Inilah sebabnya mengapa program yang ingin Anda instal menggunakan program tersebut
hostname --fqdn
.Pesan kesalahan
hostname: Name or service not known
berasal dari fungsi resolver : ini adalah bagian dari perpustakaan sistem yang menerjemahkan antara nama dan alamat (biasanya nama DNS dan alamat IP).Sebenarnya, resolver melakukan lebih dari sekedar DNS (dan lebih dari sekadar menerjemahkan antara nama host dan alamat IP); perilakunya dikonfigurasikan sebagian oleh file
/etc/nsswitch.conf
, dan biasanya akan berkonsultasi dengan yang berikut, biasanya dalam urutan ini:(catatan, Anda juga dapat memiliki server DNS caching seperti dnsmasqd --- untuk poin di atas, itu masih di bawah mekanisme 'dns').
Perlu ditunjukkan bahwa alat-alat seperti menggali , host dan nslookup terhormat tidak mengikuti urutan ini; mereka secara eksplisit adalah alat query DNS. Ini berarti bahwa jika Anda mengandalkan mereka (dalam skrip misalnya) Anda mungkin mendapatkan hasil yang berbeda dari program klien biasa (yang menggunakan penyelesai sistem). Untuk alasan ini, gunakan program getent dalam skrip, terutama jika Anda memiliki komponen caching seperti nscd running.
Jadi kunci takeaway di sini adalah a) jika Anda memiliki / etc / hosts dikonfigurasikan dengan baik dengan entri untuk mesin Anda sendiri, dan b) /etc/nsswitch.conf Anda memiliki konfigurasi yang biasa -
hosts: files dns
dalam urutan itu, maka c) bahkan jika Anda tidak memiliki DNS yang dikonfigurasi dengan baik di lingkungan Anda, maka ituhostname --fqdn
akan berfungsi.Dalam DNS yang dikonfigurasi dengan baik, Anda akan diharapkan memiliki satu alamat 'mundur' ("catatan PTR") yang memberikan nama 'kanonik' dari server Anda, dan nama itu juga harus dapat dilihat (" Catatan "untuk IPv4).
Versi singkat: tambahkan
--verbose
; itu akan mengarahkan Anda ke apa yang kurang dari Anda.Harapan itu membantu Anda memahami apa yang sedang terjadi.
sumber