Wer mit Servern arbeitet oder mehrere Computer im Heimnetzwerk hat, für den ist es unerlässlich zu wissen, wie man den Hostnamen unter Linux ändert . Ein generischer Hostname wie „localhost“ mag anfangs ausreichen, doch sobald man mehrere Rechner verwaltet, entsteht Chaos: Duplikate, Verwirrung beim SSH-Verbinden und Schwierigkeiten, die einzelnen Rechner zu identifizieren.
In modernen Distributionen und sogar in älteren Systemen gibt es verschiedene Methoden, den Hostnamen dauerhaft oder temporär zu ändern, ohne einen Neustart durchzuführen . In den folgenden Abschnitten erfahren Sie Schritt für Schritt, wie Sie dies mit `hostnamectl` , textbasierten Tools wie `nmtui` , durch Bearbeiten klassischer Konfigurationsdateien oder sogar mit dem einfachen Befehl `hostname` bewerkstelligen. Außerdem finden Sie spezifische Details für CentOS, Debian, Ubuntu, RHEL und deren Derivate.
Was ist der Hostname in Linux und warum sollte man ihn ändern?
In jedem Linux-System ist der Hostname die Kennung, mit der sich der Rechner im Netzwerk präsentiert. Er kann ein einfacher Name wie „Server“ oder etwas Ausführlicheres wie srv-web-01.company.local sein , dient aber immer als primäre Referenz für andere Computer und Dienste.
Bei der Installation wird üblicherweise ein Standard-Hostname vergeben, oft localhost oder ein generischer Name, der nicht viel aussagt. Wenn mehrere Geräte im selben Netzwerk denselben Hostnamen verwenden , kann es zu Namensauflösungskonflikten, unerwarteten Diensten oder einfach zu massiven Problemen beim SSH-Zugriff oder der Protokollverwaltung kommen.
In Produktionsumgebungen ist es üblich, dass jede Maschine einen Namen trägt, der ihrer Funktion und ihrem Standort entspricht (z. B. LINUX-SYSADMIT-01, db01, mail-srv usw.). Dies vereinfacht Administration, Überwachung und Fehlerbehebung und vermeidet zudem die alleinige Abhängigkeit von IP-Adressen, die sich leichter ändern können.
Es ist außerdem wichtig zu wissen, dass ein Hostname üblicherweise mit einer bestimmten IP-Adresse verknüpft ist . In lokalen Netzwerken geschieht dies häufig über die Datei `/etc/hosts` , in größeren Netzwerken oder im Internet über DNS. Wenn Sie also den Namen Ihres Computers ändern, sollten Sie überprüfen, ob im System und Netzwerk noch Einträge vorhanden sind, die auf den alten Namen verweisen.
Überprüfung des aktuellen Hostnamens in Linux
Bevor Sie irgendetwas ändern, sollten Sie den aktuellen Hostnamen des Rechners überprüfen . Unter Linux gibt es dafür mehrere Möglichkeiten, und alle sind sehr schnell.
Die direkteste Möglichkeit ist die Verwendung des Befehls „hostname“ im Terminal:
hostname
Die Ausgabe dieses Befehls zeigt einfach den aktuellen Hostnamen an , zum Beispiel:
LinuxShell-Tipps
Wenn Sie etwas mehr Systeminformationen benötigen, insbesondere bei systemd- basierten Distributionen, können Sie hostnamectl verwenden . Es handelt sich um ein Kommandozeilenprogramm, das Computerdaten anzeigt und es Ihnen ermöglicht, den Hostnamen zu ändern.
Hostnamectl
Die Ausgabe enthält Felder wie statischer Hostname , Betriebssystem, Kernelversion, VM-Typ , Architektur usw. Die wichtigsten Daten sind hierbei der statische Hostname , der dauerhaft definierte Name des Systems.
Wenn Sie weitere, detailliertere Informationen einsehen möchten, können Sie auch einige Systemdateien konsultieren. Die Datei /proc/sys/kernel/hostname enthält den Hostnamen, den der Kernel aktuell verwendet:
cat / proc / sys / kernel / hostname
Und natürlich speichert die Datei `/etc/hostname` in vielen Distributionen den konfigurierten Hostnamen dauerhaft. Sie können ihn mit folgendem Befehl anzeigen:
Katze / etc / Hostname
Ändern Sie den Hostnamen in Linux dauerhaft mit hostnamectl.
In den meisten modernen Distributionen (wie Ubuntu 16.04 oder höher, neueren Debian-Distributionen, RHEL 7+, CentOS 7+ und Derivaten) ist das Init-System systemd , und damit einher geht das Tool hostnamectl , das die empfohlene Methode ist, um den Host in Linux dauerhaft umzubenennen.
Als Erstes sollten Sie sicherstellen, dass Ihr System systemd verwendet. Bei modernen Distributionen ist es standardmäßig enthalten. Wenn Sie jedoch mit einem älteren System arbeiten, müssen Sie es möglicherweise installieren oder alternative Methoden verwenden. Auf Debian-basierten Systemen können Sie es (falls es noch nicht vorhanden ist) mit folgendem Befehl installieren:
apt-get install systemd
Um den aktuellen Hostnamen mit hostnamectl anzuzeigen, führen Sie folgenden Befehl aus:
Hostnamectl
Sie sehen dann etwa Folgendes (typisches Beispiel auf einem Ubuntu-VPS):
Statischer Hostname: hostinger
Symbolname: Computer-VM
Chassis: vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualisierung: OpenVZ
Betriebssystem: Ubuntu 22.04.3 LTS
Kernel: Linux 5.4.0
Architektur: x86-64
Um einen neuen permanenten Hostnamen festzulegen, verwenden Sie die folgende Syntax:
hostnamectl set-hostname NEUER_HOSTNAME
Wenn Sie beispielsweise Ihren Computer LINUX-SYSADMIT-01 nennen möchten , gehen Sie wie folgt vor:
hostnamectl set-hostname LINUX-SYSADMIT-01
Dieser Befehl zeigt normalerweise keine Ausgabe auf dem Bildschirm an, wenn er korrekt ausgeführt wird. Um zu überprüfen, ob die Änderung übernommen wurde, führen Sie den Befehl einfach erneut aus.
Hostnamectl
und überprüfen Sie, ob das Feld „Statischer Hostname“ auf Ihren neuen Namen aktualisiert wurde. Alternativ können Sie auch einfach Folgendes verwenden:
hostname
Um zu überprüfen, ob das System mit dem aktualisierten Hostnamen antwortet. Bei dieser Methode ist in den meisten Fällen kein Neustart erforderlich, da systemd die Änderung automatisch weitergibt.
Benennen Sie den Host um, indem Sie die klassischen Konfigurationsdateien bearbeiten.
Zusätzlich zu den systemd-spezifischen Tools lässt sich der Hostname in nahezu jeder Distribution durch direktes Bearbeiten von Konfigurationsdateien ändern . Diese Methode funktioniert selbst auf älteren Systemen und ermöglicht eine sehr präzise Kontrolle über die vorgenommenen Änderungen.
Die erste zu überprüfende Datei ist /etc/hostname , die üblicherweise eine einzelne Zeile mit dem aktuellen Hostnamen enthält. Zum Bearbeiten können Sie vi, vim, nano oder Ihren bevorzugten Editor verwenden. Zum Beispiel:
sudo vim /etc/hostname
Ersetzen Sie innerhalb der Datei den aktuellen Namen durch den neuen Hostnamen, den Sie verwenden möchten, zum Beispiel:
hostinger
Speichern Sie die Änderungen und beenden Sie den Editor. Sie haben nun die Basiskonfiguration geändert, aber es sind noch einige wichtige Schritte erforderlich, um sicherzustellen, dass die Änderung im gesamten System einheitlich ist.
Die nächste zu aktualisierende Datei ist /etc/hosts , die zur lokalen Auflösung von Hostnamen in IP-Adressen verwendet wird . Öffnen Sie sie mit Ihrem gewohnten Texteditor:
sudo vim /etc/hosts
In dieser Datei findet sich üblicherweise eine Zeile, die etwa so lautet:
127.0.0.1 localhost alter-hostname
oder etwas Gleichwertiges. Sie müssen den vorherigen Namen durch den neuen ersetzen, zum Beispiel:
127.0.0.1 Hostinger
In Umgebungen, in denen vollqualifizierte Domänennamen (FQDNs) verwendet werden, sehen Sie möglicherweise Einträge wie:
192.168.0.1 englischausmetall.engel.com englischausmetall
Wenn Sie in diesem Fall den Hostnamen ändern möchten, müssen Sie den Namensanteil und gegebenenfalls den FQDN anpassen, um die Konsistenz mit dem Netzwerk und den Diensten, die diesen Namen verwenden, zu gewährleisten.
In vielen älteren Konfigurationen, die auf System V init basieren , insbesondere auf Red Hat oder abgeleiteten Systemen, wird die Datei /etc/sysconfig/network ebenfalls zur Definition des Hostnamens verwendet. In dieser Datei finden Sie eine Zeile, die die Variable HOSTNAME deklariert:
HOSTNAME=engelausmetall.engel.com
Falls diese Datei auf Ihrem System existiert, bearbeiten Sie sie mit:
nano /etc/sysconfig/network
Ändern Sie die Variable HOSTNAME mit dem neuen Namen. Dieser Schritt ist wichtig, um sicherzustellen, dass die Änderung nach Neustarts erhalten bleibt , insbesondere bei älteren Red Hat-Distributionen.
Nachdem die Dateien `/etc/hostname`, `/etc/hosts` und gegebenenfalls `/etc/sysconfig/network` aktualisiert wurden , ist es üblich, bestimmte Netzwerkdienste oder das System selbst neu zu starten. Viele Handbücher empfehlen beispielsweise für klassische Systeme Folgendes:
/etc/init.d/hostname.sh start
oder den Netzwerkdienst neu starten:
Neustart des Servicenetzwerks
Anschließend empfiehlt es sich, die Terminal-Sitzung zu schließen und eine neue zu öffnen oder sich sogar von der grafischen Oberfläche ab- und wieder anzumelden. Dadurch wird überprüft, ob die Konsoleneingabeaufforderung und die Anwendungen nun den aktualisierten Hostnamen anzeigen.
Konfigurieren Sie den Hostnamen unter Linux mit nmtui (NetworkManager TUI).
Viele Red Hat-basierte Distributionen wie RHEL und CentOS bieten neben reinen Kommandozeilen-Tools auch eine textbasierte Benutzeroberfläche für NetworkManager namens nmtui (Network Manager Text User Interface). Mit diesem Dienstprogramm lassen sich Netzwerkverbindungen konfigurieren und der System-Hostname über ein Textmenü anpassen.
Falls es nicht installiert ist, können Sie es auf Systemen, die yum verwenden, mit dem Paket NetworkManager-tui hinzufügen :
sudo yum installiere NetworkManager-tui
Wenn das Installationsprogramm die Abhängigkeiten auflistet und fragt, ob Sie fortfahren möchten, antworten Sie mit „j“ und drücken Sie die Eingabetaste. Nach Abschluss der Installation wird eine Meldung wie „ Abgeschlossen!“ angezeigt, die bestätigt, dass das Paket erfolgreich installiert wurde.
Bevor Sie nmtui verwenden, stellen Sie sicher, dass der NetworkManager-Dienst ausgeführt wird. Sie können dies mit folgendem Befehl überprüfen:
Dienststatus NetworkManager
Falls der Dienst nicht läuft, starten Sie ihn mit:
Dienst NetworkManager starten
Sie können die Benutzeroberfläche nun im Textmodus starten, indem Sie Folgendes eingeben:
sudo nmtui
Auf dem Hauptbildschirm des Tools sehen Sie verschiedene Optionen, darunter „System-Hostnamen festlegen “. Navigieren Sie mit den Pfeiltasten zu dieser Option, drücken Sie die Eingabetaste, und es öffnet sich ein Dialogfeld, in dem Sie den neuen Hostnamen für Ihr System eingeben können.
Geben Sie den neuen Hostnamen ein, wählen Sie OK und bestätigen Sie die Änderungen. Nach dem Beenden von nmtui wird der neue Name vom System übernommen. Sie können dies mit folgendem Befehl überprüfen:
hostname
oder, falls Ihre Distribution systemd verwendet, mit:
Hostnamectl
Verwendung von cloud-init und Beibehaltung des Hostnamens nach dem Neustart
Viele VPS- und Cloud-Server-Images verwenden cloud-init , ein Tool, das das System beim ersten Start (und manchmal auch bei nachfolgenden Starts) anhand von vom Anbieter bereitgestellten Vorlagen konfiguriert. Dies umfasst unter anderem den Hostnamen.
Wenn Sie den Hostnamen auf einem von Cloud-Init verwalteten Server manuell ändern, aber dessen Konfiguration nicht anpassen, kann es passieren, dass nach einem Neustart der ursprüngliche Hostname aus der Vorlage wiederhergestellt wird und Ihre Änderungen somit verloren gehen.
Um dies zu verhindern, bearbeiten Sie die Hauptkonfigurationsdatei von cloud-init, üblicherweise /etc/cloud/cloud.cfg . Dies können Sie mit folgendem Befehl tun:
sudo vim /etc/cloud/cloud.cfg
Suchen Sie in dieser Datei nach der Direktive `preserve_hostname` . Falls diese auf `false` gesetzt ist oder nicht angezeigt wird, fügen Sie die Zeile hinzu oder ändern Sie sie so, dass sie wie folgt aussieht:
preserve_hostname: true
Diese Option weist cloud-init an, den aktuellen Hostnamen des Systems zu berücksichtigen und ihn bei nachfolgenden Starts nicht zu überschreiben. Nach dem Speichern der Datei starten Sie den Server neu, um zu überprüfen, ob der Hostname beibehalten wurde.
Sudo Neustart
Nach dem Neustart führen Sie Folgendes aus:
hostname
Überprüfen Sie, ob der Name noch dem von Ihnen konfigurierten entspricht. Falls Ihr System kein cloud-init verwendet oder die Datei /etc/cloud/cloud.cfg nicht existiert, können Sie diese Schritte einfach ignorieren.
Ändern des Hostnamens in Linux ohne Neustart des Systems
Manchmal ist es nötig, den Hostnamen nur vorübergehend zu ändern , beispielsweise um bestimmte Tests durchzuführen oder eine bestimmte Aufgabe zu erledigen. In solchen Fällen können Sie dies direkt mit dem Befehl `hostname` tun . Beachten Sie jedoch, dass die Änderung nach einem Neustart nicht mehr erhalten bleibt.
Die grundlegende Syntax des Befehls zum Vergeben eines neuen Namens lautet:
Hostname NEUER_HOSTNAME
Wenn Sie beispielsweise den Computer vorübergehend „hostinger“ nennen möchten, führen Sie folgenden Befehl aus:
Hostname Hostinger
Diese Änderung wird sofort für die aktuelle Systemsitzung wirksam. Um zu überprüfen, ob sie wirksam geworden ist, können Sie das System neu starten:
hostname
Der neue Hostname wird angezeigt. Sobald Sie den Rechner jedoch neu starten, wird der in den Konfigurationsdateien oder mit `hostnamectl` festgelegte Hostname wiederhergestellt. Ersetzen Sie daher die Schritte zur dauerhaften Konfiguration nicht durch diese Methode, wenn die Änderung dauerhaft sein soll.
Weitere Überlegungen und bewährte Vorgehensweisen beim Umbenennen des Hosts unter Linux
Die Umbenennung des Hosts besteht nicht nur darin, eine Zeichenkette in ein paar Dateien zu ändern; es lohnt sich, einige Details zu überprüfen, um sicherzustellen, dass alles reibungslos funktioniert , insbesondere auf Produktionsservern oder in Unternehmensumgebungen.
Als erste Empfehlung empfehle ich die Wahl eines eindeutigen und einheitlichen Hostnamens, der zu Ihrem Namensschema passt. Viele Unternehmen verwenden Muster wie ROLLE-STANDORT-NUMMER (z. B. WEB-MAD-01, DB-BCN-02), wodurch die Funktion jedes Servers allein anhand seines Namens leicht erkennbar ist.
Es ist außerdem wichtig zu prüfen, ob der Hostname in Skripten, Diensten, Zertifikaten oder Firewall-Regeln vorkommt . Beispielsweise können manche Dienste so konfiguriert sein, dass sie auf einem bestimmten Hostnamen lauschen oder Protokolle generieren, in denen der Computername Teil von Pfaden und Dateien ist. Nach der Änderung empfiehlt es sich, diese Punkte kurz zu überprüfen.
Ein weiterer zu berücksichtigender Aspekt ist der mögliche Zusammenhang zwischen Hostname und DNS-Auflösung . Wenn Ihr Rechner bei einem DNS-Server unter einem bestimmten Namen registriert ist, muss bei einer Änderung des lokalen Hostnamens auch der entsprechende DNS-Eintrag aktualisiert werden, damit der logische Name mit der zugehörigen IP-Adresse übereinstimmt.
Denken Sie abschließend daran, stets die Datei `/etc/hosts` zu überprüfen , um sicherzustellen, dass alle Verweise auf den alten Namen korrekt aktualisiert wurden. Häufig wird dieser Schritt vergessen, was dann dazu führt, dass einige Dienste inkonsistente Namensauflösungen durchführen , weil in dieser lokalen Datei noch alte Einträge vorhanden sind.


