En un sistema GNU/Linux, el hostname se utiliza para identificar un sistema a través de un nombre único, que puede ser utilizado a su vez para identificar al equipo en servicios de resolución de nombres de dominio como DNS ó NIS.
En Red Hat Enterprise Linux y CentOS hay varias formas de establecer esta valor, ya sea de forma persistente o temporal. Vamos a explicar las formas más sencillas y rápidas de hacerlo en RHEL 8 y derivados (CentOS 8, por ejemplo).
Antes de ver la forma de modificarlo, sabed que para ver el valor asignado en cada momento podéis ejecutar el comando hostname
ó hostnamectl
:
[root@localhost ~]# hostname localhost.localdomain
[root@localhost ~]# hostname localhost.localdomain [root@localhost ~]# hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 258450bd01004dacbbad7a28140890c1 Boot ID: cb749b5365a14216bab1772029a63062 Virtualization: oracle Operating System: Red Hat Enterprise Linux 8.0 (Ootpa) CPE OS Name: cpe:/o:redhat:enterprise_linux:8.0:GA Kernel: Linux 4.18.0-80.el8.x86_64 Architecture: x86-64
Como podéis observar, con el segundo método obtenemos mucha más información.
Configurar hostname en /etc/hostname
Este primer método es sin duda el más rudimentario, ya que requiere reinicio del sistema operativo para ser efectivo. Consiste simplemente en especificar el hostname en el archivo de configuración /etc/hostname
y reiniciar el sistema para aplicar los cambios:
[root@localhost ~]# cat /etc/hostname localhost.localdomain [root@localhost ~]# hostname localhost.localdomain [root@localhost ~]# cat /etc/hostname foo.localdomain [root@localhost ~]# reboot
Tras el reinicio, ya aparece aplicado el nuevo hostname:
[root@foo ~]# uptime 18:52:32 up 0 min, 1 user, load average: 0.79, 0.19, 0.06 [root@foo ~]# hostname foo.localdomain
Cambiar hostname utilizando nmtui (ncurses)
RHEL cuenta con una herramienta llamada Network Manager Text User Interface (NMTUI) basada en Ncurses que permite configurar de forma gráfica diferentes aspectos de la red, entre ellos, el hostname:
# nmtui
Una vez ejecutado el comando, simplemente se trata de acceder a la sección de configuración de hostname y especificarlo:
Después, basta con reiniciar la shell o abrir una nueva sesión para visualizar el nuevo hostname:
[root@foo ~]# bash [root@bar ~]# [root@bar ~]# hostnamectl Static hostname: bar.localdomain Icon name: computer-vm Chassis: vm Machine ID: 258450bd01004dacbbad7a28140890c1 Boot ID: 2fac2a8c7cdc4abc90f6e3026f1b378a Virtualization: oracle Operating System: Red Hat Enterprise Linux 8.0 (Ootpa) CPE OS Name: cpe:/o:redhat:enterprise_linux:8.0:GA Kernel: Linux 4.18.0-80.el8.x86_64 Architecture: x86-64
¿Qué pasaría si ahora modificáramos a mano el hostname en /etc/hostname
? Tendríamos como hostname estático lo especificado en el fichero y como temporal el que hemos configurado con nmtui:
[root@bar ~]# hostnamectl Static hostname: estatico.localdomain Transient hostname: bar.localdomain Icon name: computer-vm Chassis: vm Machine ID: 258450bd01004dacbbad7a28140890c1 Boot ID: 2fac2a8c7cdc4abc90f6e3026f1b378a Virtualization: oracle Operating System: Red Hat Enterprise Linux 8.0 (Ootpa) CPE OS Name: cpe:/o:redhat:enterprise_linux:8.0:GA Kernel: Linux 4.18.0-80.el8.x86_64 Architecture: x86-64
Si volviéramos a cambiarlo con nmtui, volvería a quedar como estático el ese valor, ya que al ejecutar nmtui, cambia el valor del archivo de configuración y también la configuración dinámica del sistema. Simplemente para que tengáis en cuenta que puede haber configuraciones temporales y estáticas funcionando a la vez.
Cambiar hostname con hostnamectl set-hostname
RHEL 8 etá basado en systemd, así que podemos utilizar el comando hostnamectl
para modificarlo sin necesidad de reinicio:
[root@bar ~]# hostnamectl set-hostname foobar.localdomain [root@bar ~]# hostnamectl Static hostname: foobar.localdomain Icon name: computer-vm Chassis: vm Machine ID: 258450bd01004dacbbad7a28140890c1 Boot ID: 2fac2a8c7cdc4abc90f6e3026f1b378a Virtualization: oracle Operating System: Red Hat Enterprise Linux 8.0 (Ootpa) CPE OS Name: cpe:/o:redhat:enterprise_linux:8.0:GA Kernel: Linux 4.18.0-80.el8.x86_64 Architecture: x86-64
Como podéis observar, hay varios métodos para llegar a la misma solución, algunos más engorrosos que otros (alguno ni lo he indicado en esta entrada). Simplemente utilizad el método más adecuado según vuestra metodología de trabajo.