Nome do host Debian recusando-se a ficar

3

Estou usando o VirtualBox para testar e ter o mais recente Debian estável.

Quando tento definir o nome do host da máquina usando os dois:

hostname ayil

e editando /etc/hostname e executando /etc/init.d/hostname.sh start para garantir que ele seja ativado.

Sempre que eu executar hostname -f , ele retorna:

Unknown-08-00-27-47-ef-30.config

Em vez de ayil .

Não sei mais o que fazer, um ponto útil na direção certa seria muito apreciado.

    
por digital 30.08.2010 / 00:10

4 respostas

4

Grosso modo, hostname mostra o que seu computador acha que é chamado, enquanto hostname -f mostra o que o mundo acha que seu computador é chamado. A alteração de /etc/hostname afeta o que hostname exibe. Para alterar a exibição de hostname -f , você deve verificar sua configuração de rede, especificamente na sua configuração de DNS.

Veja um extrato relevante da página hostname(1) man:

You can't change the FQDN (as returned by hostname --fqdn) or the DNS domain name (as returned by dnsdomainname) with this command. The FQDN of the system is the name that the resolver(3) returns for the host name.

Technically: The FQDN is the name gethostbyname(2) returns for the host name returned by gethostname(2). The DNS domain name is the part after the first dot.

Therefore it depends on the configuration (usually in /etc/host.conf) how you can change it. Usually (if the hosts file is parsed before DNS or NIS) you can change it in /etc/hosts.

Dependendo do que você deseja usar $(hostname -f) , edite /etc/hosts ou configure o servidor DNS em execução em sua máquina host ou rede para saber sobre ayil . A edição de /etc/hosts é o caminho mais simples para ter hostname -f show ayil , mas se houver uma finalidade de executar hostname -f em oposição a hostname , é provável que você queira que as informações sejam consistentes com algumas informações armazenadas fora desta máquina.

    
por 30.08.2010 / 00:51
2

Suas alterações atuais não serão aplicadas até que você reinicialize o sistema, já que o próprio kernel tem nome de host e nome de domínio em mente. Para fazer as coisas corretamente eu aconselho a realizar estes passos simples (alguns deles que você já fez) no host example.domain.com :

  • Edite /etc/hostname para conter seu nome de host (sem nome de domínio) example
  • Edite /etc/hosts para corresponder ao seu novo nome de host. Caso contrário, você obterá erros para a pesquisa de host durante o sudo ou outras operações do sistema. Normalmente, é mapear seu nome de host para loopback. Lembre-se de colocar o FQDN primeiro e depois apenas o nome do host. Parte deste arquivo pode se parecer com:
127.0.0.1 example.domain.com example localhost.localdomain localhost

Esta etapa pode ser omitida se a pesquisa de DNS apontar para este servidor quando solicitar o example.domain.com record.

  • Atualize o nome do host do kernel e os registros de nome de domínio:
sudo sysctl -e kernel.hostname=example
sudo sysctl -e kernel.domainname=domain.com

Da próxima vez que você fizer login no seu prompt de shell, você verá o novo example.domain.com hostname.

    
por 31.08.2010 / 01:00
1

Você verificou se o DHCP não está configurando seu nome de host? Do 'ps aux | grep dhclient 'para ver se um cliente DHCP está sendo executado. Se estiver, você pode verificar novamente se o servidor DHCP está atribuindo o nome do host observando a concessão do DHCP em / var / lib / dhcp /. Encontre o arquivo de aluguel da sua interface (provavelmente dhclient.eth0.leases se você estiver usando eth0). cat o arquivo, e você pode achar que as opções dhcp host-name e domain-name estão definidas.

Por exemplo, meu nome de host no prompt é 'dhcpuser-82', com o nome de domínio completo sendo "dhcpuser82.dh.example.com". Meu arquivo /var/lib/dhcp/dhclient.eth0.leases tem esta aparência:

... blá blá
opção host-name "dhcpuser-82";
opção domain-name "dh.example.com";
... mais blá blá

Se sim, esta é a origem de suas frustrações. Pare de usar o dhcp e fique estático (o que, se você fizer isso, não se esqueça de emitir um kill para o dhclient em execução, já que a reinicialização da rede não o matará automaticamente, e você encontrará as coisas de volta como eram dia), ou consulte o google para saber como ignorar as opções DHCP do nome do host e do nome do domínio. BTW, não tente editar o arquivo de concessões para corrigir o problema. Ele só será sobrescrito da próxima vez que o dhcp atualizar o contrato, ou pior, ele não poderá renovar seu contrato e seu host perderá seu ip.

    
por 06.07.2011 / 00:20
0

Se o seu servidor estiver executando o cliente DHCP, ele poderá estar redefinindo seu nome de host toda vez que renovar sua concessão. Verifique /etc/default/dhcpcd e procure por estas linhas:

# Uncomment this to allow dhcpcd to set hostname of the host to the
# hostname option supplied by DHCP server.
SET_HOSTNAME='yes'

Você provavelmente deseja comentar a linha SET_HOSTNAME .

Outra coisa que você pode tentar é configurar o DNS reverso para o seu IP, se o host permitir isso.

    
por 28.10.2011 / 02:49