Come posso mantenere il mio orologio di sistema sincronizzato sotto Mavericks?

22

Ho un iMac di 27 "a metà 2011 che esegue Mavericks (10.9.1). Ho aggiornato Mountain Lion questo autunno quando è stato rilasciato Mavericks. Non ho mai avuto alcun problema con il mio orologio di sistema.

Da quando ho installato Mavericks, il mio orologio guadagna costantemente circa 20 secondi al giorno. Ho impostato correttamente il fuso orario e "Imposta data e ora automaticamente" è selezionato in Data e ora; Preferenze di sistema del tempo. È impostato per utilizzare "Apple / Americas / Stati Uniti (time.apple.com)"

Quando apro la data & Pannello delle preferenze di sistema del tempo, il mio orologio viene regolato immediatamente all'orario corretto, ma senza aprire il riquadro, viene disattivato molto rapidamente.

Ho riavviato, selezionato e deselezionato la casella per impostare automaticamente la data e l'ora e nessuno dei due sembra averlo aiutato.

Qualche soluzione o idea?

UPDATE:

Ho fatto ciò che sembra progresso. Domanda: Come può Dico se il mio Mac sta mantenendo l'orologio aggiornato correttamente? e la sua risposta accettata da grgarside ha fornito un sacco di aiuto per la risoluzione dei problemi. La mia deriva è 499.988 (guadagna 43.19 secondi al giorno)!

Soprattutto, il pacemaker è in esecuzione ogni 5 - 15 secondi, come evidenziato dal mio registro stem, tuttavia, ogni volta che viene eseguito, si verifica un errore:

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

Sembra che abbia un problema di autorizzazione, ma non riesco a capirlo. Ho scaricato e ricaricato il pacemaker plsit tramite launchctl

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

ecco un'esportazione di testo del mio 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;
        };
    };
}

il mio /private/var/db/ntp.drift è di proprietà di root: wheel e le sue autorizzazioni sono 644, /System/Library/LaunchDaemons/com.apple.pacemaker.plist ha esattamente la stessa proprietà e le stesse autorizzazioni.

Spero che questo aggiornamento fornisca sufficienti informazioni aggiuntive in modo che qualcuno possa farmi superare questo problema.

    
posta Scott 31.12.2013 - 23:35
fonte

8 risposte

22

questi sembrano funzionare bene sul mio iMac, eseguendo Mountain Lion:

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

semplicemente copia / incolla la riga precedentemente separata nel campo "Imposta data e ora automaticamente", in Data e amp; Preferenze temporali ricorda di premere Invio dopo aver digitato i nomi dei server ntp, in modo che ntp.conf venga aggiornato.

    
risposta data 01.02.2014 - 05:28
fonte
3

Il ntpd dei maverisks è rotto, distrutto, corrotto. Apple lo sa: ho passato ore al telefono con loro, fornendo loro campioni e file a bizzeffe. Potrebbe essere un riporto da iOS ("Ritorno al Mac", indipendentemente dal fatto che funzioni o meno). Il colpevole sembra essere un nuovo demone di Maverisks chiamato "pacemaker", che nella classica moda Apple è documentato e non sembra comportarsi in accordo con la poca documentazione disponibile.

    
risposta data 07.01.2014 - 23:01
fonte
2

Prima di effettuare una nuova installazione, ti consiglio vivamente di provare a ripristinare la NVRAM (RAM non volatile).

Una NVRAM (o PRAM su vecchi Mac basati su PowerPC) memorizza determinate impostazioni. È una sorta di memoria come la normale RAM del tuo Mac, ma con una delle principali differenze è che una NVRAM memorizza cosa c'è sopra anche se il tuo Mac si spegne.

Specificamente, le informazioni memorizzate nella NVRAM / PRAM includono:

  • Volume dell'altoparlante
  • Impostazioni fuso orario
  • Risoluzione dello schermo
  • Selezione del disco di avvio
  • Panico del kernel recente, se presente

Probabilmente, ciò che è memorizzato nella tua NVRAM in merito al tuo tempo è stato corrotto in qualche modo e ora causa il tuo problema.

Ora, potresti chiedere, e la sincronizzazione del tempo con i server? Per cosa ne ho bisogno? Beh, è solo per impostare il tuo tempo invece di farlo manualmente. Solo un piccolo gesto; niente di più. Dopo che è stato impostato, è memorizzato nella tua NVRAM come al solito.

E il tuo tempo viene corretto ogni volta che apri la tua Data & Preferenze del tempo perché probabilmente aprendo lì avvia una sincronizzazione manuale del tuo tempo con il server. Ma dopo che le cose vanno di nuovo in tilt.

Ad ogni modo, per ripristinare la tua NVRAM:

  • Spegni il tuo Mac.
  • Trova i seguenti tasti sulla tastiera: Comando (⌘) , Opzione , P e R . Dovrai tenere premuti questi tasti contemporaneamente al punto 4.
  • Accendi il computer.
  • Tieni premuti i tasti Comando-Opzione-P-R prima che appaia la schermata grigia.
  • Tieni premuti i tasti fino al riavvio del computer e senti il suono di avvio per la seconda volta.
  • Rilascia i tasti.

Fonte: Apple

    
risposta data 02.01.2014 - 22:23
fonte
2

Puoi ntpdate tramite launchd.

Ho messo insieme i pezzi al link ma includerò i bit rilevanti qui:

  1. Un launchd plist che entra in / Library / LaunchDaemons / (perché deve essere eseguito come root quando viene eseguito)

  2. Uno script di shell che chiama ntpdate -u $NTPHOST e registra l'output.

Per qualche ragione, provare a chiamare ntpdate direttamente tramite launchd non ha funzionato per me, ma chiamarlo tramite uno script sembrava funzionare.

Il plist usa questo:

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

per assicurarti che venga eseguito quando il Mac viene riavviato.

Questa:

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

fa in modo che venga eseguito ogni 4 ore, il che sembrava "abbastanza spesso".

Lo script utilizzerà i server elencati in /etc/ntp.conf a meno che non ce ne siano, nel qual caso utilizzerà time.apple.com .

(La pagina man per ntpdate suggerisce che alla fine verrà "ritirato" da Mac OS X ma è ancora presente in 10.9.1, quindi è abbastanza per me.)

    
risposta data 08.01.2014 - 02:42
fonte
1

Fino ad ora non sono riuscito ad eliminare la deriva del clock. Perché il mio orologio si sposta lentamente (meno di un minuto al giorno) Ci vuole un po 'per vedere se la soluzione tentata funziona.

Ho appena provato una variazione della risposta di Patrix da questo post . L'eco non ha funzionato sulla riga di comando, ho ricevuto il "permesso negato" (la sua risposta stava facendo riferimento a un'installazione Lion). Ma ho rimosso il vecchio file e lo ho sostituito con uno nuovo che ho modificato con nano.

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

nel file che ho semplicemente inserito

server time.apple.com

nessun finale. o nuova linea. Sono quindi uscito da nano (ctrl-X) e ho risposto si per salvare le modifiche.

Non ho avuto bisogno di cambiare proprietario poiché era già di proprietà di root: wheel.

Aggiornerò quando so se questo ha funzionato.

    
risposta data 05.01.2014 - 15:15
fonte
0

Volevo fornire i miei due centesimi su questo problema. Ho avuto un problema simile. Il mio orologio sarebbe rimasto indietro di un'ora e ciò che ha funzionato per me è stato deselezionare il fuso orario impostato automaticamente utilizzando la posizione corrente e semplicemente scegliendo manualmente la città più vicina. Non fa male provarlo e vedere se fa la differenza.

    
risposta data 27.10.2014 - 12:05
fonte
0

Come è stato discusso altrove, la deriva del clock è dovuta al fatto che ntpd non funziona e qualcosa chiamato / usr / libexec / pacemaker non funziona correttamente. Disabilitando il pacemaker e eseguendo ntpdate per chiudere l'orologio, l'orologio è diventato ragionevolmente stabile sul mio sistema, con cambiamenti di sistema minimi.

Da Terminale, esegui questi comandi in ordine.

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

Quindi riavvia il sistema.

I primi due comandi disabilitano il pacemaker spostando il suo file di configurazione launchd di mezzo. Gli ultimi tre comandi dicono al demone del sistema cron di eseguire ntpdate ogni cinque minuti, rallentando o accelerando l'orologio secondo le necessità e registrando ciò che fa su /var/log/system.log.

    
risposta data 19.11.2014 - 04:46
fonte
-2

Se chiami Apple, ti suggeriranno di eseguire una reinstallazione preservando il sistema operativo.

La mia ipotesi è che tu abbia una preferenza corrotta. Puoi provare a modificare ogni impostazione nel pannello delle preferenze Data e ora su qualcos'altro, riavviare, quindi impostarlo su ciò che desideri. Se non funziona vai nella directory Preferenze e rimuovi qualsiasi preferenza plist che ha qualcosa a che fare con le Preferenze Data e Ora.

    
risposta data 02.01.2014 - 19:49
fonte

Leggi altre domande sui tag