Bagaimana cara mendapatkan nama host dari / etc / hostname & nama domain DNS?

Jawaban:

17

Saat Anda mengetik

hostname

itu akan menunjukkan kepada Anda nilai yang disimpan di

/etc/hostname

Lihat hostname --helpbanyak opsi. Dari bantuan ...

-s, --short            short host name
-a, --alias            alias names
-i, --ip-address       addresses for the host name
-I, --all-ip-addresses all addresses for the host
-f, --fqdn, --long     long host name (FQDN)
-A, --all-fqdns        all long host names (FQDNs)
-d, --domain           DNS domain name
-y, --yp, --nis        NIS/YP domain name
-b, --boot             set default hostname if none available
-F, --file             read host name or NIS domain name from given file

Perintah ini bisa mendapatkan atau mengatur nama host atau nama domain NIS. Anda juga bisa mendapatkan domain DNS atau FQDN (nama domain yang sepenuhnya memenuhi syarat). Kecuali Anda menggunakan bind atau NIS untuk pencarian host, Anda dapat mengubah FQDN (Fully Qualified Domain Name) dan nama domain DNS (yang merupakan bagian dari FQDN) di file / etc / hosts.


Begitu

hostname -f

untuk nama host panjang (FQDN).

Rinzwind
sumber
Saya mendapatkan: "nama host: Nama atau layanan tidak dikenal"
dada dudu
Anda punya sesuatu /etc/hostname? Yang kita di sini biasanya diedit untuk apache. contoh topik: askubuntu.com/a/218499/15811
Rinzwind
Telah mencoba untuk cat / etc / hosts saya mendapatkan localhost yang seharusnya tidak saya lakukan ketika saya menjalankannya pada VM
dada dudu
1
@dadadudu localhosthanyalah nama panggilan untuk "diriku" di jaringan. Semua komputer (termasuk VM) dapat terhubung ke diri mereka sendiri menggunakan localhostalamat.
Melebius
@dadadudu, VM yang saya miliki di sini memiliki nama sendiri (disebut "test1").
Rinzwind
0

Anggap Anda menginginkan alamat IPv4 (LAN) lokal Anda ....

Untuk menghindari server Anda mengembalikan string panjang yang menggabungkan alamat IPv4 dan IPv6 Anda, gunakan program ini dalam skrip bash:

LOCALIP=$(hostname -I | awk '{print $1}')

Atau ketik ini di CLI:

hostname -I | awk '{print $1}'
MrPotatoHead
sumber
Ini hanya berfungsi dengan baik jika tuan rumah hanya memiliki satu alamat IPv4. Host IPv6 biasanya memiliki beberapa alamat IPv6 (satu permanen dan satu atau lebih sementara).
David Foerster
Baik. Itulah sebabnya baris pertama dari saran saya adalah, "Anggap Anda menginginkan alamat IPv4 (LAN) lokal Anda ...." Namun, maksud Anda, 'hostname' tidak selalu merupakan alat terbaik untuk info IP. Tergantung pada tujuannya. OP tidak merinci dalam pertanyaannya tentang apa yang mereka inginkan (mungkin FQDN, tetapi itu adalah spekulasi dari saya).
MrPotatoHead