Estou respondendo a minha própria pergunta, à luz das respostas anteriores de Keith e Warren, e da resolução real. O problema percebido foi "Eu mudei meu nome de host, por que meu prompt do bash PS1 está inalterado?" O problema real era "Por que meu sistema foi revertido para seu hostname antigo na reinicialização?"
A resposta neste caso em particular foi: O DHCP está configurado para substituir as configurações locais.
Uma maneira efetiva de alterar o nome do host
O seguinte é aplicável ao Ubuntu, ymmv .
-
Altere o nome do host persistente editando o arquivo
/etc/hostname
.echo 'mynewhostname' | sudo tee /etc/hostname
-
Para alterar o nome do host para o sistema em execução, use o comando nome do host . Sem a Etapa 1, isso seria redefinido na reinicialização. Faz sentido usar o valor que você acabou de definir:
sudo hostname -F /etc/hostname
ou seu equivalente:
sudo hostname 'cat /etc/hostname'
-
Defina o nome de domínio totalmente qualificado (FQDN) em
/etc/hosts
.Trecho:
127.0.0.1 mynewhostname.mydomainname.com mynewhostname
-
Verifique se a máquina está executando um cliente DHCP. Além do endereço IP, um servidor DHCP pode substituir configurações como hostname e resolução de DNS. Um serviço de hospedagem "em nuvem" pode fazer isso para que a imagem de uma máquina em disco possa ser reutilizada várias vezes sem editar os arquivos de configuração.
Se existir, edite o arquivo de configuração do cliente DHCP
/etc/default/dhcpcd
para comentar a diretivaSET_HOSTNAME
:#SET_HOSTNAME='yes'
-
Quando possível, reinicie o sistema e verifique se o nome foi alterado com:
hostname
O passo 4 foi novidade para mim e me pegou. Eu pensei que seria útil documentar todo o processo nesta resposta. Esse passo é cortesia de (Linode) instruções do meu serviço de hospedagem que eu realmente deveria ter lido corretamente.