22 votos

¿Cómo puedo mantener sincronizado el reloj de mi sistema en Mavericks?

Tengo un iMac de mediados de 2011 de 27" corriendo Mavericks (10.9.1). Actualicé desde Mountain Lion este otoño cuando se lanzó Mavericks. Nunca tuve problemas antes con mi reloj de sistema.

Desde que instalé Mavericks, mi reloj gana consistentemente alrededor de 20 segundos por día. Tengo mi Zona Horaria configurada correctamente y "Ajustar fecha y hora automáticamente" está marcado en mis preferencias de sistema de Fecha y Hora. Está configurado para usar "Apple/Americas/U.S. (time.apple.com)"

Cuando abro el panel de Preferencias de Fecha y Hora mi reloj se ajusta inmediatamente a la hora correcta, pero sin abrir el panel, se desajusta bastante rápido.

He reiniciado, marcado y desmarcado la casilla para ajustar la fecha y hora automáticamente y ninguna de las dos parece haber ayudado.

¿Alguna solución o idea?


ACTUALIZACIÓN:

Me siento como que he avanzado. Pregunta: ¿Cómo puedo saber si mi Mac está manteniendo el reloj actualizado correctamente? y su respuesta aceptada por grgarside proporcionó mucha ayuda útil para la solución de problemas. ¡Mi desfase es enorme, 499.988 (gana 43.19 segundos por día)!

Lo más importante, pacemaker se está ejecutando cada 5 - 15 segundos, como evidencia mi registro de stem, sin embargo, cada vez que se ejecuta aparece un error:

Feb 1 11:53:29 jsw.local pacemaker[19928]: adjtime: Operación no permitida
Feb 1 11:53:39 jsw.local pacemaker[19928]: adjtime: Operación no permitida
Feb 1 11:53:51 jsw.local pacemaker[19928]: adjtime: Operación no permitida
Feb 1 11:53:59 jsw.local pacemaker[19928]: adjtime: Operación no permitida
Feb 1 11:54:09 jsw.local pacemaker[19928]: adjtime: Operación no permitida
Feb 1 11:54:19 jsw.local pacemaker[19928]: adjtime: Operación no permitida

Parece que tengo un problema de permisos, pero no logro solucionarlo. He descargado y vuelto a cargar el plsit de pacemaker a través de launchctl

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

aquí hay una exportación de texto de mi 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;
        };
    };
}

mi archivo /private/var/db/ntp.drift es propiedad de root:wheel y sus permisos son 644, /System/Library/LaunchDaemons/com.apple.pacemaker.plist tiene exactamente la misma propiedad y permisos.

Espero que esta actualización proporcione suficiente información adicional para que alguien pueda ayudarme a resolver este problema.

2 votos

Nunca he tenido el sistema apagado como lo describes, pero otra persona aquí necesitó seleccionar un servidor de tiempo diferente (Asia si actualmente usas Estados Unidos) y luego cambiar de nuevo para que el ajuste se mantuviera.

0 votos

Supongo que hay algo mal con tu DNS o hostfile. ¿Has modificado de alguna manera la configuración de red y preferencias? ¿No solo en 10.9 sino también en 10.8? Intentaría cambiar de time.apple.com a una de las URL de pool.ntp.org/en.

1 votos

@AndrewU. Tu comentario no tiene en cuenta el hecho de que aparentemente el tiempo se sincroniza correctamente cuando abro el panel de preferencias

22voto

thepocketwade Puntos 1387

Estos parecen funcionar bien en mi iMac, ejecutando Mountain Lion:

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

simplemente copia/pega la línea separada por espacios de arriba en el campo 'Establecer fecha y hora automáticamente', en las preferencias de Fecha y Hora. recuerda presionar Enter después de escribir los nombres de los servidores ntp, para que se actualice ntp.conf.

0 votos

No entiendo por qué funcionó, ¡pero funcionó!

0 votos

En Yosemite esto se ha convertido en un desplegable que parece no gustar de ser editado (aunque de alguna manera parece que se puede editar...) :(

0 votos

Todavía puedes editar en Yosemite (¡como acabo de hacer!). Si seleccionas el menú desplegable y presionas la tecla Borrar, verás que el texto desaparece. No puedes usar cmd+v para pegar, pero hacer clic derecho te da la opción de pegar en el menú.

3voto

outer Puntos 21

El ntpd de Mavericks está roto, destrozado, corrupto. Apple sabe de esto: he pasado horas en el teléfono con ellos, proporcionándoles muestras y archivos por doquier. Puede ser un fenómeno heredado de iOS ("Back to the Mac" ya sea que funcione realmente o no). El culpable parece ser un nuevo demonio llamado "pacemaker" en Mavericks, el cual, en el clásico estilo de Apple, carece de documentación y no parece comportarse de acuerdo con lo poco que se ha documentado.

0 votos

Hay una discusión extensa sobre esto aquí: discussions.apple.com/thread/5604114

0 votos

Echa un vistazo al ChronyControl de Bryan Christianson (Bryan también está detrás de WhatRoute). Devuelve un poco de cordura a la sincronización de tiempo ntp usando Mojave v10.14.4.

2voto

Matthew Puntos 78

Antes de realizar una instalación limpia, te sugiero encarecidamente intentar restablecer tu NVRAM (memoria de solo lectura no volátil).

Una NVRAM (o PRAM en Macs más antiguos basados en PowerPC) almacena ciertos ajustes. Es una especie de memoria como la RAM normal de tu Mac, pero con una diferencia importante: la NVRAM guarda lo que hay en ella incluso si se apaga tu Mac.

Específicamente, la información almacenada en la NVRAM / PRAM incluye:

  • Volumen del altavoz
  • Ajustes de zona horaria
  • Resolución de pantalla
  • Selección de disco de inicio
  • Último kernel panic, si lo hay

Probablemente, lo que está almacenado en tu NVRAM sobre tu hora se corrompió de alguna manera y ahora causa tu problema.

Ahora, podrías preguntar, ¿y la sincronización de la hora con los servidores? ¿Para qué la necesito? Bueno, es solo para configurar tu hora en lugar de hacerlo manualmente. Solo un pequeño gesto; nada más. Después de configurarse, se guarda en tu NVRAM como de costumbre.

Y tu hora se corrige cada vez que abres tus Preferencias de Fecha y Hora porque probablemente abrir ahí inicia una sincronización manual de tu hora con el servidor. Pero después de eso, las cosas vuelven a descontrolarse.

De todos modos, para restablecer tu NVRAM:

  • Apaga tu Mac.
  • Localiza las siguientes teclas en el teclado: Command (), Option, P y R. Deberás mantener presionadas estas teclas simultáneamente en el paso 4.
  • Enciende la computadora.
  • Mantén presionadas las teclas Command-Option-P-R antes de que aparezca la pantalla gris.
  • Mantén las teclas presionadas hasta que la computadora se reinicie y escuches el sonido de inicio por segunda vez.
  • Suelta las teclas.

Fuente: Apple

1 votos

Pude ver que al restablecer NVRAM se borra la zona horaria incorrecta, pero en cuanto a cómo afecta al mantenimiento del tiempo y a la capacidad de ntpd de mantener el reloj sincronizado con fuentes de internet - hay muchos enlaces faltantes entre lo que está almacenado en NVRAM y cómo se configura el tiempo. Especialmente porque el sistema sale y se auto corrige mientras se ejecuta abriendo el panel de preferencias del sistema. ¿Estás pensando que quizás se está desconfigurando en el momento de arranque?

2voto

moodforaday Puntos 2633

Puedes ntpdate a través de launchd.

He reunido las piezas en https://github.com/tjluoma/ntp-fix-time pero incluiré los fragmentos relevantes aquí:

  1. Un launchd plist que va en /Library/LaunchDaemons/ (porque necesita ejecutarse como root cuando se ejecuta)

  2. Un script shell que llama a ntpdate -u $NTPHOST y registra su salida.

Por alguna razón, intentar llamar a ntpdate directamente a través de launchd no funcionó para mí, pero llamarlo a través de un script parecía funcionar.

El plist usa esto:

    RunAtLoad

para asegurarse de que se ejecute cuando se reinicie la Mac.

Esto:

    StartInterval
    14400

asegura que se ejecute cada 4 horas, lo cual parecía ser "suficientemente frecuente".

El script utilizará los servidores listados en /etc/ntp.conf a menos que no haya ninguno, en cuyo caso utilizará time.apple.com.

(La página man para ntpdate sugiere que eventualmente será 'retirado' de Mac OS X, pero todavía está presente en 10.9.1, así que eso es suficiente para mí.)

0 votos

Esto parece que funcionará - aunque me intriga por qué es necesario y si hay otros problemas del sistema de los que no estoy al tanto.

1 votos

FYI - No soy partidario de depender de la variable PATH en LaunchDaemons o trabajos cron. He sido quemado muchas veces, creo que es una práctica mucho mejor usar la ruta completa. En el caso de LaunchDaemons, puedes especificar un WorkingDirectory que, si se utiliza, elimina la necesidad de especificar la ruta completa.

1voto

Michael Prescott Puntos 849

Hasta ahora no he tenido éxito en eliminar la deriva del reloj. Debido a que mi reloj deriva lentamente (menos de un minuto por día), se tarda un tiempo en ver si la solución intentada funciona.

Acabo de probar una variación de la respuesta de Patrix de esta publicación. El eco no funcionó en la línea de comandos, me salió "permiso denegado" (Su respuesta hacía referencia a una instalación de Lion). Pero sí eliminé el antiguo archivo y lo reemplacé por uno nuevo que edité con nano.

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

en el archivo simplemente coloqué

server time.apple.com

sin punto al final o nueva línea. Luego salí de nano (ctrl-X) y respondí sí para guardar los cambios.

No necesité cambiar los propietarios ya que ya era propiedad de root:wheel.

Actualizaré cuando sepa si esto funcionó.

1 votos

Esto no funcionó

2 votos

¿Por qué lo tocas antes de modificarlo?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X