hostnamectl — Hostnamen unter systemd verwalten

Hostnamen auf systemd-Linux anzeigen und setzen: statischer, transienter und Pretty-Hostname sowie Chassis, Deployment und Maschineninfos.

hostnamectl ist das systemd-Werkzeug, mit dem du den Hostnamen deines Linux-Systems anzeigst und änderst – sauber an einer Stelle statt verstreut über /etc/hostname und hostname. systemd kennt dabei drei Ebenen: den statischen Hostnamen (dauerhaft, in /etc/hostname), den transienten (zur Laufzeit vom Kernel verwaltet) und den Pretty-Namen (frei formuliert, mit Leerzeichen und Umlauten). Dazu pflegst du Metadaten wie Chassis-Typ, Icon, Deployment-Umgebung und Standort. Dieser Guide zeigt dir die Befehle, die du im Server- und Desktop-Alltag wirklich brauchst.

Status & Infos

hostnamectl — Zeigt den aktuellen Hostnamen und Systeminformationen.

hostnamectl

hostnamectl status — Zeigt den ausführlichen Hostname-Status (identisch zum Aufruf ohne Argumente).

hostnamectl status

hostnamectl hostname — Zeigt nur den aktuellen Hostnamen.

hostnamectl hostname

Hostnamen setzen

hostnamectl set-hostname '<name>' — Setzt den statischen Hostnamen (bleibt über Neustarts erhalten).

sudo hostnamectl set-hostname webserver01

hostnamectl set-hostname '<name>' --static — Setzt ausschließlich den statischen Hostnamen.

sudo hostnamectl set-hostname webserver01 --static

hostnamectl set-hostname '<name>' --pretty — Setzt den Pretty-Hostnamen (frei formuliert, darf Leerzeichen enthalten).

sudo hostnamectl set-hostname 'Web Server 01 (Production)' --pretty

hostnamectl set-hostname '<name>' --transient — Setzt den transienten Hostnamen (geht beim Neustart verloren).

sudo hostnamectl set-hostname temp-hostname --transient

Maschinen-Metadaten

hostnamectl set-icon-name '<name>' — Setzt den Icon-Namen der Maschine.

sudo hostnamectl set-icon-name computer-server

hostnamectl set-chassis '<type>' — Setzt den Chassis-Typ (desktop, laptop, server, vm, container).

sudo hostnamectl set-chassis server

hostnamectl set-deployment '<env>' — Setzt die Deployment-Umgebung (z. B. production, staging).

sudo hostnamectl set-deployment production

hostnamectl set-location '<location>' — Setzt die Standortbeschreibung.

sudo hostnamectl set-location 'Frankfurt DC, Rack 42'

Fazit

hostnamectl ersetzt das händische Editieren von /etc/hostname durch ein konsistentes Kommando und unterscheidet sauber zwischen statischem, transientem und Pretty-Hostnamen – für den Alltag reicht meist hostnamectl zum Anzeigen und set-hostname zum Ändern. Schreibende Aktionen brauchen sudo, und das Werkzeug gibt es nur auf systemd-Systemen (auf anderen Init-Systemen oder in manchen Containern fehlt es). Bedenke außerdem: Auf produktiven Servern ist der Hostname oft mehr als Kosmetik – er taucht in Logs, Monitoring, TLS-Zertifikaten und Cluster-Mitgliedschaften auf. Eine Änderung kann also Folgewirkungen haben; plane sie auf laufenden Systemen bewusst und prüfe danach abhängige Dienste.

Verwandte Kommandos

  • timedatectl – Systemzeit, Zeitzone und NTP-Synchronisation unter systemd verwalten
  • systemctl – systemd-Dienste und Units steuern und abfragen
  • uname – Kernel- und Systeminformationen anzeigen