Uhrzeit-Synchronisation via ntp bei Systemstart

muetze

muetze

Mitglied
Thread Starter
Dabei seit
11.11.2005
Beiträge
56
Reaktionspunkte
0
Hi,

ich möchte gern eine Uhrzeit-Synchronisation per ntp beim Systemstart erzwingen.

Der Befehl ist wohl "ntpdate server" - aber in welche Datei muss ich ihn schreiben?

Im Terminal kann ich den Befehl auch als Admin nicht per "su ntpdate server" aufrufen, sondern muss per "sudo -s" eine echte root-Shell aufmachen - weiß jemand wieso?

muetze
 
ähh, warum aktivierst du nicht einfach "datum & uhrzeit automatisch stellen" in den datum & uhrzeit systemeinstellungen...
dann läuft der ntpd die ganze zeit..
 
Ja - aber beim Systemstart erfolgt keine Synchronisation - ich will aber beim Systemstart synchronisieren.

Grund: Wenn vorher Windows gebootet war, stimmt die Uhrzeit nicht mehr - und ich möchte unter Windows nicht Moskauer Zeit o.Ä. angezeigt bekommen - und auch unter Windows soll die Uhr richtig gehen.

muetze

PS Einen anderen Workaround habe ich nicht gefunden - eigentlich habe ich gar keinen Workaround gefunden.
 
das problem liegt in windows und nicht bei os x ;)
steht auch in der bootcamp faq
-> in windows time server benutzen bzw neuere bootcamp version...
das sollte seit 1.1 gefixed sein...

wenn du es aber unbedingt in os x fixen willst...
leg eine datei /etc/rc.local an und schreib dann da
/usr/sbin/ntpdate time.euro.apple.com

oder de.pool.ntp.org als server...
 
> das problem liegt in windows und nicht bei os x
> steht auch in der bootcamp faq

Das weiß ich - hilft mir aber leider nicht weiter, da es das Problem nicht löst. In der Forumssuche habe ich auch keine Lösungen gefunden, die nicht das Umstellen der Zeitzone in Windows vorschlagen - und damit eine falsch gehende Uhr unter Window (das ist keine akzeptable Lösung).

> -> in windows time server benutzen bzw neuere bootcamp version...
> das sollte seit 1.1 gefixed sein...

Beides hilft bei mir nicht (mit BootCamp 1.1.2, iMac 24") - das Problem ist die unterschiedliche Interpretation der gespeicherten Zeit: Windows speichert in der Hardware die lokale Zeit, OS X die UT. Insofern muss ich entweder beim Beenden von Windows die gespeicherte Zeit ändern (ich weiß aber nicht wie) oder beim Starten von OSX (was ich prinzipiell für eine gute Idee halte - vor Allem muss ich das nicht ändern, falls BootCamp da Problem anders löst).

> wenn du es aber unbedingt in os x fixen willst...

Ich will - und kann es jetzt wohl auch - vielen Dank für deine Hilfe.

muetze
 
Eine Nachfrage noch: welche Zugriffsrechte benötigt die Datei?

muetze
 
reine text datei, am anfang vielleicht noch ein
#!/bin/sh

sollte wie /etc/rc
-rw-r--r-- 1 root wheel
sein
 
Erledigt - und es funktioniert leider nicht. Nach dem Booten bleibt die Uhrzeit um eine Stunde nach vorn verschoben.

Benötigt die Datei vielleicht doch das Recht ausführen - also
statt 644 besser 744?

muetze
 
kann sein, dass da noch kein netzwerk läuft....
guck doch mal in die konsole. ob es da eine meldung gibt...

alternative: -> plist für LauchDaemon oder LaunchAgent machen für launchd
 
Es funktioniert bei mir nicht - auch nicht mit den Rechten 744. In der Konsole ist kein Eintrag zu finden.

Wann wird denn die rc.local abgearbeitet?

Ich werde es jetzt einmal mit einem LaunchAgent für launchd versuchen.

muetze
 
die rc.local wird aufgerufen bevor das "os x starten" fenster loslegt...
 
ich bin genervt

rc.local funktioniert weder mit

/sbin/SystemStarter -d restart "Network Time"
noch mit
/usr/sbin/ntpdate de.pool.ntp.org

Ich habe mit lingon einen launchd users daemon erzeugt.
Auch dieser funktioniert mit beiden Befehlen nicht.

Ein einfaches AppleSkript mit
do shell script "SystemStarter -d restart \"Network Time\"" with administrator privileges
verrichtet zwar seinen Dienst - muss aber jedesmal autorisiert werden. insofern ist das keine Lösung.

Es muss doch unter einem UNIX die Möglichkeit geben, die Uhrzeit nach dem Systemstart mit root-Rechten per ntp zu synchronisieren - das kann ja sogar Windows :)

muetze
 
Seltsam, dass es mit launchd nicht funktioniert.
Wie wäre es ganz Mac OS X klassisch mit einem StartupItem?
 
hast du mit lingon auch das runatload angeschaltet in der plist?
 
Ich probiere alles - und wenn ich beim Booten dreimal um den Rechner tanzen muss.

Wie erstelle ich ein StartupItem?

muetze

PS habe ich den launchd richtig erstellt
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Enabled</key>
<true/>
<key>Label</key>
<string>ntpTimeSync</string>
<key>ProgramArguments</key>
<array>
<string>/sbin/SystemStarter</string>
<string>-d</string>
<string>restart</string>
<string>"Network Time"</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>ntpTimeSync</string>
</dict>
</plist>
 
laufen die ganzen Sachen (rc.local und launchd-Daemon) mit root-Rechten?

muetze
 
muetze schrieb:
PS habe ich den launchd richtig erstellt

nein. hast du nicht...
warum arbeitest du da mit systemstarter?
ruf doch ntpdate direkt darüber auf...

einfach /usr/sbin/ntpdate und de.pool.ntp.org einzeln als program argument und run at load...
 
Ich habe beides probiert... - dies ist nur die zuletzt verwendete Konfiguration.

muetze
 
dann probier doch mal mit lingon deinen daemon zu starten, ob der auch macht was der soll ;)

(und falls du dsl benutzt, hast du auch "Bei bedarf automatisch verbinden" an?)
 
Probier ich morgen - jetzt hab ich keine Lust mehr - aber trotzdem vielen Dank soweit.

muetze
 
Zurück
Oben Unten