Rocky Linux / Cambiar el nombre de host con hostnamectl y verificarlo

Para cambiar el nombre del host en Rocky Linux, puede ejecutar sudo hostnamectl set-hostname NUEVO_NOMBRE. Por ejemplo, después de cambiar el nombre del servidor a web01.example.com, puede verificarlo con hostnamectl. Cambiar el nombre del host y la configuración de resolución de nombres de DNS y /etc/hosts son acciones separadas, por lo que si necesita conectarse con el nuevo nombre, también debe verificar la asignación de direcciones.

Verificar el nombre del host actual

Antes de cambiar, verificar y registrar el nombre actual puede ayudar cuando los ajustes o servicios existentes buscan el nombre anterior.

hostnamectl
hostname
cat /etc/hostname

hostnamectl muestra los nombres de host estático (static) y temporal (transient), así como información del sistema. /etc/hostname almacena el nombre de host estático, que se mantiene incluso después de reiniciar. La documentación de Rocky Linux recomienda usar hostnamectl en lugar de editar este archivo directamente. Puede consultar la guía de administración de Rocky Linux sobre nombres de host.

Cambiar el nombre del host con hostnamectl

En el siguiente comando, web01.example.com es un ejemplo. Reemplácelo con el nombre que desea usar en su entorno real. Se requieren privilegios de administrador.

sudo hostnamectl set-hostname web01.example.com

Si no se especifica una opción de tipo en set-hostname, se establecerá también un nombre de host estático, entre otros. Si solo desea especificar un nombre de host estático, puede usar --static, pero el cambio de nombre general se puede realizar con el comando anterior. Las diferencias entre nombres de host estáticos, temporales y de visualización (pretty) están resumidas en la explicación de hostnamectl de Red Hat.

También se puede usar el nombre corto web01. Sin embargo, si opera o identifica el servidor mediante un nombre de dominio, puede usar un nombre de dominio completo (FQDN, Fully Qualified Domain Name) que incluya el nombre del host y el dominio, como web01.example.com. Independientemente del formato que use, asegúrese de no duplicar nombres con servidores existentes y verifique el nombre esperado por los servicios relacionados.

Verificar el resultado del cambio

Una vez que finaliza el comando, verifique el nombre actual y el nombre almacenado por separado.

hostnamectl
hostname
cat /etc/hostname

Para ver solo el nombre de host estático de manera sencilla, use el siguiente comando.

hostnamectl --static

Incluso si ve un nuevo nombre en hostnamectl y hostname justo después del cambio, el nombre anterior puede permanecer en el prompt del shell que ya estaba abierto. En este caso, abra una nueva sesión de inicio de sesión para verificar. Los servicios en ejecución que solo leen el nombre del host al iniciarse deben reiniciarse para reflejar el nuevo nombre. Reiniciar es una manera de aplicar el nuevo nombre a todos los servicios relacionados, pero no es necesario reiniciar primero obligatoriamente solo para verificar el resultado de un comando. En servidores en operación, considere el impacto en los servicios y el tiempo de mantenimiento.

Verificar si no se puede acceder con el nuevo nombre

Cambiar solo el nombre del host no ajusta automáticamente los registros DNS ni la asignación de direcciones de /etc/hosts al nuevo nombre. Si necesita acceder al servidor con el nuevo nombre o que un programa consulte el nuevo nombre, verifique los resultados de la resolución de nombres.

getent hosts web01.example.com

Si no hay resultados o la dirección es incorrecta, modifique el registro DNS correspondiente o la entrada de /etc/hosts utilizada en el entorno de operación real. Si existe una asignación de nombre antiguo y dirección IP en /etc/hosts, cámbiela al nuevo nombre si es necesario, pero no elimine arbitrariamente la entrada de localhost. example.com es un dominio de ejemplo para explicación, por lo que no se utiliza en la configuración operativa tal cual.

Problemas comunes

Si no se puede cambiar debido a errores de permisos

hostnamectl set-hostname requiere privilegios de administrador porque cambia la configuración del sistema. Si lo ejecutó como usuario normal, adjunte sudo y ejecútelo nuevamente, y verifique si la cuenta tiene privilegios de administrador.

Si vuelve al nombre anterior después de reiniciar

Primero, verifique si el nombre de host está guardado como estático con hostnamectl --static y cat /etc/hostname. Si los valores guardados siguen siendo diferentes de los valores reales, debe revisar la configuración del entorno para ver si las herramientas de inicialización en la nube, las herramientas de configuración automática o la configuración de red están renombrando. Antes de identificar la causa, es mejor no modificar los archivos repetidamente de manera manual.

Preguntas frecuentes

¿Es necesario reiniciar después de cambiar el nombre del host?

El nombre cambiado con hostnamectl se puede verificar inmediatamente. Sin embargo, el prompt de la sesión de inicio de sesión existente o los servicios que leyeron el nombre al iniciar pueden mantener el valor anterior, por lo que puede ser necesario volver a iniciar sesión o reiniciar esos servicios. Para que se refleje en todo el entorno, también se puede reiniciar durante el tiempo de mantenimiento.

¿Es necesario modificar tanto /etc/hostname como /etc/hosts?

Normalmente, /etc/hostname no se modifica directamente, se cambia el nombre mediante hostnamectl. /etc/hosts es un archivo que vincula el nombre y la dirección IP, por lo que solo se modifica de acuerdo con la configuración de red real cuando existe un mapeo del nombre anterior o se necesita resolución de nombre local.