Quero alterar o nome do host do sistema operacional, mas não quero reiniciar.
Eu tenho editado /etc/hostname
mas requer uma reinicialização para ser implementado. Como evitar isso?
Quero alterar o nome do host do sistema operacional, mas não quero reiniciar.
Eu tenho editado /etc/hostname
mas requer uma reinicialização para ser implementado. Como evitar isso?
É fácil. Basta clicar no ícone de engrenagem (localizado no canto superior direito da tela), abrir a tela "sobre este computador" (localizada no ícone de engrenagem ) e editar "nome do dispositivo".
Ou, em um terminal, use o seguinte comando:
sudo hostname your-new-name
Isso definirá o nome do host Como your-new-name até você reiniciar. Ver man hostname
e Como faço para alterar o nome do computador? para mais informações. Não use _
em seu nome.
Notar
Depois de reiniciar suas alterações em /etc/hostname
será usado, então (como você disse na pergunta), você ainda deve usar
sudo -H gedit /etc/hostname
(ou algum outro editor) para que o arquivo contenha o nome do host.
Para testar se o arquivo está configurado corretamente, execute:
sudo service hostname start
Você também deve editar /etc/hosts
e mude a linha que lê:
127.0.1.1 your-old-hostname
para que agora contenha seu novo nome de host. (Isso é necessário, caso contrário, muitos comandos deixarão de funcionar.)
O hostnamectl
o comando faz parte da instalação padrão nas edições Desktop e Server.
Ele combina a configuração do nome do host por meio do hostname
comando e edição /etc/hostname
. Além de definir o nome do host estático, ele pode definir o nome do host "bonito", que não é usado no Ubuntu. Infelizmente, a edição /etc/hosts
ainda tem que ser feito separadamente.
hostnamectl set-hostname new-hostname
Este comando faz parte do systemd-services
pacote (que, a partir do Ubuntu 14.04, também inclui o timedatectl
e localectl
comando). Como o Ubuntu migra para systemd
, esta ferramenta é o futuro.
Alterando o nome do host ou nome do computador no ubuntu sem reiniciar
Edite / etc / hostname e altere para o novo valor,
nano /etc/hostname
Edite / etc / hosts e altere a linha 127.0.1.1 antiga para seu novo nome de host
127.0.0.1 localhost127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Notar> : eu li em um fórum editar / etc / hosts e alterar a antiga linha 127.0.1.1 para o seu novo nome de host (se você não fizer isso, não poderá mais usar sudo. Se você já tiver feito isso, pressione ESC no menu grub, escolha recuperação e edite seu arquivo host para as configurações corretas)
Agora, após uma reinicialização, seu nome de host será o novo que você escolheu
Alterar sem uma reinicialização, você pode apenas usar hostname.sh depois de editar / etc / hostname.Você deve manter os dois nomes de host em /etc/hosts (127.0.0.1 newhost oldhost) até executar o comando abaixo:
sudo service hostname start
Notar : Comando acima para tornar a alteração ativa. O nome do host salvo neste arquivo (/etc / hostname) será preservado na reinicialização do sistema (e será definido usando o mesmo serviço).
O nome padrão foi definido quando você estava instalando o Ubuntu. Você pode facilmente alterá-lo para o que quiser em ambos Desktop & servidor editando os hosts e arquivos de nome de host. Abaixo está como:
sudo hostname NEW_NAME_HERE
Isso mudará o nome do host até a próxima reinicialização. A alteração não será visível imediatamente no seu terminal atual. Inicie um novo terminal para ver o novo nome do host.
Para alterar o nome permanentemente, execute o comando para editar os arquivos do host:
sudo -H gedit /etc/hostname
e sudo -H gedit /etc/hosts
Para o servidor Ubuntu sem uma GUI, execute sudo vi /etc/hostname
e sudo vi /etc/hosts
e editá-los um por one.In ambos os arquivos, altere o nome para o que você deseja e salve-os.
Finalmente, reinicie o computador para aplicar as alterações.
Embora as abordagens acima (hostnamectl
, etc/hostname
, etc) trabalho para mudança imediata de nome de host, com o advento de cloud-init - que pode controlar a configuração do nome do host-entre muitas outras coisas. Portanto, ele não grudará após uma reinicialização se o cloud-init estiver instalado. Se você quiser que a mudança permaneça após uma reinicialização, você precisará editar o arquivos de configuração do cloud-init, desative o cloud-init's conjunto de nomes de host / módulo de atualização:
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
ou desative totalmente o cloud-init:
sudo touch /etc/cloud/cloud-init.disabled
Aqui está um script que altera o nome do host da maneira prescrita. Ele garante que não só sudo
mas também os aplicativos X11 continuam a funcionar sem necessidade de reinicialização.
Uso: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bashNEW_HOSTNAME=$1echo $NEW_HOSTNAME > /proc/sys/kernel/hostnamesed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hostsecho $NEW_HOSTNAME > /etc/hostnameservice hostname startsu $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
Sem reiniciar:
/etc/hostname
/etc/hosts
adequadamentesudo sysctl kernel.hostname=mynew.local.host
Verifique seu nome de host atual com hostname -f
Para obter seu nome de host atual:
cat /etc/hostname
Isso pode ser alterado em qualquer editor de texto. Você também precisaria atualizar a entrada diferente de localhost em relação a 127.0.0.1 em / etc / hosts.
Solução baseada em resposta da Comunidade DigitalOcean.
Editar anfitriao arquivo.
$ sudo nano /etc/hosts
Substituir oldname com um novo.
127.0.0.1 localhost newname
Configure o novo nome do host.
$ sudo hostnamectl set-hostname newname
/etc/hostname
com o nome do host desejado (você pode editar com sudo nano /etc/hostname
)/etc/hosts
, substitua a entrada ao lado de 127.0.1.1 com o nome do host desejado (você pode editar com sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
Aviso: não funcionará com o Ubuntu 18+, que está executando o cloud-init por padrão, que controla o nome do host na inicialização.
@nslntmnx, obrigado!