Schauen Sie sich diese verwandten Fragen und Antworten zu U & L mit dem Titel: Woher bezieht uname seine Informationen? . Informationen wie der Hostname bleiben in einer Datenstruktur im Linux-Kernel erhalten, während das System ausgeführt wird. Während des Systemstarts können diese Informationen über eine Vielzahl von Mechanismen wiederhergestellt werden, die in der Regel distro-spezifisch sind.
Wenn Sie sich die man 2 uname
Manpage ansehen, wird dort eine Datenstruktur erwähnt:
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
};
Das zweite Element dieser Struktur nodename[]
ist ein Ort, an dem der Hostname im Linux-Kernel gespeichert ist.
/ proc
Wenn Sie sich das ansehen /proc/sys/kernel/hostname
, wird auch hier der Hostname angezeigt. Dies ist ein virtueller Speicherort, der /proc
Ihnen jedoch eine alternative Methode für den Zugriff auf den Hostnamen bietet. Der Domainname des Systems ist auch hier /proc/sys/kernel/domainname
.
HINWEIS: Interessanterweise sind diese Werte spezifisch für den UTS-Namespace .
Beispiel
$ sudo hostname
oldhost
$ sudo unshare --uts /bin/bash
$ sudo echo newhost > /proc/sys/kernel/hostname
$ hostname
newhost
$ exit
$ hostname
oldhost
Bearbeiten des Hostnamens
Auf Systemen mit Systemd können Sie das CLI-Tool verwenden hostnamectl
, um den Hostnamen abzurufen / festzulegen. Dadurch wird es zwischen Neustarts dauerhaft geändert.
$ sudo hostnamectl set-hostname --static somehostname
Sie können den Wert auch herausfinden, indem Sie sysctl
:
$ sudo sysctl -a | grep kernel.hostname
kernel.hostname = myhostname
In diesen Fragen und Antworten zu Fedora-Releases unter ask.fedoraproject.org wird das Thema ausführlich behandelt. Der Titel lautet: Richtiges Festlegen des Hostnamens - Fedora 20 auf Amazon EC2 .