Nos poucos anos em que uso o Linux como meu sistema principal, especificamente o Fedora, sempre vi meu nome de host definido como "localhost", com exceção de quando me conecto a algumas redes e ele se torna meu IP. Hoje, experimentei o seguinte comportamento, que estou tendo problemas para entender.
Eu configurei uma instalação do Ubuntu em outra partição do meu laptop, definindo um nome de computador / nome de host durante a instalação do Ubuntu. Quando eu reiniciei o Fedora, o Fedora havia atualizado meu nome de host para o nome que eu defini na instalação do Ubuntu.
Eu sempre pensei que o nome do host estava configurado e armazenado na partição da instalação da distribuição, e de fato o conteúdo do / etc / hostname no Fedora ainda lia "localhost.localdomain", mas executar o hostname
comando mostra o novo nome do host. Ambas as instalações compartilham uma partição efi boot, mas são discretas. Gostaria de saber de onde e por que a instalação do Fedora está lendo o novo nome de host?
hosts:
no /etc/nsswitch.conf?hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Respostas:
O
hostname
programa executa um syscall uname, como pode ser visto na execução:Na página do manual uname syscall , ele diz que o syscall recupera a seguinte estrutura do kernel:
Portanto, o nome do domínio vem do sistema NIS / YP, se acreditarmos no comentário. Portanto, mais do que provável, pode haver um serviço NIS / YP em sua rede que trote de volta o nome definido para você pelo sistema operacional ubuntu.
fonte
hostname(1)
página de manual que explica como o nome do host é definido e retornado. Apesar da semelhança no nome, o nome de domínio NIS / YP não tem nada a ver com o nome de domínio FQDN / DNS que é retornado pelo resolvedor. Se você não configurou o NIS / YP, o nome de domínio do NIS / YP será desativado.Existem dois conceitos independentes (!) De um nome de host em um sistema Linux.
Existe o que o kernel considera o nome do host local (conforme tratado pelas chamadas do sistema gethostname / uname e sethostname) independente de qualquer conectividade de rede - essa mecânica ainda existiria se você construísse um kernel sem capacidade para rede TCP / IP.
Há um ou mais nomes de host que estão realmente conectados aos endereços TCP / IP (ou outra pilha de rede - nem todas as redes do mundo são IP!) Que o host possui e são tratados no espaço do usuário pelas funções da biblioteca do resolvedor (parte de libc), que determinará esse nome interpretando fontes (arquivo local / etc / hosts, DNS, NIS ....) de acordo com as regras que você fornece nos arquivos de configuração apropriados (/etc/nsswitch.conf, / etc /host.conf etc ...).
fonte
Provavelmente o Ubuntu conectado à Internet através do seu roteador doméstico durante a instalação. Para isso, relatou seu nome de host ao roteador e obteve um IP local temporário.
Quando você agora reinicia o Fedora, ele se conecta ao mesmo roteador para obter seu endereço IP, mas a concessão antiga criada para o Ubuntu ainda é válida. Como é a mesma máquina com a mesma placa de rede e o mesmo endereço MAC de hardware, a mesma concessão será reutilizada.
Meu palpite é que o roteador envia o nome do host no qual a concessão de IP foi registrada e o Fedora escolhe isso.
Infelizmente não tenho evidências ou citação para apoiar minha resposta, posso apenas falar com a experiência pessoal de instalar o Ubuntu em inicialização dupla com o Windows. Naquela época, o Ubuntu se recusava a definir o mesmo nome de host durante a instalação que eu usei no Windows, porque alegava que o nome já estava presente na rede. Provavelmente temos algo semelhante acontecendo aqui.
Para verificar se o que eu acho que também se aplica à sua situação, tente revogar sua concessão de IP na interface de configuração do seu roteador e reinicie o Fedora. Se ele não for mais o nome de host do Ubuntu, eu devo estar certo.
fonte