Comando hostname de Linux

Linux 命令大全Enciclopedia de comandos de Linux


Qué es hostname

hostname (nombre de host) es el nombre único que identifica a una computadora en la red. Así como cada persona tiene su propio nombre, cada computadora también necesita un nombre distintivo para ser reconocida en la red.

En los sistemas Linux, hostname se utiliza para:

  • Identificar la computadora local
  • Identificar dispositivos en la comunicación de red
  • Afectar el funcionamiento de ciertos servicios de red
  • Mostrarse en el prompt del terminal

El nombre de host generalmente se divide en tres tipos:

  1. Nombre de host estático: se almacena en archivos de configuración y permanece sin cambios después de reiniciar el sistema
  2. Nombre de host temporal: se configura temporalmente en tiempo de ejecución y se pierde al reiniciar
  3. Nombre de host bonito: un nombre descriptivo que puede contener caracteres especiales (por ejemplo, "My Laptop")

Sintaxis básica del comando hostname

El formato básico de uso del comando hostname es el siguiente:

hostname [选项] [新主机名]

Si se ejecuta sin ningún parámetro, directamentehostnameel comando mostrará el nombre de host del sistema actual:

Ejemplos

$ hostname
ubuntu-server

Descripción de opciones y parámetros comunes

El comando hostname admite varias opciones para ver y configurar diferentes tipos de nombres de host:

Opción Descripción
-a, --alias Muestra el alias del host (si está configurado)
-A, --all-fqdns Muestra el FQDN (nombre de dominio totalmente calificado) de todas las interfaces de red
-b, --boot Si no se ha configurado el nombre de host, se utiliza el nombre de host predeterminado
-d, --domain Muestra el dominio DNS
-f, --fqdn, --long Muestra el FQDN (nombre de dominio totalmente calificado)
-F, --file Lee el nombre de host desde el archivo especificado
-i, --ip-address Muestra la dirección IP del host
-I, --all-ip-addresses Muestra las direcciones IP de todas las interfaces de red
-s, --short Muestra el nombre de host corto (sin la parte del dominio)
-y, --yp, --nis Muestra el dominio NIS

Tres métodos para configurar el nombre de host

1. Configurar temporalmente el nombre de host (se pierde al reiniciar)

Ejemplo

sudo hostname new-hostname

Ejemplo:

Ejemplo

$ sudo hostname test-server
$ hostname
test-server

Nota: el nombre de host configurado con este método volverá al nombre de host original después de reiniciar el sistema.

2. Configurar permanentemente el nombre de host (modificando archivos de configuración)

En la mayoría de las distribuciones Linux modernas (que usan systemd), se puede modificar el nombre de host permanentemente de esta manera:

Ejemplo

sudo hostnamectl set-hostname new-hostname

Ejemplo:

Ejemplo

$ sudo hostnamectl set-hostname production-server

Este comando modificará simultáneamente:

  • /etc/hostnameEl archivo
  • El nombre de host estático del sistema

3. Editar manualmente los archivos de configuración

También puedes editar directamente el archivo de configuración del nombre de host:

  1. Edita/etc/hostnameel archivo:

    sudo nano /etc/hostname

    Elimina el contenido original y escribe solo el nuevo nombre de host

  2. Actualiza/etc/hostsel archivo, asegurándote de que haya una línea que asigne el nombre de host a 127.0.0.1:

    127.0.0.1   localhost new-hostname
    
  3. Aplica los cambios (sin necesidad de reiniciar):

    sudo systemctl restart systemd-hostnamed

Ver diferentes tipos de nombres de host

Ver el nombre de host estático

Ejemplo

hostnamectl --static
# o
cat /etc/hostname

Ver el nombre de host temporal

Ejemplo

hostname
# o
hostnamectl --transient

Ver el nombre de host bonito

Ejemplo

hostnamectl --pretty

Ver el FQDN (nombre de dominio totalmente calificado)

Ejemplo

hostname -f
# o
hostnamectl --fqdn

Ejemplos de aplicación práctica

Ejemplo 1: Ver la información completa del nombre de host del sistema actual

Ejemplo

$ hostnamectl
   Static hostname: ubuntu-server
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1a2b3c4d5e6f7g8h9i0j
           Boot ID: 1k2l3m4n5o6p7q8r9s0t
    Virtualization: kvm
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-42-generic
      Architecture: x86-64

Ejemplo 2: Configurar simultáneamente el nombre de host estático y el bonito

Ejemplo

sudo hostnamectl set-hostname "server01" --pretty "Primary Web Server"

Ejemplo 3: Obtener información del nombre de host a través de la red

Ejemplo

$ hostname -i
192.168.1.100

$ hostname -I
192.168.1.100 10.0.0.100

Problemas comunes y soluciones

Problema 1: El cambio de nombre de host no tiene efecto

Solución:

  1. Asegúrate de haber actualizado también/etc/hostsel archivo
  2. Comprueba si otros servicios (como NetworkManager) sobrescriben la configuración del nombre de host
  3. Intenta reiniciar el sistema o ejecuta:
    sudo systemctl restart systemd-hostnamed

Problema 2: El nombre de host contiene caracteres no válidos

Solución:

  • El nombre de host solo puede contener:
    • Letras a-z
    • Números 0-9
    • Guiones (-)
  • No puede comenzar ni terminar con un guion
  • La longitud generalmente se limita a 63 caracteres

Problema 3: Los servicios de red no reconocen el nuevo nombre de host

Solución:

  1. Reinicia los servicios de red relacionados:
    sudo systemctl restart networking
  2. Limpia la caché de DNS (si corresponde)
  3. Asegúrate de que el servidor DNS se haya actualizado (si es un servidor en la red)

Recomendaciones de mejores prácticas

  1. Convenciones de nomenclatura:

    • Usa nombres significativos, como "web-prod-01", "db-backup-02"
    • Evita caracteres especiales y guiones bajos
    • Mantén la coherencia, especialmente en clústeres de servidores
  2. Entornos con múltiples nombres de host:

    • Usa el nombre de host estático como identificador principal
    • Usa el nombre de host bonito para proporcionar una descripción legible por humanos
    • A través de/etc/hostsAgrega alias para servidores importantes
  3. Gestión automatizada:

    • En entornos de nube, se puede usar cloud-init para configurar automáticamente el nombre de host
    • Gestiona nombres de host de forma masiva mediante herramientas de gestión de configuración (como Ansible)
  4. Documentación:

    • Mantén documentación que relacione los nombres de host con los roles de los servidores
    • Usa el nombre de host como identificador en los sistemas de monitoreo

Resumen

hostname es un concepto básico pero importante en la administración de sistemas Linux. Con este artículo, deberías haber aprendido:

  1. Cómo ver y configurar diferentes tipos de nombres de host
  2. El proceso correcto para modificar permanentemente el nombre de host
  3. Soluciones a problemas comunes relacionados con el nombre de host
  4. Mejores prácticas para la gestión del nombre de host

Recuerda que, antes de modificar el nombre de host en un entorno de producción, debes evaluar el posible impacto. Especialmente en entornos de clúster, el cambio del nombre de host puede afectar el descubrimiento de servicios y los sistemas de monitoreo.

Linux 命令大全Enciclopedia de comandos de Linux

Otras extensiones