En sistemas Debian con systemd se debe cambiar el nombre de host empleando el utilitario hostnamectl
en lugar de editar directamente el archivo /etc/hostname
como se hacía anteriormente con SysVInit.
Cuando se ejecuta sin parámetros, este utilitario muestra el nombre de host del sistema junto con información adicional como el ID de máquina, sistema operativo, kernel, arquitectura y más:
root@ip-10-0-0-151:~# hostnamectl Static hostname: ip-10-0-0-151 Icon name: computer-vm Chassis: vm Machine ID: abc123 Boot ID: def456 Virtualization: xen Operating System: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-12-cloud-amd64 Architecture: x86-64
En ese ejemplo, luego de crear una nueva instancia EC2 en AWS a partir de una AMI Debian, se observa que el nombre de host del sistema es “ip-10-0-0-151”. Se arma con la dirección IP privada cambiando puntos por guiones y anteponiendo el prefijo “ip-“.
Uno de los primeros pasos luego de crear una nueva instancia consiste en cambiar el nombre de host.
Para cambiar el nombre de host del sistema con hostnamectl
se debe emplear el subcomando “set-hostname” con el nombre de host como parámetro:
root@ip-10-0-0-151:~# hostnamectl set-hostname www-dev.linuxito.com
Luego verificar:
root@ip-10-0-0-151:~# hostnamectl Static hostname: www-dev.linuxito.com Icon name: computer-vm Chassis: vm Machine ID: abc123 Boot ID: def456 Virtualization: xen Operating System: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-12-cloud-amd64 Architecture: x86-64
Este comando actualiza automáticamente el contenido del archivo /etc/hostname
:
root@ip-10-0-0-151:~# cat /etc/hostname www-dev.linuxito.com
De esta forma, en la siguiente sesión SSH se verá el nombre de host “www-dev” en el prompt de Bash en lugar del actual sin necesidad de reiniciar el sistema.