Wie kann ich die Systemzeit halten?

42

Ich weiß, dass Raspberry Pi nicht mit einer Systemuhr geliefert wird, um Geld zu sparen. Wie kann ich die Systemzeit halten?

ACarter
quelle

Antworten:

41

Software-Lösung

Die am häufigsten verwendete Methode zum Aufrechterhalten der Systemzeit ist der Network Time Protocol Daemon (NTPd).

NTPd ist die gebräuchlichste Methode, um die Softwareuhr eines GNU / Linux-Systems mit Internet-Zeitservern über das Network Time Protocol zu synchronisieren.

NTPd sollte bereits auf dem Standardbetriebssystem Debian Squeeze installiert und eingerichtet sein. Sie müssen es jedoch für Arch Linux manuell installieren und konfigurieren.

Zuerst sollten Sie NTP installieren.

$ sudo pacman -S ntp

Jetzt können Sie es manuell über die Befehlszeile aktualisieren.

$ sudo ntpd -qg

Sie können es auch beim Start zur Liste der Dämonen hinzufügen, indem Sie es zu Ihrer /etc/rc.confDatei hinzufügen . Wie so.

# /etc/rc.conf
DAEMONS=(!hwclock ntpd)

Beachten Sie, dass Sie deaktivieren müssen, hwclockindem Sie ein Ausrufezeichen ( !) in der Dämonenliste voranstellen .


Vor mlp schützen : Wenn Sie ntpdateIhrer Liste von Daemons hinzufügen , wird die Zeit nach dem Booten viel schneller korrigiert. Ihre Dämonenliste würde also so aussehen.

# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)
Gemeinschaft
quelle
ntpdate ist veraltet: support.ntp.org/bin/view/Dev/DeprecatingNtpdate
Gergely Fehérvári
1
/etc/rc.conf ist ebenfalls veraltet.
Rubenvb
1
Was ist die Alternative, wenn /etc/rc.conf veraltet ist? Genau das brauche ich.
Jonathan S. Fisher
1
@exabrial systemctl enable ntpd.serviceähnelt dem Hinzufügen zu /etc/rc.conf.
Lekensteyn
Bei Neuinstallationen wird die Zeit von einer Vielzahl von Quellen abgeholt, bei denen es sich um viele Sprünge von der Master-Uhr handeln kann. Einzelheiten und den Grund, warum Sie es in time.nist.gov ändern sollten, finden Sie in den folgenden Fragen und Antworten: raspberrypi.stackexchange.com/questions/68811/…
SDsolar
16

Hardware-Lösung

Wenn Sie sicherstellen möchten, dass die Uhrzeit auf dem RPi immer korrekt ist, oder die Uhrzeit ohne Netzwerkverbindung beibehalten möchten, müssen Sie eine Erweiterungskarte mit einer Echtzeituhr (RTC) kaufen: Es ist mindestens eine verfügbar und mindestens eine in Entwicklung.

Verfügbare RTC-Erweiterungskarten

RTC-Erweiterungskarten in Entwicklung

Alex Chamberlain
quelle
3

Bei nicht vernetzten Anwendungen (oder wenn die Netzwerkzeit möglicherweise nicht ausreicht) können Sie die RTC-Uhr (@Alex Chamberlains Antwort) mit der von einem GPS- oder VLF-Empfänger abgeleiteten Zeit einstellen (in Nordwesteuropa wäre dies Rugby-MSF). . Beides könnte eine hervorragende Lösung für Geräte sein, die vor Ort eingesetzt werden (Roboter, Feldüberwachung usw.).

Beide Lösungen wären auch gute Hobbyprojekte. Ich erinnere mich, dass ich in den 1980er Jahren einen Rugby-MSF-Empfänger gebaut habe. Ein handelsüblicher GPS-Empfänger ("Puck") würde die Uhrzeit und das Datum in den Sätzen von NMEA 0183 angeben - es wäre dann ein einfaches Codierungsprojekt, um diese Informationen zu extrahieren.

winwaed
quelle
1
Aus Gründen des Interesses wird das MSF-Zeitsignal jetzt von Anthorn Radio Station in Cumbria gesendet, nicht von Rugby.
Tomfanning
1
Ich lebe zurzeit nicht in Großbritannien und bin eine Weile nicht mehr mit dem M1 gefahren. Haben sie also den "Wald" gerodet? (Ich nehme an, die nahen Marinemasten in Daventry sind noch da)
winwaed 13.11.12
Nicht sicher - ich bin auf der falschen Seite des Landes für die M1. Laut en.wikipedia.org/wiki/Rugby_Radio_Station scheint Rugby Radio Station jedoch Mitte 2007 nicht mehr aktiv zu sein - mit Hinweisen auf den Abriss, einschließlich eines Fotos. Und hier gibt es ein Video: youtube.com/watch?v=bx2lhSUuGqU . In Google Street View sind jedoch noch Masten sichtbar. Ich bin mir ziemlich sicher, dass es sich um neuere Bilder als 2007 handelt.
Tomfanning
Und wenn ich mich auf Wikipedia umsehe, gibt es keine Erwähnung von "Marinemasten" in Daventry, also muss ich mich irren - nur ein sehr alter (jetzt zerlegter) Sender an das Imperium. Das M1-Laufwerk ist jetzt also noch langweiliger!
winwaed
3

Installieren Sie den NTP-Dämon unter Arch Linux mit systemd:

sudo pacman -S ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd

Stellen Sie auch sicher, dass Ihre Zeitzone richtig eingestellt ist, in meinem Fall:

sudo rm /etc/localtime
sudo ln -s  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
tjoe
quelle
0

Wenn Sie nicht möchten, dass NTP die ganze Zeit auf Ihrem System ausgeführt wird, können Sie eine der folgenden Optionen verwenden, um die Zeit festzulegen:

  • ntpdate - Einmal installiert, richtet es das System so ein, dass es die Zeit abruft , zu der eine Schnittstelle erscheint (obwohl es "veraltet" ist und immer noch ziemlich häufig verwendet wird).
  • rdate - Einfacherer und leichterer Ansatz, wenn auch etwas ungenauer.
  • tlsdate - Eine sicherere Option, die einen TLS / SSL-Server als Zeitquelle verwendet.

Offensichtlich ist Ihre Uhr nicht so genau wie die Verwendung von NTP, da alle Uhren driften. Da diese Apps nur eine einzige Zeitquelle verwenden, können sie möglicherweise zur Einstellung der falschen Zeit führen, wenn die von ihnen gewählte Quelle ein Problem aufweist.

Pierz
quelle