Primeiro, a maneira de resolver nomes é configurada normalmente em /etc/nsswitch.conf. Você terá uma linha como:
hosts: files dns
Isso significa que ele primeiro lerá o arquivo / etc / hosts e, se não resolver, perguntará ao DNS.
Agora, conforme indicado em man hostname
, o nome de uma máquina é configurado no sistema e consultado com a chamada de sistema gethostname()
. Isso é o mesmo com uname
, que dá nome do kernel sem argumento e nome do nó com uname -n
, que provavelmente obtém suas informações de gethostname()
também.
Portanto, a resposta a este comando não tem nada a ver com o DNS nem com o / etc / hosts, diferente do configurado no momento da inicialização pelo kernel, mas isso depende do sabor da distribuição / UNIX que você está usando. .