22 votes

Comment puis-je synchroniser l'horloge de mon système sous Mavericks ?

J'ai un iMac 27" de mi-2011 qui fonctionne avec Mavericks (10.9.1). J'ai effectué une mise à jour depuis Mountain Lion cet automne, lorsque Mavericks est sorti. Je n'avais jamais eu de problème avec l'horloge de mon système auparavant.

Depuis l'installation de Mavericks, mon horloge gagne régulièrement environ 20 secondes par jour. Mon fuseau horaire est correctement défini et l'option "Définir automatiquement la date et l'heure" est cochée dans mes préférences système Date et heure. Il est réglé pour utiliser "Apple/Americas/U.S. (time.apple.com)".

Lorsque j'ouvre le volet Date et heure des préférences système, mon horloge se règle immédiatement sur l'heure correcte, mais si je n'ouvre pas le volet, elle s'égare assez rapidement.

J'ai redémarré, coché et décoché la case permettant de régler automatiquement la date et l'heure, mais rien ne semble y faire.

Des solutions ou des idées ?


UPDATE :

J'ai fait ce qui semble être un progrès. Question : Comment puis-je savoir si mon Mac met l'horloge à jour correctement ? et sa réponse acceptée par grgarside ont fourni beaucoup d'aide pour le dépannage. Ma dérive est de 499,988 (gain de 43,19 secondes par jour) !

Le plus important, c'est que le pacemaker fonctionne toutes les 5 à 15 secondes, comme le montre le journal de ma tige, mais chaque fois qu'il s'exécute, une erreur se produit :

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

Il semble que j'aie un problème d'autorisation, mais je n'arrive pas à le comprendre. J'ai déchargé et rechargé le pacemaker plsit via launchctl.

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

voici un export texte de mon 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;
        };
    };
}

mon fichier /private/var/db/ntp.drift appartient à Root:wheel et ses permissions sont 644, /System/Library/LaunchDaemons/com.apple.pacemaker.plist a exactement la même propriété et les mêmes permissions.

J'espère que cette mise à jour fournira suffisamment d'informations supplémentaires pour que quelqu'un puisse me faire passer ce problème.

22voto

thepocketwade Points 1387

ces semblent fonctionner correctement sur mon iMac, sous Mountain Lion :

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

Copiez/collez simplement la ligne ci-dessus, séparée par des espaces, dans le champ "Définir la date et l'heure automatiquement", dans les préférences Date & Heure. N'oubliez pas d'appuyer sur la touche Entrée après avoir tapé les noms des serveurs ntp, afin que ntp.conf soit mis à jour.

3voto

outer Points 41

Le ntpd de Maverisks est cassé, fracassé, corrompu. Apple est au courant : J'ai passé des heures au téléphone avec eux, leur fournissant des échantillons et des fichiers à profusion. Il s'agit peut-être d'un report de iOS ("Back to the Mac", que cela fonctionne ou non). Le coupable semble être un nouveau démon Maverisks appelé "pacemaker", qui, dans la tradition Apple, n'est pas suffisamment documenté et ne semble pas se comporter conformément au peu de documentation disponible.

2voto

Can Sürmeli Points 1419

Avant de faire une nouvelle installation, je vous suggère fortement d'essayer de réinitialiser votre NVRAM (mémoire vive non volatile).

Une NVRAM (ou PRAM sur les anciens Macs basés sur PowerPC) stocke certains paramètres. C'est une sorte de mémoire comme la RAM normale de votre Mac, mais avec une différence majeure : la NVRAM conserve ce qu'elle contient même si votre Mac est éteint.

Plus précisément, les informations stockées dans la NVRAM / PRAM comprennent :

  • Volume du haut-parleur
  • Réglages du fuseau horaire
  • Résolution de l'écran
  • Sélection du disque de démarrage
  • Panique récente du noyau, le cas échéant

Il est probable que ce qui est stocké dans votre NVRAM à propos de votre temps a été corrompu d'une manière ou d'une autre et cause maintenant votre problème.

Maintenant, vous pourriez vous demander ce qu'il en est de la synchronisation de l'heure avec les serveurs. A quoi cela me sert-il ? Eh bien, c'est juste pour régler votre heure au lieu de le faire manuellement. C'est un petit geste, rien de plus. Une fois l'heure réglée, elle est stockée dans votre NVRAM comme d'habitude.

Et votre heure est corrigée chaque fois que vous ouvrez vos préférences Date & Heure, car cette ouverture déclenche probablement une synchronisation manuelle de votre heure avec le serveur. Mais après cela, les choses se dérèglent à nouveau.

Quoi qu'il en soit, afin de réinitialiser votre NVRAM :

  • Éteignez votre Mac.
  • Localisez les touches suivantes sur le clavier : Commande () , Option , P et R . Vous devrez maintenir ces touches enfoncées simultanément à l'étape 4.
  • Allumez l'ordinateur.
  • Appuyez sur les touches Commande-Option-P-R et maintenez-les enfoncées avant que l'écran gris n'apparaisse.
  • Maintenez les touches enfoncées jusqu'à ce que l'ordinateur redémarre et que vous entendiez le son de démarrage pour la deuxième fois.
  • Relâchez les touches.

Source : Apple

2voto

moodforaday Points 2633

Vous pouvez ntpdate via launchd.

J'ai rassemblé les morceaux à https://github.com/tjluoma/ntp-fix-time mais je vais inclure les éléments pertinents ici :

  1. A launchd plist qui va dans /Library/LaunchDaemons/ (parce qu'il doit être exécuté en tant que root lorsqu'il fonctionne)

  2. Un shell script qui appelle ntpdate -u $NTPHOST et enregistre sa sortie.

Pour une raison quelconque, essayer d'appeler ntpdate directement via launchd ne fonctionnait pas pour moi, mais l'appeler via un script semblait fonctionner.

El plist utilise ça :

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

pour s'assurer qu'il s'exécute lorsque le Mac est redémarré.

Ceci :

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

s'assure qu'il fonctionne toutes les 4 heures, ce qui semblait être "assez souvent".

Le script utilisera les serveurs listés dans /etc/ntp.conf sauf s'il n'y en a pas, auquel cas il utilisera time.apple.com .

(Le man page pour ntpdate suggère qu'il sera éventuellement "retiré" de Mac OS X, mais il est toujours présent dans la version 10.9.1, ce qui me suffit).

1voto

Scott Points 820

Jusqu'à présent, je n'ai pas réussi à éliminer la dérive de l'horloge. Comme mon horloge dérive lentement (moins d'une minute par jour), il faut un certain temps pour voir si la solution tentée fonctionne.

Je viens juste d'essayer une variante de la réponse de Patrix à partir de ce poste . L'écho n'a pas fonctionné sur la ligne de commande, j'ai obtenu "permission denied" (sa réponse faisait référence à une installation de Lion). Mais j'ai supprimé l'ancien fichier et l'ai remplacé par un nouveau que j'ai édité avec nano.

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

dans le fichier, j'ai simplement placé

server time.apple.com

pas de . ou de nouvelle ligne. J'ai ensuite quitté nano (ctrl-X) et répondu oui à la sauvegarde des modifications.

Je n'ai pas eu besoin de changer de propriétaire puisqu'il appartenait déjà à Root:wheel.

Je mettrai à jour quand je saurai si ça a marché.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X