So legen Sie die Zeitzone auf einem Ubuntu 18.04 Server fest

Um die Systemzeitzone auf einem Ubuntu 18.04 Server zu ändern, überprüfen Sie zuerst den Namen mit timedatectl list-timezones und stellen Sie sie dann wie in sudo timedatectl set-timezone Asia/Seoul gezeigt ein. tzselect ist ein Werkzeug, um den Zeitzonennamen zu finden, und das Ausführen allein ändert nicht die systemweiten Einstellungen.

Unterschied zwischen Zeitzone und Systemzeit

Eine Zeitzone ist eine Regel, die angewendet wird, um denselben Moment als lokale Datum- und Uhrzeit anzuzeigen. Zum Beispiel ist Asia/Seoul der Name der Zeitzone für Seoul und liegt 9 Stunden vor der UTC (Koordinierte Weltzeit). Das Ändern der Zeitzone ändert in der Regel die Anzeigeregel, synchronisiert die Uhr aber nicht mit einem Internet-Zeitserver.

Wenn Sie geplante Aufgaben oder Protokollanalysen haben, die auf der lokalen Zeit auf dem Server basieren, überprüfen Sie zuerst die Auswirkungen der Änderung. Einige Programme verwenden ihre eigenen Zeitzoneneinstellungen oder Umgebungsvariablen, sodass sie sich von den Systemeinstellungen unterscheiden könnten. Der allgemeine Sicherheits-Support für Ubuntu 18.04 ist beendet, daher überprüfen Sie den anwendbaren Umfang in Ubuntu-Sicherheitswartungsplan und planen Sie die Migration zu einer unterstützten Version.

Überprüfen Sie die aktuelle Zeitzone

Verwenden Sie den folgenden Befehl, um die Systemzeit und die Zeitzoneneinstellungen zu überprüfen. Notieren Sie den in Time zone angezeigten Namen, bevor Sie Änderungen vornehmen, damit Sie später zurückkehren können.

timedatectl status
date
date -u

timedatectl status zeigt die lokale Systemzeit, UTC und die Zeitzone an. date zeigt die auf die aktuelle Umgebung anwendbare Ortszeit und date -u zeigt UTC an. Wenn die Umgebungsvariable TZ in der aktuellen Shell gesetzt ist, kann die date-Ausgabe von der Standardzeitzone des Systems abweichen.

Ändern Sie die Systemzeitzone mit timedatectl

Überprüfen Sie zuerst die verfügbaren Zeitzonennamen. Die Liste kann je nach den installierten Zeitzonendaten variieren.

timedatectl list-timezones | grep -F 'Asia/Seoul'

Wenn Asia/Seoul in der Liste enthalten ist, setzen Sie die Systemzeitzone mit dem folgenden Befehl. Administratorrechte sind erforderlich. Wenn Sie sich in einer anderen Region befinden, ersetzen Sie sie durch den in der Liste gefundenen Namen.

sudo timedatectl set-timezone Asia/Seoul
timedatectl status

Wenn der Befehl erfolgreich ist, wird der ausgewählte Name in Time zone angezeigt. Tritt ein Fehler auf, überprüfen Sie die Groß-/Kleinschreibung des Namens, die verfügbare Liste und die Administratorrechte. Dieser Befehl ist möglicherweise nicht verwendbar, wenn das System kein systemd verwendet oder Änderungen in einem Container eingeschränkt sind.

Um zur ursprünglichen Zeitzone zurückzukehren, verwenden Sie den vor der Änderung aufgezeichneten Namen als Argument für denselben Befehl. Verwenden Sie beispielsweise den folgenden Befehl nur, wenn der vorherige Wert Etc/UTC war.

sudo timedatectl set-timezone Etc/UTC
timedatectl status

Dieser Befehl ändert die Zeitzoneneinstellung von /etc/localtime. Wenn die Hardware-Echtzeituhr (RTC) auf Ortszeit eingestellt ist, kann dies auch die RTC beeinflussen. Für weitere Details siehe Ubuntu 18.04 timedatectl-Handbuch.

Verwendung von tzdata und tzselect

Sie können die Systemzeitzone auch über ein interaktives Menü mit folgendem Befehl einstellen. Wählen Sie in der Regionenliste Asia und in der Stadtauswahl Seoul aus. Die Zahlen im Menü können je nach Umgebung variieren, prüfen Sie daher die auf dem Bildschirm angezeigten Elemente.

sudo dpkg-reconfigure tzdata

Überprüfen Sie nach Abschluss erneut die Systemzeitzone mit timedatectl status. Andererseits gibt tzselect nur den Namen der ausgewählten Zeitzone aus und ändert die Zeitzone nicht für das gesamte System. Den durch die Auswahl von Region und Stadt erhaltenen Namen können Sie als Argument für timedatectl set-timezone verwenden.

tzselect

Um einen bestimmten Befehl in einer anderen Zeitzone auszuführen, können Sie TZ für diesen Befehl angeben. Das folgende Beispiel gilt nur für diese einzelne Ausführung von date und ändert die Systemeinstellungen nicht.

TZ=Asia/Seoul date

export TZ=Asia/Seoul wirkt sich auf die aktuelle Shell und die von dieser Shell gestarteten Programme aus, ändert jedoch nicht die systemweiten Einstellungen. Sie können diese Variable in der aktuellen Shell mit unset TZ aufheben. Weitere Details finden Sie im Ubuntu tzselect-Handbuch.

Bildschirmeinstellungen und Überprüfung nach der Änderung

Wenn ein grafischer Desktop installiert ist, können Sie die Zeitzone auch in den Einstellungen unter Datum & Zeit auswählen. Wenn die automatische Zeitzoneneinstellung aktiviert ist, kann die manuelle Auswahl eingeschränkt sein. Der Menüpunkt variiert je nach Desktop-Umgebung, und eine typische Server-Installation hat möglicherweise keine grafische Oberfläche.

Überprüfen Sie nach der Änderung timedatectl status und sehen Sie sich die Protokolle und geplanten Aufgaben der betroffenen Dienste an. Wenn die Zeitzone korrekt ist, die tatsächliche Uhrzeit jedoch falsch ist, müssen Sie den Zeitsynchronisierungsdienst und die Netzwerkverbindung separat überprüfen. Wenn nur eine bestimmte Anwendung eine abweichende Zeit anzeigt, prüfen Sie auch die TZ dieses Prozesses und die Anwendungseinstellungen.