Wie ändere ich den Hostnamen einer RHEL-basierten Distribution?


19

Ich habe mich zum ersten Mal angemeldet, das Terminal geöffnet und den Hostnamen eingegeben. Es wurde "localhost.localdomain.com" zurückgegeben. Dann loggte ich mich mit dem Befehl 'su -' als root-Benutzer im Terminal ein, gab das Passwort für den root-Benutzer ein und benutzte den Befehl 'hostname etest', wobei etest der Hostname ist, den mein Rechner haben soll. Um zu testen, ob mein Hostname korrekt geändert wurde, habe ich am Terminal erneut 'hostname' eingegeben und es wurde etest zurückgegeben.

Wenn ich jedoch meinen Computer neu starte, wird der Hostname auf 'localhost.localdomain.com' zurückgesetzt.

Hier ist die gesamte Befehlsreihe, die ich im Terminal verwendet habe.

    [thomasm@localhost ~]$ hostname  
    localhost.localdomain  
    [thomasm@localhost ~]$ su -  
    Password:   
    [root@localhost ~]# hostname etest  
    [root@localhost ~]# hostname  
    etest

Ich hatte das gleiche Problem, als ich RHEL- und Ubuntu-Betriebssysteme mit VMPlayer einrichtete.


@ Ich bin ein Neuling mit Linux-Betriebssystemen. Wenn weitere Details erforderlich sind, lassen Sie es mich bitte wissen.
Thomas

Antworten:


28

Bei RHEL und Derivaten wie CentOS müssen Sie zwei Dateien bearbeiten, um den Hostnamen zu ändern.

Das System legt seinen Hostnamen beim Booten basierend auf der HOSTNAMEZeile in fest /etc/sysconfig/network. Der nanoTexteditor ist standardmäßig auf RHEL und seinen Derivaten installiert, und seine Verwendung ist selbstverständlich:

# nano /etc/sysconfig/network

Sie müssen auch den Namen in der /etc/hostsDatei ändern . Andernfalls dauert die Ausführung bestimmter Befehle plötzlich länger. Sie versuchen, die IP-Adresse des lokalen Hosts anhand des Hostnamens zu ermitteln. Ohne Eingabe eines Eintrags in /etc/hostsmuss der Host die vollständige Suche nach Netzwerknamen durchlaufen, bevor er fortfahren kann. Abhängig von Ihrem DNS-Setup kann dies zu Verzögerungen von ungefähr einer Minute führen!

Nachdem Sie diese beiden Dateien geändert haben, können Sie entweder den hostnameBefehl ausführen , um die Laufzeitkopie des Hostnamens zu ändern (der erneut festgelegt wurde /etc/sysconfig/network), oder einfach einen Neustart durchführen.

Ubuntu unterscheidet sich darin, dass die statische Kopie des Hostnamens in gespeichert ist /etc/hostname. Viele Aspekte der Netzwerkkonfiguration werden unter Ubuntu im Vergleich zu RHEL an unterschiedlichen Orten und mit unterschiedlichen Dateiformaten gespeichert.


Vielen Dank für den Speicherort der Dateien. Ich weiß wirklich nichts über Linux oder die Verwendung von Terminal, daher brauchte ich detaillierte Schritte, um einen Texteditor in Terminal zu verwenden. Daher meine Antwort unten. Aber danke für den Speicherort der Dateien, die ich bearbeiten musste.
Thomas

4

Sie können hostnamectl verwenden.

1. Stellen Sie den Hostnamen ein mit:

# hostnamectl set-hostname etest

oder

# hostnamectl set-hostname etest.something

2. Melden Sie sich ab und wieder an.

3. (Optional) So zeigen Sie weitere Optionen an:

man hostnamectl

... hostnamectl ist nur auf RHEL 7 und CentOS 7 verfügbar.
Dale Anderson

2

Hier sind die Schritte zum Ändern des Hostnamens eines CentOS-Computers (oder eines anderen RHEL-Derivats) mithilfe des Terminals.

Öffnen Sie das Terminal. Geben Sie su - ein, um sich als Root anzumelden. Geben Sie nach Eingabe des Kennworts vi / etc / sysconfig / network ein. Dadurch wird die Netzwerkdatei mit dem vi-Texteditor im Befehlsmodus geöffnet. Geben Sie 'i' ein, um in den Einfügemodus von vi zu wechseln. Navigieren Sie zum Abschnitt hostname der Datei und ersetzen Sie localhost.localdomain durch etest (oder den erforderlichen Hostnamen). Drücken Sie 'Esc', um den Einfügemodus zu verlassen und zum Befehlsmodus zurückzukehren. Geben Sie im Befehlsmodus Folgendes ein: wq, um die Änderungen zu speichern und vi zu beenden.

Wenn Sie den Vorgang ohne Speichern beenden möchten, geben Sie Folgendes ein: q! im Befehlsmodus.

Ähnliche Schritte können ausgeführt werden, um die Datei / etc / hosts bei Bedarf zu bearbeiten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.