Alterei meu nome de host editando / etc / hostname e posso ver o novo nome de host usando os comandos hostname
e hostname -F
.
Mas o prompt do shell ainda está mostrando o nome do host antigo.
A propósito, este é o Ubuntu 11.0.4. O prompt é definido no meu .bashrc
que eu não editei. Sair e até reiniciar não tem efeito.
Seção relevante do Ubuntu padrão .bashrc
:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
($ debian_chroot não está definido quando eu faço o login ...)
Eu acho que o nome do host é escolhido pelo caractere especial \ h.
Aqui está a configuração PS1, conforme relatado no shell:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
E aqui está o que o PS1 mostra:
username@oldhostname:~$
Repeti o processo usando o comando exato na resposta de Warren. Acontece que o nome do host funciona até a reinicialização, mas é perdido, mesmo que /etc/hostname
contenha o novo nome do host.
echo $PS1
mostra?Respostas:
Estou respondendo minha própria pergunta, à luz das respostas anteriores de Keith e Warren, e a resolução real. O problema percebido foi "Eu mudei meu nome de host, por que meu prompt do PS1 do bash não mudou?" O problema real era "Por que meu sistema voltou ao nome do host antigo na reinicialização?"
A resposta nesse caso específico foi: DHCP está configurado para substituir as configurações locais.
Uma maneira eficaz de alterar o nome do host
O seguinte é aplicável ao Ubuntu, ymmv .
Altere o nome do host persistente editando o arquivo
/etc/hostname
.Para alterar o nome do host para o sistema em execução, use o comando hostname . Sem a Etapa 1, isso seria redefinido na reinicialização. Faz sentido usar o valor que você acabou de definir:
ou equivalente:
Defina o nome de domínio totalmente qualificado (FQDN) em
/etc/hosts
.Excerto:
Verifique se a máquina está executando um cliente DHCP. Além do endereço IP, um servidor DHCP pode substituir configurações como nome de host e resolução de DNS. Um serviço de hospedagem em "nuvem" pode fazer isso para que a imagem de uma máquina no 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 aSET_HOSTNAME
diretiva:Quando possível, reinicie o sistema e verifique se o nome mudou com:
O passo 4 foi uma novidade para mim e me pegou de surpresa. Eu pensei que seria útil documentar todo o processo nesta resposta. Essa etapa é cortesia das instruções do meu serviço de hospedagem (Linode) , que eu realmente deveria ter lido corretamente.
fonte
O arquivo
/etc/hostname
contém a cópia persistente do nome do host e é usado durante a inicialização para definir a cópia em tempo de execução. Para alterar a cópia em tempo de execução sem reiniciar, diga:Ou apenas passe o novo nome do host como parâmetro para o
hostname(1)
comando.fonte
Vejo que você tem
/h
no seuPS1
e, em seguida, mencione o FQDN, agora, você poderia postar seu antigo e um novo nome de host que você está tentando usar?/h
mostra o nome do host até o primeiro '.'/H
mostra o FQDN completoDe uma chance
fonte
Capitalize o
h
seuPS1
:fonte