Wie ändere ich den Hostnamen ohne Neustart?

448

Ich möchte den OS-Hostnamen ändern, möchte aber nicht neu starten.

Ich habe /etc/hostname bearbeitet, aber es erfordert einen Neustart, um implementiert zu werden. Wie vermeide ich das?

    
Deepak Rajput 14.12.2011, 09:56
quelle

14 Antworten

583

Es ist einfach. Klicken Sie einfach auf das Zahnradsymbol (in der oberen rechten Ecke des Bildschirms), öffnen Sie den Bildschirm "Über diesen Computer" (befindet sich auf dem Zahnradsymbol) und bearbeiten Sie "Gerätename".

Oder verwenden Sie in einem Terminal den folgenden Befehl:

sudo hostname your-new-name

Damit wird der Hostname auf Ihren neuen Namen gesetzt, bis Sie ihn neu starten. Siehe man hostname und Wie ändere ich den Computernamen? für weitere Informationen. Verwenden Sie nicht _ in Ihrem Namen.

Hinweis

Nach einem Neustart werden Ihre Änderungen in /etc/hostname verwendet, also (wie Sie in der Frage sagten), Du solltest immer noch

verwenden
sudo -H gedit /etc/hostname

(oder ein anderer Editor), so dass die Datei den Hostnamen enthält.

Um zu testen, ob die Datei korrekt eingerichtet ist, führen Sie Folgendes aus:

sudo service hostname start

Sie sollten auch /etc/hosts bearbeiten und die Zeile ändern, die lautet:

127.0.1.1     your-old-hostname

, sodass es jetzt Ihren neuen Hostnamen enthält. (Dies ist erforderlich, sonst funktionieren viele Befehle nicht mehr.)

    
jasperado 14.12.2011, 11:27
quelle
248

Ubuntu ab 13.04

Der Befehl hostnamectl ist Teil der Standardinstallation auf Desktop- und Server-Editionen.

Er kombiniert die Einstellung des Hostnamens über den Befehl hostname und die Bearbeitung von /etc/hostname . Es kann nicht nur den statischen Hostnamen festlegen, sondern auch den "schönen" Hostnamen, der in Ubuntu nicht verwendet wird. Leider muss die Bearbeitung von /etc/hosts noch separat durchgeführt werden.

hostnamectl set-hostname new-hostname

Dieser Befehl ist Teil des Pakets systemd-services (das ab Ubuntu 14.04 auch die timedatectl und localectl Befehle). Wenn Ubuntu zu systemd migriert, ist dieses Werkzeug die Zukunft.

    
muru 27.08.2014 23:03
quelle
58

Ohne Neustart

Ändern Sie den Hostnamen oder Computernamen in ubuntu ohne Neustart

Bearbeiten Sie / etc / hostname und ändern Sie den neuen Wert,

nano /etc/hostname 

Bearbeiten Sie / etc / hosts und ändern Sie die alte Zeile 127.0.1.1 in Ihren neuen Hostnamen

127.0.0.1   localhost
127.0.1.1   ubuntu.local    ubuntu   # change to your new hostname/fqdn

Hinweis : Ich habe es in einem Forum gelesen & gt; Editiere / etc / hosts und ändere die alte 127.0.1.1 Zeile in deinen neuen Hostnamen (wenn du das nicht tust, kannst du sudo nicht mehr benutzen. Wenn du es bereits getan hast, drücke ESC im Grub Menü, wähle Recovery , und bearbeiten Sie Ihre Host-Datei mit den richtigen Einstellungen)

Jetzt, nach einem Neustart, ist Ihr Hostname der neue, den Sie gewählt haben

Ohne Neustart

Um ohne Neustart zu ändern können Sie einfach hostname.sh verwenden, nachdem Sie / etc / hostname bearbeitet haben. Sie müssen beide Hostnamen in / etc / hosts (127.0.0.1 newhost oldhost) beibehalten, bis Sie den folgenden Befehl ausführen:

sudo service hostname start

Hinweis : Über den Befehl, um die Änderung zu aktivieren. Der Hostname, der in dieser Datei (/ etc / hostname) gespeichert ist, bleibt beim Systemneustart erhalten (und wird mit demselben Dienst eingestellt).

    
One Zero 13.02.2012 21:16
quelle
42

Der Standardname wurde bei der Installation von Ubuntu festgelegt. Sie können es einfach zu dem, was Sie wollen, sowohl in Desktop & amp; Server durch Bearbeiten der Hosts und Hostnamen-Dateien. Unten ist wie:

  1. Drücken Sie Strg Alt t auf der Tastatur, um das Terminal zu öffnen. Wenn es geöffnet wird, führe den folgenden Befehl aus: sudo hostname NEW_NAME_HERE

Dies ändert den Hostnamen bis zum nächsten Neustart. Die Änderung wird in Ihrem aktuellen Terminal nicht sofort sichtbar sein. Starten Sie ein neues Terminal, um den neuen Hostnamen zu sehen.

  1. Um den Namen dauerhaft zu ändern, führen Sie den Befehl zum Bearbeiten der Host-Dateien aus:

    sudo -H gedit /etc/hostname und sudo -H gedit /etc/hosts

Führen Sie für einen Ubuntu-Server ohne GUI sudo vi /etc/hostname und sudo vi /etc/hosts aus und bearbeiten Sie sie einzeln. Ändern Sie den Namen in beiden Dateien und speichern Sie sie.

Starten Sie schließlich Ihren Computer neu, um die Änderungen zu übernehmen.

    
Mohsen Gh. 01.11.2014 23:47
quelle
16

Hier ist ein Skript, das den Hostnamen in der vorgeschriebenen Weise ändert. Es stellt sicher, dass nicht nur sudo , sondern auch X11-Anwendungen weiterhin ohne Neustart funktionieren.

Verwendung: sudo ./change_hostname.sh new-hostname

#!/usr/bin/env bash
NEW_HOSTNAME=
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub(,"\"&\""); print}')"
    
Lucas 07.03.2014 07:30
quelle
11

Ohne Neustart:

  1. Ändern des Hostnamens in /etc/hostname
  2. update /etc/hosts entsprechend
  3. sudo sysctl kernel.hostname=mynew.local.host

Überprüfen Sie Ihren aktuellen Hostnamen mit hostname -f

    
Tombart 31.03.2015 16:46
quelle
7

Um Ihren aktuellen Hostnamen zu erhalten:

cat /etc/hostname

Dies kann in jedem Texteditor geändert werden. Sie müssen auch den Eintrag anders als localhost gegen 127.0.0.1 in / etc / hosts aktualisieren.

    
tagMacher 14.09.2014 03:12
quelle
4
  1. Ersetzen Sie den Inhalt von /etc/hostname durch den gewünschten Hostnamen (Sie können ihn mit sudo nano /etc/hostname bearbeiten)
  2. Ersetzen Sie in /etc/hosts den Eintrag neben 127.0. 1 .1 mit dem gewünschten Hostnamen (Sie können mit sudo nano /etc/hosts bearbeiten)
  3. Ausführen sudo service hostname restart; sudo service networking restart
George 08.05.2015 20:26
quelle
4

Ubuntu 16.04

Dies ist ohne neustart und ohne Terminal-Verwendung.

  • Gehen Sie zu Systemeinstellungen - & gt; Details .
  • Da ist es. Neben Gerätename gibt es eine Textbox.
  • Textfeld bearbeiten und Fenster schließen.

Terminal öffnen. Überzeugen Sie sich selbst.

(Bei älteren Versionen ist die Textbox nicht editierbar.)

    
shonku 13.03.2017 19:26
quelle
3
sudo hostname your-new-name
sudo /etc/init.d/networking restart

Das sollte die Arbeit machen, denke ich

    
OmarQunsul 20.12.2013 13:43
quelle
3

Ich habe die Antworten gelesen, aber ich denke, wahrscheinlich suchen Sie das:

Führen Sie diese beiden Befehle nach dem Bearbeiten der /etc/hostname -Datei aus.

$ sudo service hostname restart
$ exec bash

Das ist alles. Kein Neustart erforderlich. Stellen Sie sicher, dass Sie auch den Namen in /etc/hosts file ändern.

    
Raman 28.09.2016 20:55
quelle
3

Die klassische Antwort auf die Frage des ursprünglichen Posters ist, dass Sie, nachdem Sie /etc/hostname bearbeitet haben, diese ohne Neustart anwenden, indem Sie hostname (1) mit der Option -F ( --file ) als root:

sudo hostname -F /etc/hostname

Der Hostname (5) , der mit /etc/hostname arbeitet und das genannte Programm hat war in Debian und seinen Derivaten seit über zwanzig Jahren dasselbe und das Paket, das es bereitstellt , wurde mit essenziell und erforderlich , und IIRC die Init-Skripte haben wörtlich dasselbe seit Jahrzehnten verwendet ( /etc/init/hostname.conf enthält es immer noch), also muss ich sagen, ich bin wirklich verwirrt, wie niemand das schon erwähnt hat:)

    
Josip Rodin 14.10.2017 19:55
quelle
1

Ubuntu 16.04

Lösung basierend auf antworten von der DigitalOcean Community.

Bearbeiten Hosts Datei.

$ sudo nano /etc/hosts

Ersetzen Sie oldname durch einen neuen.

127.0.0.1 localhost newname

Neuen Hostnamen einrichten.

$ sudo hostnamectl set-hostname newname

    
Jekis 12.01.2018 07:29
quelle
0

Cloud-init (Ubuntu 18+) Hostname Persistenz

Während die oben genannten Ansätze ( hostnamectl , etc/hostname usw.) für die sofortige Änderung des Hostnamens funktionieren, wird mit cloud-init - das kann die Einstellung des Hostnamens steuern - unter vielen anderen Dingen. Es bleibt also nach einem Neustart nicht hängen, wenn cloud-init installiert ist. Wenn die Änderung nach einem Neustart beibehalten werden soll, müssen Sie die cloud-init-Konfigurationsdateien , deaktivieren Sie das Hostnamen-Set / Update-Modul von Cloud-init :

sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg

oder deaktivieren Sie cloud-init vollständig:

sudo touch /etc/cloud/cloud-init.disabled
    
Pierz 18.06.2018 16:20
quelle

Tags und Links