Eche un vistazo a este Q&A relacionado con U&L titulado: ¿De dónde obtiene uname su información? . Información como el nombre de host persiste dentro de una estructura de datos dentro del kernel de Linux, mientras el sistema se está ejecutando. Durante el arranque de un sistema, esta información se puede volver a obtener a través de una variedad de mecanismos que generalmente son específicos de la distribución.
Si nos fijamos en la man 2 uname
página de manual, hay una estructura de datos mencionada allí:
struct utsname {
char sysname[]; /* Operating system name (e.g., "Linux") */
char nodename[]; /* Name within "some implementation-defined
network" */
char release[]; /* Operating system release (e.g., "2.6.28") */
char version[]; /* Operating system version */
char machine[]; /* Hardware identifier */
#ifdef _GNU_SOURCE
char domainname[]; /* NIS or YP domain name */
#endif
};
El segundo elemento de esa estructura, nodename[]
es un lugar donde el nombre de host se almacena dentro del kernel de Linux.
/ proc
Si echas un vistazo /proc/sys/kernel/hostname
, el nombre de host también se expone aquí. Esta es una ubicación virtual /proc
, pero le ofrece un método alternativo para acceder al nombre de host. Nombre de dominio del sistema es también en este caso, /proc/sys/kernel/domainname
.
NOTA: De interés, estos valores son específicos del espacio de nombres UTS .
Ejemplo
$ sudo hostname
oldhost
$ sudo unshare --uts /bin/bash
$ sudo echo newhost > /proc/sys/kernel/hostname
$ hostname
newhost
$ exit
$ hostname
oldhost
Manipulando el nombre de host
En los sistemas con Systemd, puede usar la herramienta cli hostnamectl
para obtener / configurar el nombre de host. Esto lo cambiará permanentemente entre reinicios.
$ sudo hostnamectl set-hostname --static somehostname
También puede averiguar su valor a través de sysctl
:
$ sudo sysctl -a | grep kernel.hostname
kernel.hostname = myhostname
Para las versiones de Fedora, estas preguntas y respuestas de ask.fedoraproject.org cubren el tema a fondo, titulado: Configuración correcta del nombre de host: Fedora 20 en Amazon EC2 .