Wie ändere ich den Computernamen?


327

Wenn ich eine Verbindung zu meinem Server (Ubuntu Server 10.10) herstelle, erhalte ich Folgendes:

name@server-name.belkin ~>

Wie kann ich ".belkin" entfernen?


1
Versuchen Sie, / etc / hosts zu bearbeiten. gksudo gedit / etc / hosts und ersetze server-name.belkin durch einen beliebigen Namen.
LFC_fan

2
Möchten Sie den tatsächlichen Servernamen oder nur die Art und Weise ändern, wie er in der Eingabeaufforderung angezeigt wird?
Dave Jennings

2
Abstimmung zum erneuten Öffnen, da dies eine Obermenge ist (Neustart möglich).
Ciro Santilli

Wie wird diese Frage zu Gunsten einer Frage geschlossen, die über ein Jahr später gestellt wurde?
Warren

@warren der aktuelle Konsens ist es, durch "Qualität" zu schließen: meta.stackexchange.com/questions/147643/… Da "Qualität" nicht messbar ist, gehe ich nur durch Upvotes. ;-) Es kommt wohl darauf an, welche Frage die besten Newbie-Google-Keywords auf dem Titel getroffen hat.
Ciro Santilli am

Antworten:


420

Sie müssen den Computernamen in zwei Dateien bearbeiten:

/etc/hostname 

und

/etc/hosts

Beide benötigen Administratorzugriff. Führen Sie sie aus

gksu gedit /path/to/file

Ersetzen Sie alle Instanzen des vorhandenen Computernamens durch Ihren neuen. Wenn Sie fertig sind, starten Sie

sudo service hostname start

Der Name wird auch geändert, wenn Sie Ihren Computer neu starten.

Siehe auch:


43
Danach wurde just sudo service hostname restartund der Hostname ohne Neustart geändert.
Anthony O.

6
In Ubuntu 14.04 gibt es keinen Dienst 'Hostname'. Was kann ich dort tun, um einen Neustart zu vermeiden?
Arpad Horvath

8
sudo service hostname restartfunktioniert nicht bei der Standardinstallation von Ubuntu Server 14.04 unter AWS. Ich musste den Server neu starten
gerrytan

9
Am 14.04 bin ich einfach gelaufen sudo hostnameund das hat den Trick getan. Ich bemerkte keine sofortige Änderung, aber als ich ein neues Terminal öffnete, sah ich, dass sich mein Hostname tatsächlich geändert hatte.
TSJNachos117

8
sudo hostname new-host-namearbeitete für mich am Ubuntu 13.10
Lekhnath

153

hostnamectl set-hostname auf 13.10+ Desktop

Dies ist der beste Weg, wenn Sie systemd (ab 13.10) haben und cloud-init nicht aktiv ist (siehe unten):

hostnamectl set-hostname 'new-hostname'

Es:

  • erfordert keinen Neustart
  • bleibt nach einem Neustart bestehen

Weitere Informationen unter: https://askubuntu.com/a/516898/52975

Ab 18.04: cloud-init

18.04 Cloud-Init eingeführt, mit dem die Einstellung des Hostnamens gesteuert werden kann, sodass hostnamectlÄnderungen nach einem Neustart nicht mehr wirksam werden, wenn Cloud-Init installiert ist. TODO: Wie überprüfe ich, ob es installiert ist? Wird es standardmäßig auf dem Desktop-Image oder nur auf dem Server installiert?

Wenn Sie möchten, dass hostnamectlÄnderungen nach einem Neustart beibehalten werden, müssen Sie die Konfigurationsdateien von cloud-init bearbeiten und das Hostnamen-Set / Update-Modul von cloud-init deaktivieren :

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

oder deaktiviere cloud-init komplett:

sudo touch /etc/cloud/cloud-init.disabled

Siehe auch: Wie ändere ich den Hostnamen ohne Neustart?


3
Funktioniert perfekt in Ubuntu 15.10
AB

4
Ändert nicht / etc / hosts in 14.04
Autodidact

7
funktioniert perfekt in Ubuntu 16.04 ... vielen Dank
Hirak

2
Bestätigt, um in 16.10 auch richtig zu arbeiten
Fuzzygroup

2
Ich musste meinen neuen Hostnamen in / etc / hosts einfügen, sonst würde sudo einen Fehler verursachen "sudo: Host xxxxx kann nicht aufgelöst werden"
WoodyDRN

70

Es ist sehr leicht:

  1. Bearbeiten /etc/hostname, Namen ändern, Datei speichern.

  2. Sie sollten dieselben Änderungen auch in der /etc/hostsDatei vornehmen

  3. Lauf sudo service hostname start

Solange Sie keine Anwendungseinstellungen abhängig vom 'alten' Hostnamen haben, sollten Sie in Ordnung sein ;-)


31
WARNUNG: Wenn Sie dies tun, ohne / etc / hosts entsprechend zu ändern, können Sie sudo nicht verwenden, da Ihr Hostname nicht nachschlagen kann
João Pinto

Sie sind in Bezug auf richtige Bearbeitung der Datei / etc / hosts, ich es vergessen (nur es zu meiner Antwort), obwohl sudo für mich adaequat zu sein scheint , ohne sie zu verändern (i die Maschine neu gestartet haben und es funktioniert immer noch)
Pavlos G.

1
Es ist in Ordnung, Sie können dies tun, da dies hostnamejetzt ein Dienst ist, der von verwaltet wird upstart. Es wird genau das gleiche tun, starten Sie den Dienst neu.
Pavlos G.

2
Hinweis: Dies funktioniert nicht für Ubuntu 14.x, da hostnamees nicht mehr ininit.d
Rápli András

2
Warnung: Funktioniert nicht mit Ubuntu 18+, das standardmäßig cloud-init ausführt und den Hostnamen beim Booten steuert.
nslntmnx

24

Dies ist ungefährlich. Sie müssen lediglich sicherstellen, dass Sie sowohl die Konfigurationsdatei für den Systemhostnamen (/ etc / hostname) als auch die Auflösungsdatei für den Hostnamen (/ etc / hosts) bearbeiten. Führen Sie von einem Terminal aus Folgendes aus:

sudo -s
editor /etc/hostname
editor /etc/hosts
shutdown -ry now

2
Sie können das Herunterfahren mit vermeiden sudo service hostname restart.
Wtower

3
@Wtower Funktioniert nicht mit 14.04. :(
Dotslash

Warnung: Funktioniert nicht mit Ubuntu 18+, das standardmäßig cloud-init ausführt und den Hostnamen beim Booten steuert.
nslntmnx

18

Zusätzlich zum Bearbeiten von / etc / hosts und / etc / hostname können auch verschiedene Dienste Probleme mit der Änderung haben. MySQL und Postfix werden standardmäßig in Ubuntu installiert. Ein kaputtes Postfix wirkt sich nicht auf die meisten Ubuntu-Benutzer aus, da es sich um einen Hintergrund-E-Mail-Server handelt, der nicht sehr häufig verwendet wird.

Postfix:

sudo editor /etc/postfix/main.cf
sudo service postfix restart

Die Standardkonfiguration für mysql verwendet keinen Hostnamen, daher funktioniert es so wie es ist. Wenn Sie es angepasst haben, bearbeiten Sie die Dateien in / etc / mysql / und starten Sie den Dienst neu.

Möglicherweise möchten Sie auch / etc / motd (Nachricht des Tages) bearbeiten, das auf virtuellen Terminals und Remote-Anmeldungen angezeigt wird. Das schadet aber nichts.

Andere Dienste, die Sie möglicherweise installiert haben und die repariert werden müssten, sind Apache, Bind9 usw. Suchen und bearbeiten Sie den Hostnamen in der jeweiligen Konfiguration und starten Sie den Dienst neu.


14

Der Hostname identifiziert Ihren Computer eindeutig im lokalen Netzwerk (und möglicherweise auch im Internet). Es ist daher nicht ratsam, ihn zu ändern, es sei denn, Sie wissen, was Sie tun.

Sie können die Shell-Eingabeaufforderung jedoch so ändern, dass der .belkin(Domainnamen-Teil) nicht angezeigt wird :

export PS1='\u@\h \w> '

Weitere Informationen finden Sie in der bash-Manpage und im Abschnitt zur Eingabeaufforderung .


14

Ein weiterer besserer und sicherer Weg, um den Hostnamen umzubenennen

Installieren Sie ailurus

  • Fügen Sie die PPA hinzu und aktualisieren Sie Ihr Repository

    sudo add-apt-repository ppa:ailurus && sudo apt-get update

  • Installieren Sie ailurus

    sudo apt-get install ailurus

  • Nach der Installation finden Sie es unter Anwendungen >> Systemprogramme >> Ailurus
    Alt-Text

5
Warum bekommt das negative Stimmen? Es sollte besser sein, etwas mit einem speziellen Tool zu konfigurieren, als auf der Kommandozeile herumzuspielen und dabei Fehler zu machen.
Endolith

38
Eine so große Software zu installieren, nur um einen Hostnamen zu ändern, ist ein wenig übertrieben
Nemo,

9
Ich stimme zu, dass dies übertrieben ist - insbesondere, weil die Software nicht in den Repositories verfügbar ist, sondern von einem PPA installiert werden muss ...
Marcel Stimberg

@ karthick87 vielleicht in deiner Antwort erwähnen, dass dies eine große Software ist (mit anderen Konfigurationsoptionen)? - Ich persönlich stimme Endolith zu, dass ein Tool mit einem einzelnen, einfachen Änderungspunkt besser ist als viele Befehlszeilenoperationen (ich verwende Ubuntu Tweak, das derzeit auch von einem PPA erhältlich ist)
david.libremone

Ich denke, dass Sie mit diesem Tool viel mehr Dinge (und leichter) brechen können, als nur ein Wort in ein paar Dateien zu ersetzen. Es hat Ihnen zu viele Dinge gezeigt.
Gerlos

9

Wenn Sie nicht mit einem Texteditor spielen möchten, hat Ubuntu Tweak (holen Sie sich das Deb von der Website) dies als eine der kleinen Sachen, mit denen Sie spielen können (zusammen mit vielen anderen kleinen Verbesserungen, die Sie vielleicht machen möchten, aber Ich möchte nicht wirklich mit dem Terminal und den Dateien selbst herumspielen.


Gibt es aus Neugier einen bestimmten Grund, warum Ubuntu Tweak nicht in den Software-Repos enthalten ist?
Olivier Lalonde

Sie sind nie dazu gekommen, es hinzuzufügen / wurden nicht akzeptiert. Sie können ihr Repo entweder direkt nach dem Start von Tweak oder über die Terminal / Repo-Liste zu Ihrer Liste hinzufügen.
dkuntz2

Sie können auch Ubuntu Tweak als PPA hinzufügen mit sudo add-apt-repository ppa:tualatrix/ppadann sudo apt-get updateanschließend sudo apt-get install ubuntu-tweak
david.libremone

1
beachte, dass Ubuntu Tweak diese Option seit ~ 13.04 nicht mehr anbietet
david.libremone

9

Verwenden Sie den hostnameBefehl, um Ihren Hostnamen zu ändern

sudo hostname newname

Dies bearbeitet jedoch nicht Ihre Hosts-Datei. Sie müssen dies tun, um sicherzustellen, dass Ihr Computer sich selbst erkennt

gksudo /etc/hosts

Fügen Sie einen neuen Eintrag für Ihren Hostnamen hinzu, der auf 127.0.0.1 zeigt

127.0.0.1 oldname newname

Sie könnten den alten Eintrag auch entfernen, aber ich bevorzuge es, ihn dort zu behalten.


7

Der folgende Befehl ändert den Hostnamen sofort, aber um ihn dauerhaft zu machen, müssen Sie ihn bearbeiten /etc/hostname:

echo 'new_hostname' > /proc/sys/kernel/hostname

Öffnen Sie eine neue Terminalsitzung und Sie werden es sofort sehen.

Mit systemdan Ort und Stelle ist der richtige Weg, dies zu tun

hostnamectl set-hostname "new_name"

4

Wenn Sie einen GUI-unterstützten Prozess wünschen, installieren Sie Ubuntu-Tweak. Unter anderem wird diese App verwendet, um den Computernamen über die Registerkarte "Computer-Details" -> "Hostname" zu ändern.


3

Systemeinstellungen -> Details -> Übersicht (Standard geöffnet in U16.04) - Gerätename.

Zusätzlich müssen Sie den Namen in / etc / hosts ändern. Ubuntu BUG ()?


Ich denke, das ist eine ziemlich nette Möglichkeit, den Hostnamen zu ändern.
jawtheshark

2

Öffnen Sie ein Terminal und

sudo sed -i '1s/.*/desired-name/g' /etc/hostname

# you need restart to effect with...

sudo shutdown -r 0

Warnung: Funktioniert nicht mit Ubuntu 18+, das standardmäßig cloud-init ausführt und den Hostnamen beim Booten steuert.
nslntmnx
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.