it-swarm-eu.dev

Wie stelle ich Ubuntu so ein, dass meine Uhr mit einem Zeitserver synchronisiert wird?

Ich möchte, dass Ubuntu meine Systemuhr beim Start automatisch mit einem Zeitserver synchronisiert.

Mein PC ist jedoch erst mit dem Internet verbunden, nachdem ich mich angemeldet habe (plus 5 - 10 Sekunden für eine gute Maßnahme).

Wie kann ich das einstellen?

23
Nathan Osman

Dies geschieht mit NTP, wofür Anweisungen verfügbar sind. Grundsätzlich müssen Sie einen NTP Daemon installieren. Es scheint mehrere Möglichkeiten zu geben, aber die "Standard" -Variante ist im Paket ntp enthalten. Gemäß den Anweisungen auf der verlinkten Seite,

Sudo apt-get install ntp

alles wird so eingerichtet, dass es mit Ubuntus NTP Server synchronisiert werden kann.

EDIT: Ich habe "beim Start" verpasst. Es wird allgemein empfohlen, ntpd zu verwenden, um eine kontinuierliche Synchronisierung zwischen Ihrem System und dem Server zu erreichen. Wenn Sie jedoch wirklich nur einmal synchronisieren möchten, scheint die Antwort von mfisch genau das zu sein, wonach Sie suchen.

32
David Z

Wenn Sie zu "System-> Administration-> Time and Date" gehen, erhalten Sie eine GUI zum Einstellen von Datum und Uhrzeit.

Für die Verwendung von Zeitservern ist eine Option vorgesehen. Wenn Sie dies überprüfen und NTP nicht installiert ist, werden Sie gefragt, ob Sie es installieren möchten. Klicken Sie einfach auf "Ja" und lassen Sie es seinen Job machen :)

9
Little Jawa

Sie können dies mit at und ntpdate tun. at ist wahrscheinlich schon installiert, aber ntpdate darf nicht sein. (apt-get installiere ntpdate).

Erstellen Sie zuerst ein kleines Skript, das ntpdate ausführt, und nennen Sie es update_time.sh.

#!/bin/bash
ntpdate pool.ntp.org

Fügen Sie in Ihrer .bash_login-Datei (die Sie möglicherweise erstellen müssen) Folgendes hinzu:

at -f ~/update_time.sh now + 1 minute

Das sollte machen was du willst. Sie können die Verzögerung, die at verwendet, auf 5 Minuten, 10 Minuten usw. ändern.

EDIT: Ich habe gerade festgestellt, dass Sie root sein müssen, um ntpdate auszuführen. Sie müssen das SUID-Bit im Skript update_time.sh setzen, das ich erwähnt habe. Sie können dies tun, indem Sie dies über den Befehl ausführen (muss nur einmal ausgeführt werden):

Sudo chmod 4711 update_time.sh
Sudo chown root update_time.sh
6
mfisch

Seit Ubuntu 16.04 ersetzt timedatectl/timesyncd (die Teil von systemd sind) den größten Teil von ntpdate/ntp. Siehe Zeitsynchronisation .

Möglicherweise müssen Sie die Zeitsynchronisierung aktivieren, indem Sie Folgendes verwenden:

$ Sudo timedatectl set-ntp on

Wenn Sie chrony verwenden möchten:

  • Wenn Sie eine einmalige Synchronisierung benötigen, verwenden Sie: $ chronyd -q

  • Wenn Sie eine einmalige Zeitprüfung benötigen, ohne die Zeit einzustellen, verwenden Sie: $ chronyd -Q

  • Für die fortlaufende Synchronisierung ist die empfohlene Lösung chronisch:

chronisch (d)

Der NTP -Daemon chronyd berechnet die Drift und den Offset Ihrer Systemuhr und passt diese kontinuierlich an, sodass es keine großen Korrekturen gibt, die beispielsweise zu inkonsistenten Protokollen führen könnten. Die Kosten sind ein wenig Rechenleistung und Arbeitsspeicher, aber für einen modernen Server ist dies normalerweise vernachlässigbar. Installation

Um chrony zu installieren, geben Sie an einer Eingabeaufforderung des Terminals Folgendes ein:

$ Sudo apt install chrony

Möglicherweise müssen Sie auch aktivieren

Sudo timedatectl set-ntp on

Update: Eine andere Methode, wenn das oben genannte nicht funktioniert, besteht darin, einen Cron-Job zum Ausführen von $ chronyd -q festzulegen.

0
JBaczuk