El comando hostnamectl proporciona una API adecuada que se utiliza para controlar el nombre de host del sistema Linux y cambiar su configuración relacionada. El comando también ayuda a cambiar el nombre de host sin tener que localizar y editar el archivo /etc/hostname en un sistema determinado.
Sintaxis:
hostnamectl [OPTIONS...] COMMAND ....
Donde COMMAND puede ser cualquiera de los siguientes:
- estado : se utiliza para comprobar la configuración actual del nombre de host.
- set-hostname NOMBRE : Se utiliza para establecer el nombre de host del sistema.
- set-icon-name NOMBRE : Se utiliza para establecer el nombre del icono para el host.
- set-chasis NOMBRE : establece el tipo de chasis para el host.
Tipos de nombre de host:
- Estático : asignado por el administrador del sistema y se utiliza para inicializar el nombre de host del kernel durante el arranque.
- Dinámico o transitorio : asignado por el servidor mDNS o el servidor DHCP durante el tiempo de ejecución.
- Bonito : es un nombre de host de alto nivel asignado por el administrador del sistema o el usuario final.
Ejemplo 1: ejecutar el comando hostnamectl para verificar los nombres de host actuales. Podemos ejecutar hostnamectl o hostnamectl status , el resultado será el mismo ya que la opción de estado se asume automáticamente si no se proporciona ninguna opción.
Ejemplo 2: Para cambiar el nombre de host estático a geeksforgeeks . Puede requerir permiso de root.
hostnamectl set-hostname geeksforgeeks --static
Ahora, verifiquemos los nombres de host cambiados usando el comando hostnamectl .
Como puede ver, el nombre de host estático se ha actualizado a geeksforgeeks .
Opciones:
- -h , –help : Muestra el texto de ayuda y sale.
- –version : muestra la versión del paquete y sale.
- –transient : esta opción se usa cuando queremos establecer solo un nombre de host transitorio.
Ejemplo: para establecer el nombre transitorio en ubuntu .
Ahora, verifiquemos el nombre transitorio usando hostnamectl.
- –static : esta opción se usa cuando solo queremos establecer un nombre de host estático.
Ahora, verifiquemos el cambio usando hostnamectl .
- –pretty : esta opción se usa cuando solo queremos establecer un nombre de host bonito. El nombre que se va a establecer debe estar entre comillas dobles (» «).
Verificando el cambio usando el siguiente comando:
hostnamectl --pretty status
- –no-ask-password : esta opción no solicita la contraseña para la autenticación en ninguna operación privilegiada.
- -H –host=[USUARIO@]HOST : Esta opción se utiliza para cambiar los nombres de host de forma remota. Puede necesitar privilegios de root durante la ejecución.
hostnamectl set-hostname -H [username]@HostName
Aquí, HostName es el host remoto que queremos configurar.
Ejemplo: para configurar server3 como nombre de host en un servidor remoto llamado 172.102.2.24, podemos usar el siguiente comando:
hostnamectl set-hostname server3 -H root@172.102.2.24