Cambié mi nombre de host editando / etc / hostname y puedo ver el nuevo nombre de host usando los comandos hostname
y hostname -F
.
Pero el indicador de shell aún muestra el antiguo nombre de host.
Esto es Ubuntu 11.0.4 por cierto. El indicador se establece en mi .bashrc
que no he editado. Cerrar sesión e incluso reiniciar no tiene ningún efecto.
Sección relevante del Ubuntu estándar .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 no está configurado cuando inicio sesión ...)
Supongo que el nombre de host lo recoge el carácter especial \ h.
Aquí está la configuración de PS1 como se informa en el shell:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Y esto es lo que muestra PS1:
username@oldhostname:~$
Repetí el proceso usando el comando exacto en la respuesta de Warren. Resulta que el nombre de host funciona hasta que se reinicia, pero luego se pierde, aunque /etc/hostname
contiene el nuevo nombre de host.
echo $PS1
muestra?Respuestas:
Estoy respondiendo mi propia pregunta, a la luz de las respuestas anteriores de Keith y Warren, y la resolución real. El problema percibido fue "Cambié mi nombre de host, ¿por qué no se modificó mi mensaje bash PS1? El problema real era "¿Por qué mi sistema volvió a su antiguo nombre de host al reiniciar?"
La respuesta en este caso particular fue: DHCP está configurado para anular la configuración local.
Una forma efectiva de cambiar el nombre de host
Lo siguiente es aplicable a Ubuntu, ymmv .
Cambie el nombre de host persistente editando el archivo
/etc/hostname
.Para cambiar el nombre de host para el sistema en ejecución, use el comando hostname . Sin el Paso 1, esto se restablecería al reiniciar. Tiene sentido usar el valor que acaba de establecer:
o su equivalente:
Establezca el nombre de dominio completo (FQDN) en
/etc/hosts
.Extracto:
Compruebe si la máquina está ejecutando un cliente DHCP. Además de la dirección IP, un servidor DHCP puede anular configuraciones como el nombre de host y la resolución DNS. Un servicio de alojamiento "en la nube" puede hacer esto para que la imagen de una máquina en el disco se pueda reutilizar varias veces sin editar archivos de configuración.
Si existe, edite el archivo de configuración del cliente DHCP
/etc/default/dhcpcd
para comentar laSET_HOSTNAME
directiva:Cuando sea posible, reinicie el sistema y verifique que el nombre haya cambiado con:
El paso 4 fue nuevo para mí y me sorprendió. Pensé que sería útil documentar todo el proceso en esta respuesta. Ese paso es cortesía de (Linode) las instrucciones de mi servicio de alojamiento que realmente debería haber leído correctamente.
fuente
El archivo
/etc/hostname
contiene la copia persistente del nombre de host y se usa durante el arranque para configurar la copia en tiempo de ejecución. Para cambiar la copia en tiempo de ejecución sin reiniciar, diga:O simplemente pase el nuevo nombre de host como parámetro al
hostname(1)
comando.fuente
Veo que tiene
/h
en suPS1
y luego menciono FQDN, ahora, ¿podría publicar su antiguo y nuevo nombre de host que está tratando de usar?/h
muestra el nombre de host hasta el primer '.'/H
muestra el FQDN completodarle una oportunidad
fuente
Capitaliza el
h
en tuPS1
:fuente