Wie kann ich meine Systemuhr unter Mavericks synchron halten?

22

Ich habe einen 27 "iMac von Mitte 2011, auf dem Mavericks (10.9.1) ausgeführt wird. Ich habe diesen Herbst von Mountain Lion aktualisiert, als Mavericks veröffentlicht wurde. Ich hatte noch nie ein Problem mit meiner Systemuhr.

Seit der Installation von Mavericks gewinnt meine Uhr konstant 20 Sekunden pro Tag. Ich habe meine Zeitzone richtig eingestellt und "Datum und Uhrzeit automatisch einstellen" ist in meinen Systemeinstellungen für Datum und Uhrzeit aktiviert. Es ist auf "Apple / Americas / US (time.apple.com)" eingestellt.

Wenn ich das Fenster "Date & Time System Preferences" öffne, wird meine Uhr sofort auf die richtige Zeit eingestellt, aber ohne das Fenster zu öffnen, kommt sie ziemlich schnell aus der Spur.

Ich habe das Kontrollkästchen zum automatischen Einstellen von Datum und Uhrzeit neu gestartet, aktiviert und deaktiviert und es scheint auch nicht geholfen zu haben.

Irgendwelche Lösungen oder Ideen?


AKTUALISIEREN:

Ich habe Fortschritte gemacht. Frage: Wie kann ich feststellen, ob mein Mac die Uhr korrekt aktualisiert? und seine akzeptierte Antwort von grgarside lieferte eine Menge hilfreicher Hilfe bei der Fehlerbehebung. Mein Drift beträgt satte 499,988 (plus 43,19 Sekunden pro Tag)!

Vor allem läuft der Schrittmacher alle 5 - 15 Sekunden, wie aus meinem Stammprotokoll hervorgeht. Bei jedem Start wird jedoch ein Fehler angezeigt:

Feb  1 11:53:29 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:53:39 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:53:51 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:53:59 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:54:09 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:54:19 jsw.local pacemaker[19928]: adjtime: Operation not permitted

Es scheint, dass ich ein Berechtigungsproblem habe, aber ich kann es nicht herausfinden. Ich habe den Schrittmacherplsit über launchctl entladen und neu geladen

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.pacemaker.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.pacemaker.plist

Hier ist ein Textexport meiner com.apple.pacemaker.plist

{
    Label = "com.apple.pacemaker";
    ProgramArguments = (
        "/usr/libexec/pacemaker",
        "-b",
        "-e",
        "0.0001",
        "-a",
        10,
    );
    KeepAlive = {
        PathState = {
            "/private/var/db/ntp.drift" = YES;
        };
    };
}

Meine Datei /private/var/db/ntp.drift gehört root: wheel und hat die Berechtigungen 644. /System/Library/LaunchDaemons/com.apple.pacemaker.plist hat genau die gleichen Eigentumsrechte und Berechtigungen.

Ich hoffe, dass dieses Update genügend zusätzliche Informationen enthält, damit mich jemand über dieses Problem hinwegbringen kann.

Scott
quelle
2
Ich habe das System noch nie so laufen lassen, wie Sie es beschrieben haben, aber eine andere Person hier musste einen anderen Zeitserver auswählen (Asien, wenn Sie derzeit die USA verwenden) und dann zurückschalten , um die Einstellung zum Festhalten zu erhalten.
bmike
Ich würde vermuten, dass etwas mit Ihrem DNS oder Hostfile nicht stimmt. Haben Sie Ihre Netzwerkeinstellungen und -einstellungen in irgendeiner Weise geändert? Nicht nur unter 10,9, sondern auch unter 10,8? Ich würde versuchen , aus time.apple.com einem der wechselnden pool.ntp.org/en ‚s URLs.
Andrew U.
1
@ AndrewU. Ihr Kommentar berücksichtigt nicht, dass die Zeit anscheinend richtig synchronisiert wird, wenn ich das Einstellungsfenster öffne
Scott
1
@bmike Ich versuche dies, war nur noch nicht auf diesem iMac, um die Dinge zu überprüfen. Vielen Dank, Scott
Scott
1
Ich habe genau das gleiche Problem: Die Uhr verschiebt sich wöchentlich um einige Minuten, wird jedoch sofort ordnungsgemäß synchronisiert, wenn ich das Fenster mit den Uhr-Einstellungen öffne. Ich habe festgestellt, dass der Fehler "adjtime: Operation not allowed" behoben werden kann, wenn Sie den Schrittmacher über sudo: sudo / usr / libexec / pacemaker -v in der Befehlszeile ausführen falsch hinter den Kulissen.
Brian Stormont

Antworten:

22

Diese scheinen auf meinem iMac mit Mountain Lion einwandfrei zu funktionieren:

0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org time.apple.com

Kopieren Sie einfach die durch Leerzeichen getrennte Zeile in das Feld "Datum und Uhrzeit automatisch einstellen" in den Einstellungen für Datum und Uhrzeit. Denken Sie daran, die Eingabetaste zu drücken, nachdem Sie die Namen der NTP-Server eingegeben haben, damit die Datei ntp.conf aktualisiert wird.

user1082
quelle
Ich verstehe nicht, warum das funktioniert hat, aber es hat funktioniert!
Scott
In Yosemite ist dies ein Dropdown-Menü, das scheinbar nicht bearbeitet werden kann (obwohl es so aussieht, als ob Sie es bearbeiten können ...) :(
RedYeti
Sie können immer noch in Yosemite bearbeiten (ich habe es gerade getan!). Wenn Sie die Dropdown-Liste auswählen und die Entf-Taste drücken, wird der Text ausgeblendet. Sie können cmd + v nicht zum Einfügen verwenden, aber durch einen zweiten Klick erhalten Sie eine Einfügeoption im Menü.
Ryan Dlugosz
3

Maverisks 'NTPD ist kaputt, zerschlagen, korrupt. Apple weiß darüber Bescheid: Ich habe stundenlang mit ihnen telefoniert und ihnen Samples und Dateien in Hülle und Fülle zur Verfügung gestellt. Es kann eine Übertragung von iOS sein ("Zurück zum Mac", ob es tatsächlich funktioniert oder nicht). Der Täter scheint ein neuer Maverisks-Daemon namens "pacemaker" zu sein, der in klassischer Apple-Manier unterdokumentiert ist und sich nicht so zu verhalten scheint, wie es nur wenige Dokumente gibt.

äußere
quelle
Hier gibt es eine ausführliche Diskussion darüber: discussion.apple.com/thread/5604114
shrx
Schauen Sie sich Bryan Christiansons ChronyControl an (Bryan steht auch hinter WhatRoute). Mit Mojave 10.14.4 wird die NTP-Zeitmessung wieder auf den neuesten Stand gebracht.
Außen
2

Ich empfehle Ihnen dringend, vor einer Neuinstallation das NVRAM (nichtflüchtiger RAM) zurückzusetzen.

Ein NVRAM (oder PRAM auf älteren PowerPC-basierten Macs) speichert bestimmte Einstellungen. Es ist eine Art Arbeitsspeicher wie der normale Arbeitsspeicher in Ihrem Mac, aber ein wesentlicher Unterschied besteht darin, dass ein NVRAM speichert, was sich darauf befindet, selbst wenn Ihr Mac ausgeschaltet wird.

Zu den im NVRAM / PRAM gespeicherten Informationen gehören insbesondere:

  • Lautstärke des Lautsprechers
  • Zeitzoneneinstellungen
  • Bildschirmauflösung
  • Auswahl der Startdiskette
  • Aktuelle Kernel-Panik, falls vorhanden

Wahrscheinlich ist das, was auf Ihrem NVRAM über Ihre Zeit gespeichert ist, irgendwie beschädigt worden und verursacht jetzt Ihr Problem.

Nun könnte man sich fragen, was ist mit der Synchronisation der Zeit mit Servern? Wofür brauche ich das? Nun, es dient nur dazu, Ihre Zeit einzustellen, anstatt dass Sie es manuell tun. Nur eine kleine Geste; nichts mehr. Nachdem es eingerichtet wurde, wird es wie gewohnt auf Ihrem NVRAM gespeichert.

Und Ihre Uhrzeit wird jedes Mal korrigiert, wenn Sie Ihre Datums- und Uhrzeiteinstellungen öffnen, da das Öffnen dort möglicherweise eine manuelle Synchronisierung Ihrer Uhrzeit mit dem Server initiiert. Aber danach geht es wieder schief.

Wie auch immer, um Ihr NVRAM zurückzusetzen:

  • Fahren Sie Ihren Mac herunter.
  • Suchen Sie die folgenden Tasten auf der Tastatur: Befehl (⌘) , Option , P und R . Sie müssen diese Tasten in Schritt 4 gleichzeitig gedrückt halten.
  • Schalte den Computer ein.
  • Halten Sie die Befehlstaste-Wahltaste-PR gedrückt, bevor der graue Bildschirm angezeigt wird.
  • Halten Sie die Tasten gedrückt, bis der Computer neu startet und Sie den Startton zum zweiten Mal hören.
  • Lassen Sie die Tasten los.

Quelle: Apple

Kann Sürmeli
quelle
1
Beim Zurücksetzen des NVRAM wurde zwar eine falsche Zeitzone gelöscht, aber was die Uhrzeit und die Fähigkeit von ntpd anbelangt, nicht von den Internetquellen abzuweichen, fehlen viele Verknüpfungen zwischen den im NVRAM gespeicherten Daten und der Einstellung der Uhrzeit. Besonders, da das System während des Betriebs durch Öffnen des Systemeinstellungsfensters ausfällt und sich selbst korrigiert. Denken Sie, es wird vielleicht beim Booten durcheinander gebracht?
bmike
2

Sie können ntpdateüber launchd.

Ich habe die Teile unter https://github.com/tjluoma/ntp-fix-time zusammengestellt, aber ich werde die relevanten Teile hier einfügen:

  1. Eine launchdListe, die sich in / Library / LaunchDaemons / befindet (da sie so ausgeführt werden muss, wie rootsie ausgeführt wird)

  2. Ein Shell-Skript, das ntpdate -u $NTPHOSTdie Ausgabe aufruft und protokolliert.

Aus irgendeinem Grund funktionierte es bei mir nicht, ntpdatedirekt über anzurufen launchd, aber es über ein Skript aufzurufen.

Das plistnutzt dazu:

    <key>RunAtLoad</key>
    <true/>

um sicherzustellen, dass es ausgeführt wird, wenn der Mac neu gestartet wird.

Dies:

    <key>StartInterval</key>
    <integer>14400</integer>

stellt sicher, dass es alle 4 Stunden ausgeführt wird, was anscheinend "oft genug" war.

Das Skript verwendet die in /etc/ntp.conf aufgelisteten Server, sofern keine vorhanden sind. In diesem Fall wird es verwendet time.apple.com.

(Die manSeite für ntpdateschlägt vor, dass es irgendwann von Mac OS X 'zurückgezogen' wird, aber es ist in 10.9.1 immer noch da, das ist genug für mich.)

TJ Luoma
quelle
Das sieht so aus, als würde es funktionieren - obwohl ich verwirrt bin, warum es notwendig ist und ob es andere Systemprobleme gibt, die mir nicht bewusst sind.
Scott
1
Zu Ihrer Information: Ich bin kein Fan davon, mich in LaunchDaemons- oder Cron-Jobs auf die Variable PATH zu verlassen. Ich bin viel zu oft verbrannt worden. Ich denke, es ist viel besser, den gesamten Pfad zu nutzen. Im Fall von LaunchDaemons können Sie ein WorkingDirectory angeben, das bei Verwendung die Angabe des vollständigen Pfads überflüssig macht.
Scott
1

Bisher ist es mir nicht gelungen, die Zeitverschiebung zu beseitigen. Weil meine Uhr langsam läuft (weniger als eine Minute pro Tag) Es dauert eine Weile, bis die versuchte Lösung funktioniert.

Ich habe gerade eine Variante von Patrix 'Antwort aus diesem Beitrag ausprobiert . Das Echo funktionierte nicht auf der Kommandozeile, ich bekam "Erlaubnis verweigert" (seine Antwort bezog sich auf eine Lion-Installation). Aber ich habe die alte Datei entfernt und durch eine neue ersetzt, die ich mit nano bearbeitet habe.

sudo rm /etc/ntp.conf
sudo touch /etc/ntp.conf
sudo nano /etc/ntp.conf

in die datei habe ich einfach gelegt

server time.apple.com

Kein Nachlaufen. oder neue Zeile. Ich habe dann nano beendet (Strg-X) und mit Ja geantwortet, um die Änderungen zu speichern.

Ich musste nicht den Besitzer wechseln, da es sich bereits im Besitz von root: wheel befand.

Ich werde aktualisieren, wenn ich weiß, ob dies funktioniert hat.

Scott
quelle
1
Dies hat nicht funktioniert
Scott
2
Warum fasst du es an, bevor du es änderst?
Max Ried
0

Ich wollte meine zwei Cent für dieses Problem zur Verfügung stellen. Ich hatte ein ähnliches Problem. Meine Uhr würde eine Stunde zurückliegen, und für mich funktionierte es, die Option Zeitzone automatisch unter Verwendung des aktuellen Standorts zu deaktivieren und einfach die nächstgelegene Stadt manuell auszuwählen. Es tut nicht weh, es zu versuchen und zu sehen, ob es einen Unterschied macht.

lovesimac
quelle
0

Wie bereits an anderer Stelle erwähnt, ist die Zeitverschiebung darauf zurückzuführen, dass ntpd nicht funktioniert und / usr / libexec / pacemaker ebenfalls nicht richtig funktioniert. Wenn Sie den Schrittmacher deaktivieren und ntpdate ausführen, um die Uhr zu drehen, ist die Uhr auf meinem System einigermaßen stabil, mit minimalen Systemänderungen.

Führen Sie diese Befehle vom Terminal aus der Reihe nach aus.

cd /System/Library/LaunchDaemons/
mv com.apple.pacemaker.plist com.apple.pacemaker.plist.OFF
sudo crontab -l > /tmp/foo
echo '*/5 * * * * /usr/sbin/ntpdate -s -B -u time.apple.com' >> /tmp/foo
sudo crontab /tmp/foo

Starten Sie dann das System neu.

Mit den ersten beiden Befehlen wird der Schrittmacher deaktiviert, indem die Startkonfigurationsdatei aus dem Weg geräumt wird. Die letzten drei Befehle weisen den System-Cron-Daemon an, ntpdate alle fünf Minuten auszuführen, die Uhr nach Bedarf zu verlangsamen oder zu beschleunigen und die Aktionen in /var/log/system.log zu protokollieren.

Kyle Jones
quelle
-2

Wenn Sie Apple anrufen, wird vorgeschlagen, dass Sie eine Neuinstallation durchführen, um das Betriebssystem beizubehalten.

Ich vermute, Sie haben eine verdorbene Vorliebe. Sie können versuchen, jede Einstellung im Fenster "Datum und Uhrzeit" in eine andere Einstellung zu ändern, den Computer neu zu starten und dann auf die gewünschte Einstellung einzustellen. Wenn das nicht funktioniert, gehen Sie in das Preferences-Verzeichnis und entfernen Sie alle Preferences-Listen, die etwas mit Preferences Date and Time zu tun haben.

vy32
quelle
Neu installieren? HORRORS! Deshalb habe ich Windows vor Jahren verlassen. Gewiss vernünftige, intelligente Leute können eine bessere Lösung finden als ein Betriebssystem neu zu installieren.
Scott
Und bis zu den Einstellungen gehen und Plists entfernen, die mit Datum und Uhrzeit zu tun haben. Ich finde diese Empfehlung unvollständig und gefährlich. Wenn dies Ihr ernsthafter Rat ist, sollten Sie A) den Speicherort des Ordners angeben. Und B) dem Benutzer raten, die Dateien an einen anderen Ort (z. B. auf den Desktop) zu verschieben, anstatt sie zu löschen. Viele Menschen mit unterschiedlichen Erfahrungsstufen werden diese Frage lesen.
Scott
Sie haben sich in letzter Zeit nicht an den technischen Support von Apple gewandt. Das erneute Installieren von OSX ist ein ziemlich schmerzloser Vorgang. Alle Ihre Apps bleiben installiert, alle Ihre Benutzer bleiben vorhanden.
Vy32
Hat gestern Apple angerufen. 3 Stunden am Telefon. Dann eine 4-stündige Neuinstallation des Betriebssystems (über schnelles Internet auf eine SSD). Anschließend 2 Stunden lang Konfigurationsdateien (Apache usw.) optimieren, die durch die Neuinstallation des Betriebssystems überlastet wurden. Und nach alledem - MEINE UHR STEIGT NOCH. Nicht einmal annähernd schmerzfrei und das Problem ist nicht behoben.
Scott