Como obter o nome do host em / etc / hostname e nome de domínio DNS?

Respostas:

17

Quando você digita

hostname

mostrará o valor armazenado em

/etc/hostname

Veja hostname --helppara muitas opções. Da ajuda ...

-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

Este comando pode obter ou definir o nome do host ou o nome de domínio NIS. Você também pode obter o domínio DNS ou o FQDN (nome de domínio totalmente qualificado). A menos que esteja usando bind ou NIS para pesquisas de host, você pode alterar o FQDN (nome de domínio totalmente qualificado) e o nome de domínio DNS (que faz parte do FQDN) no arquivo / etc / hosts.


então

hostname -f

para o nome longo do host (FQDN).

Rinzwind
fonte
Eu recebo: "hostname: nome ou serviço desconhecido" #
dada dudu 13/10
Você tem alguma coisa /etc/hostname? Aquele que aqui tipicamente editamos para o apache. exemplo de tópico: askubuntu.com/a/218499/15811
Rinzwind 13/10
Tentaram cat / etc / hosts eu recebo um localhost que eu não deveria, como eu executá-lo em uma VM
dada dudu
11
@dadadudu localhosté apenas um apelido para "eu mesmo" em uma rede. Todos os computadores (incluindo VMs) podem se conectar usando o localhostendereço.
Melebius
@adadudu a VM que tenho aqui tem seu próprio nome (é chamado "test1").
Rinzwind
0

Presumindo que você queira o seu endereço IPv4 local (LAN) ....

Para evitar que seu servidor retorne uma cadeia longa que combine seus endereços IPv4 e IPv6, use isso programaticamente em um script bash:

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

Ou digite isso na CLI:

hostname -I | awk '{print $1}'
Sr Cabeça de Batata
fonte
Isso só funciona bem se o host tiver apenas um único endereço IPv4. Os hosts IPv6 geralmente têm vários endereços IPv6 (um permanente e um ou mais temporário).
David Foerster
Certo. É por isso que a primeira linha da minha sugestão é: "Presumindo que você queira o seu endereço IPv4 local (LAN) ...". Mas, a seu ponto, 'hostname' nem sempre é a melhor ferramenta para informações de IP. Depende do objetivo. O OP não foi detalhado em sua pergunta sobre o que eles queriam (presumivelmente o FQDN, mas isso é especulação da minha parte).
MrPotatoHead