Come ottenere il nome host da / etc / hostname e nome dominio DNS?


Risposte:


17

Quando si digita

hostname

ti mostrerà il valore in cui è archiviato

/etc/hostname

Vedi hostname --helpper molte opzioni. Dall'aiuto ...

-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

Questo comando può ottenere o impostare il nome host o il nome dominio NIS. È inoltre possibile ottenere il dominio DNS o il nome di dominio completo (nome di dominio completo). A meno che non si utilizzi bind o NIS per le ricerche host, è possibile modificare il nome di dominio completo (nome di dominio completo) e il nome di dominio DNS (che fa parte del nome di dominio completo) nel file / etc / hosts.


Così

hostname -f

per il nome host lungo (FQDN).


Ottengo: "nomehost: nome o servizio non noto"
dada dudu,

Hai qualcosa dentro /etc/hostname? Quello che qui in genere viene modificato per apache. argomento di esempio: askubuntu.com/a/218499/15811
Rinzwind

Ho provato a cat / etc / hosts ottengo un localhost che non dovrei mentre lo eseguo su una VM
dada dudu

1
@dadadudu localhostè solo un soprannome di "me stesso" su una rete. Tutti i computer (inclusi quelli di macchine virtuali) possono connettersi a se stessi utilizzando l' localhostindirizzo.
Melebio

@dadadudu la VM che ho qui ha il suo nome (si chiama "test1").
Rinzwind,

0

Presumendo che si desidera l'indirizzo IPv4 locale (LAN) ....

Per evitare che il tuo server restituisca una lunga stringa che combina i tuoi indirizzi IPv4 e IPv6, usa questo a livello di codice in uno script bash:

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

Oppure digita questo nella CLI:

hostname -I | awk '{print $1}'

Funziona bene solo se l'host ha un solo indirizzo IPv4. Gli host IPv6 in genere hanno più indirizzi IPv6 (uno permanente e uno o più temporanei).
David Foerster,

Giusto. Ecco perché la prima riga del mio suggerimento è "Presumendo che tu voglia il tuo indirizzo IPv4 locale (LAN) ...." Ma a tuo punto, "nomehost" non è sempre lo strumento migliore per le informazioni IP. Dipende dall'obiettivo. L'OP non era dettagliato nella sua domanda su ciò che volevano (presumibilmente il nome di dominio completo, ma questa è la mia speculazione).
MrPotatoHead
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.