EQVPS
DashboardLoslegen

Hostname und Zeitzone auf einem VPS ändern

Benennen Sie Ihren Server um und stellen Sie seine Uhr auf Ihre Zeitzone, unter Ubuntu, Debian und Windows Server: ohne die sudo-Warnung, die nach einem bloßen hostnamectl kommt, und mit Prüfung von cron, Logs und Zeitsynchronisation nach der Änderung. Jeder Schritt auf unseren Images getestet.

Ein neuer Server heißt so, wie Sie es bei der Bestellung eingegeben haben, und seine Uhr steht auf UTC. Beides lässt sich leicht ändern. Beim Umbenennen gibt es einen Haken: Der übliche Befehl lässt eine alte Zeile in /etc/hosts stehen, und unter Ubuntu beschwert sich sudo darüber vor jedem Befehl. Diese Anleitung behebt beides unter Ubuntu und Debian und zeigt die Befehle für Windows Server. Jeden Schritt haben wir auf unseren eigenen Images ausgeführt.

Sie brauchen einen Benutzer mit sudo. Die Ubuntu-Einrichtungsanleitung legt einen an.

1. Aktuellen Namen und Zeit prüfen

hostnamectl
timedatectl

Unser frischer Ubuntu-24.04-Server zeigte den Bestellnamen als statischen Hostnamen, dazu Time zone: Etc/UTC, System clock synchronized: yes und NTP service: active. Debian 12 und 13 sahen genauso aus. Die Zeitsynchronisation läuft also schon, NTP müssen Sie nicht installieren.

2. Den Hostnamen ändern

Wählen Sie einen kurzen Namen oder einen vollständigen, wenn er zu einem DNS-Eintrag passen soll, den Sie verwalten, etwa web1.example.com:

sudo hostnamectl set-hostname web1.example.com

Der Name ändert sich sofort, aber /etc/hosts verweist mit 127.0.1.1 noch auf den alten. Unter Ubuntu zeigte sich das sofort:

sudo: unable to resolve host web1.example.com: No address associated with hostname

hostname -f scheiterte genauso. Debian fand den Namen auf anderem Weg und zeigte keine Warnung, aber sein /etc/hosts war ebenso veraltet. Korrigieren Sie die Datei auf beiden:

sudo sed -i 's/^127\.0\.1\.1 .*/127.0.1.1 web1.example.com web1/' /etc/hosts
grep 127.0.1.1 /etc/hosts
hostname -f

Danach war sudo still, hostname -f gab web1.example.com aus und hostname -s gab web1 aus.

Der Kommentar oben in /etc/hosts sagt, dass cloud-init die Datei verwaltet und Ihre Änderungen verloren gehen können. Auf unseren Images schreibt cloud-init sie nur beim ersten Start des Servers. Wir haben neu gestartet und cloud-init dann zusätzlich dazu gebracht, den nächsten Start als neue Instanz zu behandeln. Name und unsere Zeile in /etc/hosts überstanden beides.

Der Hostname existiert nur auf Ihrem Server. Sollen andere Rechner ihn unter diesem Namen erreichen, legen Sie zusätzlich einen DNS-Eintrag an: Domain auf den VPS zeigen lassen erklärt das. Für einen Mailserver zählt auch der Rückwärtseintrag: siehe Reverse DNS einrichten.

3. Die Zeitzone ändern

Listen Sie die Zonen auf und wählen Sie Ihre. Unser Server kannte 497:

timedatectl list-timezones | grep -i tokyo
sudo timedatectl set-timezone Asia/Tokyo
timedatectl

Die Uhr selbst springt nicht. Es ändert sich nur, wie Zeiten angezeigt und lokale Zeitpläne gelesen werden. Das haben wir nach dem Wechsel von UTC auf Asia/Tokyo gesehen:

WasNach der Änderung
date, journalctlSofort Tokioter Zeit
cronSofort Tokioter Zeit: ein Job für 09:48 lief um 09:48:01 JST, ohne Neustart
/var/log/syslog (Ubuntu)Schrieb UTC-Zeiten, bis rsyslog neu gestartet wurde
/etc/timezone (Ubuntu)Stand weiter auf Etc/UTC

Starten Sie also den Logger neu und alles Langlebige, das Zeiten ausgibt, etwa Ihre App:

sudo systemctl restart rsyslog

Debian 12 und 13 installieren kein rsyslog. Ihre Logs liegen nur im Journal, und das folgt der neuen Zone von selbst.

Einige ältere Programme lesen die Zone aus /etc/timezone statt aus der Systemeinstellung. Zeigt eines davon noch UTC, tragen Sie dort denselben Namen ein und starten das Programm neu:

echo Asia/Tokyo | sudo tee /etc/timezone

Sehen Sie vor dem Wechsel Ihre crontab durch. Eine Zeile 0 3 * * *, gedacht für 03:00 UTC, läuft jetzt um 03:00 Tokioter Zeit, also neun Stunden früher in echter Zeit.

4. Windows Server

Öffnen Sie unter Windows Server 2022 PowerShell als Administrator. Das Umbenennen braucht einen Neustart:

Rename-Computer -NewName web1 -Restart

Computernamen unter Windows sind auf 15 Zeichen begrenzt, nehmen Sie hier also den kurzen Namen.

Für die Zeitzone suchen Sie die ID und setzen sie. Das gilt sofort, ohne Neustart:

Get-TimeZone -ListAvailable | Where-Object Id -like '*Tokyo*'
Set-TimeZone -Id 'Tokyo Standard Time'
Get-TimeZone

Wenn Sie schon angemeldet sind, ist jetzt ein guter Moment, RDP abzusichern.

Welcher Tarif

Hostname und Zeitzone kosten nichts, jeder Tarif passt also: Nano für $3/Monat für einen kleinen Linux-Server, Windows-Small für $11/Monat für Windows Server 2022. Alle Tarife finden Sie auf der Seite VPS, bezahlt wird in USDT, USDC oder ETH über Base, Ethereum oder Polygon.

FAQ

Setzt cloud-init meinen Hostnamen nach einem Neustart zurück?

Auf unseren Images nicht. Wir haben mit hostnamectl einen neuen Namen gesetzt, neu gestartet und cloud-init außerdem dazu gebracht, den nächsten Start als ganz neue Instanz zu behandeln. Der Name blieb beide Male, ebenso unsere Änderung an /etc/hosts. Eine Neuinstallation gibt Ihnen ein frisches System mit dem ursprünglichen Namen.

Warum meldet sudo nach dem Umbenennen „unable to resolve host“?

hostnamectl ändert den Namen, aber nicht /etc/hosts, wo 127.0.1.1 noch auf den alten Namen zeigt. Unter Ubuntu gibt sudo dann vor jedem Befehl „unable to resolve host“ aus. Ersetzen Sie in der Zeile 127.0.1.1 den alten Namen durch den neuen, dann ist die Warnung weg.

Sollte mein Server UTC oder meine Ortszeit verwenden?

UTC ist die sicherere Voreinstellung: Logzeiten verschiedener Server passen zusammen, und es gibt keine Sprünge bei der Zeitumstellung. Wechseln Sie zu Ihrer Zeitzone, wenn cron-Jobs und Logzeiten in Ihrer Uhrzeit laufen sollen. Beides funktioniert, und Sie können jederzeit wieder wechseln.

Muss ich NTP einrichten?

Nein. Unsere Ubuntu- und Debian-Images halten die Uhr ab dem ersten Start mit systemd-timesyncd synchron. Führen Sie timedatectl aus und suchen Sie nach „System clock synchronized: yes“.

Bringt der Zeitzonenwechsel meine cron-Jobs durcheinander?

Cron nutzt die neue Zone sofort. Auf unserem Ubuntu-24.04-Server lief ein Job für 09:48 Uhr Tokioter Zeit um 09:48:01 Tokioter Zeit, ohne cron neu zu starten. Prüfen Sie aber Jobs, die für UTC geschrieben wurden: Die laufen jetzt zu dieser Stunde Ihrer Ortszeit.

Kommentare

Noch keine Kommentare. Sei der Erste.

Kommentar hinterlassen

Kommentare werden vor der Anzeige moderiert.