Back to TILs

Como trocar o nome do servidor sem reiniciar

Date: 2017-10-22T11:21:50-02:00Last modified: 2023-02-17
Photo by Derek Oyen on Unsplash

Como um Administrador de Sistemas, as vezes, você precisa alterar o nome da máquina. Seja porque digitou o nome errado durante a instalação, ou se a política de nomes da empresa mudou ou se o nome já estava sendo utilizado por outra máquina.

Nota: O procedimento que veremos a seguir vale para as distribuições Linux derivadas do Debian, tais como Mint, Ubuntu, e outras 130 (segundo o distrowatch).

O arquivo de sistema que guarda o nome da máquina para ser usado a cada boot é o /etc/hostname, então basta trocar seu conteúdo que no próximo boot a máquina terá outro nome.

Uma opção bem simples de edição, já que o conteúdo deste arquivo é somente uma palavra, é enviar através do comando echo o novo nome para o arquivo /etc/hostname:

echo "novo-nome" > /etc/hostname

Para o próximo boot está tudo OK!

Se verificarmos a configuração a com o comando hostname veremos que ainda mostra o nome antigo. Mas a máquina já está rodando e não posso parar os serviços agora para fazer o reboot, então precisamos alterar o kernel em execução.

Sem pânico! Felizmente existe um modo muito simple editar variáveis do kernel. Ele expõe muitas de suas configurações através de um sistema de arquivos montado em /proc/sys/kernel. Vamos usar o mesmo comando echo para alterar o arquivo /proc/sys/kernel/hostname.

echo "novo-nome" > /proc/sys/kernel/hostname

Agora se lançarmos o comando hostname novamente veremos o novo nome e sem que seja preciso reiniciar a máquina.

Verifique se no arquivo /etc/hosts não existe nenhuma menção ao antigo nome, se existir atualize este arquivo. Para atualizar o /etc/hosts pela linha de comando faça o seguinte:

sed -i "s/antigo-nome/novo-nome/g" /etc/hosts

O sed é um editor de fluxo de texto que utiliza expressões regulares para editar textos de forma automatizada. Uma explicação muito breve sobre o comando acima: