La Raspberry Pi carece de reloj de hardware. ¿Cómo fuerzo a NTPD a actualizar la fecha / hora inmediatamente después de cada arranque?

Estoy ejecutando Raspbian y la Raspberry Pi está conectada usando un cable Ethernet .

Comentarios

  • El mío ya lo hace fuera del box. ¿Qué disto estás usando?
  • Raspbian Wheezy
  • @Thorb Pi está conectado con un cable ethernet / dhcp. Simplemente no obtiene una fecha válida después de arrancar, toma un tiempo (10 a 45 minutos)
  • Lo hará automáticamente, después de un par de minutos. Asegúrese de haberlo configurado para usar el reloj maestro en la Oficina Nacional de Estándares, time.nist.gov como se describe aquí: raspberrypi.stackexchange.com/questions/68811/…
  • Parece que no uno ha respondido esta pregunta satisfactoriamente, es decir, cómo sincronizar la hora a través de NTP después de un arranque (es decir, sin reiniciar).

Responder

Después buscando, este método funcionó para mí. Como sabes, la Raspberry Pi 3 tiene NTP desactivado por defecto. Entonces, con solo escribir esto, se habilitará el soporte NTP:

sudo timedatectl set-ntp True 

Verifique el resultado con timedatectl status

En caso de advertencia, es posible que deba ejecutar sudo timedatectl set-local-rtc true también.

Comentarios

  • Gracias, esto finalmente me ayudó y parece ser la manera correcta, a pesar de las respuestas anteriores.
  • Esa es la mejor respuesta, me ayudó mucho. Puede usar ‘ sudo ‘ para evitar escribir su contraseña (útil para los scripts que la ejecutan). ¿Cuál es el propósito del comando de segundos? set-local-rtc

Responder

Haz un apt-get install ntpdate .

ntpdate se ejecutará cuando se active una interfaz Ethernet y establecerá la hora desde un servidor ntp (consulte /etc/default/ntpdate).

Si ntpd se está ejecutando, ntpdate no hará nada, sin embargo ntpdate se ejecutará antes que ntpd en el arranque – así que esto debería funcionar para establecer la hora en el arranque siempre y cuando haya una conexión Ethernet.

Comentarios

  • stock Raspbian ya tendrá todo esto.
  • @scruss el mío no ‘ t. (2013-02-09 wheezy rasbian)
  • El mío tampoco, tenía que hacerlo manualmente.
  • Si está configurado correctamente, lo hará automáticamente, aunque puede tardar unos minutos.
  • Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux no ‘ también lo tenía.

Responder

Si su reloj está muy mal, es posible que deba forzar la sincronización de ntp haciendo:

sudo /etc/init.d/ntp stop sudo ntpd -q -g sudo /etc/init.d/ntp start 

Comentarios

  • Devuelve el error » sudo: ntpd: comando no encontrado »
  • ntpd debe ser instalado para usar el comando
  • Está instalado, no soy tan ignorante 🙂
  • ¿Podría visitar raspberrypi.stackexchange.com/questions/47542/… ? He publicado detalles allí.
  • Esta fue absolutamente la solución a mi problema, pero descubrí que era temporal hasta que reiniciara. Al final, capté un error en el apagado que indicaba que no podía ‘ actualizar el reloj hw porque el reloj hw tenía una fecha futura (no tengo idea de cómo sucedió). Pero la solución fue una fuerza de actualización de hwclock. Eso forzó la actualización del reloj de hardware falso y luego, al arrancar, la hora estaba al menos cerca de la actual, por lo que ntp podría realizar el trabajo ‘ normalmente.

Respuesta

Si configura la zona horaria en raspi-config, la Raspberry Pi actualizará automáticamente la tiempo de arranque, si está conectado a Internet.

  1. sudo raspi-config
  2. Seleccione Internationalisation Options
  3. Seleccione I2 Change Timezone
  4. Seleccione su área geográfica
  5. Seleccione su ciudad más cercana
  6. Seleccione Finish
  7. Seleccione Yes para reiniciar ahora

Comentarios

  • esto funcionó bien para mí
  • I2 Change Timezone opción doesn ‘ ya no existe
  • Existe, al menos en Raspbian Buster.
  • » Opciones de internacionalización » es ahora llamada » Opciones de localización »
  • » ciudad más cercana » no es la forma correcta. debe seleccionar la ciudad a la que pertenece su zona horaria, que puede ser la más cercana, o no …

Responder

Ver publicación en el foro Hora no se sincroniza en Pi 3 y con el dongle oficial .

ntpd emite paquetes IP / UDP con el Campo ToS establecido en 0xc0. Eso es bastante similar al otro problema que yo (y muchos otros) tengo con Raspberry Pi3 cuando se opera a través de una interfaz interna Wi-Fi.

Como solución, agregue el comando

/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00 

al archivo

/etc/rc.local 

antes de la línea de salida 0. Luego, reinicie y verifique.

Comentarios

  • Tuve el mismo problema cuando instalé el RPi3 que obtuve para XMas, y tú lo resolviste. ¡¡¡Genial !!!

Respuesta

Esta pregunta aparentemente está siendo » reciclado » por alguna razón, por lo que parece apropiado reciclar algunas respuestas antiguas también 🙂

El año ahora es 2021 …

Esta pregunta se hizo en 2013. ntpd era el software de cronometraje incluido en la distribución Raspbian en ese momento (wheezy) . Sin embargo, eso cambió con la distribución stretch en 2017 cuando systemd-timesyncd reemplazó a ntpd. Las razones de este cambio y algunas de las compensaciones técnicas se discutieron en esta vieja respuesta para aquellos que estén interesados en tales cosas.

Con respecto a la pregunta aquí, quizás el punto más destacado en el entorno actual (post- systemd) es este: si decides instalar ntpd con tu distribución Raspbian actual, debes saber que systemd-timesyncd » hará lo correcto «! Verificará la presencia de otros demonios NTP y ajustará su comportamiento en consecuencia; simplemente funciona . Puede leer todo al respecto ingresando esto en la línea de comando:

$ systemctl cat systemd-timesyncd 

Tenga en cuenta las últimas líneas:

# no ejecute Timesyncd si tenemos otro demonio NTP instalado
ConditionFileIsExecutable =! / usr / sbin / ntpd
ConditionFileIsExecutable =! / usr / sbin / openntpd
ConditionFileIsExecutable =! / Usr / sbin / chronyd
ConditionFileIsExecutable =! / Usr / sbin / VBoxService

En otras palabras: systemd-timesyncd comprueba si alguno de estos servicios de hora alternativos se está ejecutando en su sistema, y si es así, amablemente se remite a ellos por proporcionar sus servicios de cronometraje.

» forzar » ntpd para actualizar después del arranque.

Este era el OP «s pregunta. La respuesta (en 2021) no ha cambiado: No debería ser necesario hacer esto en ningún sistema RPi, a menos que alguien haya cambiado la configuración predeterminada ! Puede verificar esto de la siguiente manera:

 $ timedatectl Local time: Wed 2021-01-13 00:25:33 GMT Universal time: Wed 2021-01-13 00:25:33 UTC RTC time: n/a Time zone: Europe/London (GMT, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no  

Tenga en cuenta dos elementos:

  1. System clock synchronized: yes
  2. NTP service: active

El elemento 1. le dice que el reloj de su sistema está sincronizado con la fuente de tiempo predeterminada, y el elemento 2. es casi cierto en que RPi usa el protocolo SNTP de forma predeterminada en lugar de NTP ( REF ); es decir, esto significa que RPi tiene una fuente de tiempo y la está usando.

Creo que «es todo lo que» se necesita para un actualizado respuesta de fecha para 2021 , excepto esto: lea man timedatectl para obtener más información sobre sus capacidades, o si TLDR esta página tiene un resumen decente.

Comentarios

  • Reloj del sistema sincronizado: no
  • @Arrow_Raider: ¿Tu ‘ punto es ???

Responder

Ya debería estar actualizando la hora. El servidor NTPD debería iniciarse justo después del archivo de intercambio y antes de SSHD.

Verifique su archivo /etc/ntp.conf para asegurarse de que esté configurado.

Debe enumerar al menos un servidor. Uso time.nrc.ca para mi servidor.

La página del manual para ntp.conf está aquí: http://linux.die.net/man/5/ntp.conf

Responder

La Rasberry Pi de mi hijo no actualizaba la hora de fábrica y después de intentar Todas las sugerencias anteriores pude hacer que se actualizara manualmente pero no automáticamente.Finalmente, después de buscar en otra parte también sin éxito, encontré que el ntp.conf que venía con la Rasberry Pi tenía las siguientes líneas comentadas:

#restrict 127.0.0.1 #restrict ::1 

Usé

sudo nano /etc/ntp.conf 

en la terminal para editar el archivo ntp conf para que ahora sea:

# Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict ::1 

Eso nos resolvió el problema. Se actualiza tanto con el cable WiFi como con el cable ethernet. No sé si se actualizaría con WiFi sin el cambio a rc.local sugerido anteriormente, ya que cuando encontré la solución anterior, ya había realizado ese cambio y no lo he deshecho.

Respuesta

Encontré la aplicación timedatectl para ayudarme cuando tenía un problema similar. instalado de forma predeterminada y «–help» ofrece una descripción general bastante buena y simple de cómo usar la herramienta.

Nota: asegúrese de que su zona horaria esté configurada correctamente, lo que esta herramienta también puede hacer.

Respuesta

No es necesario utilizar ntp para resolver el problema. Hay un script que lee la fecha de un servidor y solo necesita establecer la fecha para que sea el resultado de ese script (su Raspberry Pi debe estar conectada a Internet). Luego, debe ejecutar ese comando al inicio.

Paso 1: Recupere la fecha de un servidor.

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d" " -f5-8)Z" 

Paso 2: Ejecute el comando al inicio añadiéndolo al archivo /etc/rc.local (Funcionó en Ubuntu 16.04).

sudo gedit /etc/rc.local 

CRÉDITOS:

1- https://askubuntu.com/a/655528/572294

2- https://askubuntu.com/a/1199/572294

Comentarios

  • Es posible que no necesite utilizar ntp pero debería hacerlo. Es ‘ mejor, más rápido, más preciso y el estándar de la industria. No ‘ no invente sus propias cosas raras cuando existen buenos estándares, por favor.
  • No ‘ no ayuda mucho si su RasPi está funcionando 24/7.

Respuesta

Tuve un problema similar con un Pi que no se sincroniza . Ninguna de estas soluciones funcionó. Resulta que mi entorno de red estaba bloqueando el puerto NTP (123). La solución para mí fue

sudo apt install htpdate 

tomada de: https://www.raspberrypi.org/forums/viewtopic.php?t=222236

Que actualiza el reloj del sistema a través de llamadas HTTP.

Responde

Este es el enfoque que terminé adoptando. Muchas de estas respuestas parecían indicar cosas que simplemente no verificaba cuando miré mi sistema Raspian:

$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" 

No tenía nada que apareciera en los registros indicando que timedatectl estaba haciendo algo, o que ntp se estaba sincronizando en el estado activo de la NIC, o que NTPD incluso estaba instalado / configurado.

Al final, simplemente agregué esto a mi /etc/rc.local:

$ cat /etc/rc.local logger "Beginning force syncing NTP..." service ntp stop ntpd -gq service ntp start logger "Finished force syncing NTP..." 

E instalé ntp:

$ sudo apt-get install ntp 

Lo que da como resultado /var/log/syslog:

Aug 5 09:10:20 pi-hole ntp[526]: Starting NTP server: ntpd. Aug 5 09:10:20 pi-hole ntpd[555]: proto: precision = 1.458 usec (-19) Aug 5 09:10:20 pi-hole ntpd[555]: Listen and drop on 0 v6wildcard [::]:123 Aug 5 09:10:20 pi-hole ntpd[555]: Listen and drop on 1 v4wildcard 0.0.0.0:123 Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 2 lo 127.0.0.1:123 Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 3 eth0 192.168.1.85:123 Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 4 lo [::1]:123 Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123 Aug 5 09:10:20 pi-hole ntpd[555]: Listening on routing socket on fd #22 for interface updates Aug 5 09:10:21 pi-hole ntpd[555]: ntpd exiting on signal 15 (Terminated) Aug 5 09:10:21 pi-hole ntp[661]: Stopping NTP server: ntpd. Aug 5 09:10:21 pi-hole ntpd[674]: ntpd [email protected] Sat Mar 10 18:03:33 UTC 2018 (1): Starting Aug 5 09:10:21 pi-hole ntpd[674]: Command line: ntpd -gq Aug 5 09:10:21 pi-hole ntpd[674]: proto: precision = 0.625 usec (-21) Aug 5 09:10:21 pi-hole ntpd[674]: Listen and drop on 0 v6wildcard [::]:123 Aug 5 09:10:21 pi-hole ntpd[674]: Listen and drop on 1 v4wildcard 0.0.0.0:123 Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 2 lo 127.0.0.1:123 Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 3 eth0 192.168.1.85:123 Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 4 lo [::1]:123 Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123 Aug 5 09:10:21 pi-hole ntpd[674]: Listening on routing socket on fd #22 for interface updates Aug 5 09:10:34 pi-hole ntpd[674]: Soliciting pool server 198.98.57.16 Aug 5 09:10:35 pi-hole ntpd[674]: Soliciting pool server 74.82.59.149 Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 23.131.160.7 Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 52.37.26.163 Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 204.2.134.163 Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 96.126.100.203 Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 199.223.248.101 Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 66.228.42.59 Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 208.75.89.4 Aug 5 09:10:37 pi-hole ntpd[674]: Soliciting pool server 204.2.134.164 Aug 5 09:10:37 pi-hole ntpd[674]: Soliciting pool server 104.236.116.147 Aug 5 09:10:38 pi-hole ntpd[674]: Soliciting pool server 204.9.54.119 Aug 5 09:10:48 pi-hole ntpd[674]: ntpd: time set +6.769186 s Aug 5 09:10:49 pi-hole ntpd[853]: ntpd [email protected] Sat Mar 10 18:03:33 UTC 2018 (1): Starting Aug 5 09:10:49 pi-hole ntpd[853]: Command line: /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 111:114 Aug 5 09:10:49 pi-hole ntp[844]: Starting NTP server: ntpd. Aug 5 09:10:49 pi-hole ntpd[856]: proto: precision = 0.625 usec (-21) Aug 5 09:10:49 pi-hole ntpd[856]: Listen and drop on 0 v6wildcard [::]:123 Aug 5 09:10:49 pi-hole ntpd[856]: Listen and drop on 1 v4wildcard 0.0.0.0:123 Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 2 lo 127.0.0.1:123 Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 3 eth0 192.168.1.85:123 Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 4 lo [::1]:123 Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123 Aug 5 09:10:49 pi-hole ntpd[856]: Listening on routing socket on fd #22 for interface updates Aug 5 09:10:49 pi-hole root: Finished force syncing NTP... 

Comentarios

  • No ‘ no funciona en raspbian mínimo: Failed to start ntp.service: Unit ntp.service not found. Y ntpd tampoco ‘ existe. El Pi definitivamente finalmente gana tiempo. (Yo ‘ estoy investigando esto porque mis rizos HTTPS fallan sin -k cuando se ejecutan antes de eso)
  • @StevenLu – I ‘ actualizaremos A ‘ er para incluir la instalación de ntp también.
  • @StevenLu – apt-get install ntp

Respuesta

Utilizo lo siguiente en la imagen predeterminada para sincronizar la hora sin instalar paquetes adicionales:

timedatectl set-local-rtc 0 timedatectl set-ntp 1 timedatectl status 

Respuesta

Encontré esto en alguna parte de las redes. Parece funcionar en Buster:

sudo timedatectl set-ntp false && sudo timedatectl set-time "$(date --iso-8601=seconds | cut -d "+" -f1 | tr T " ")" && sudo timedatectl set-ntp true 

No estoy seguro de si el comando intermedio (set-time) es realmente necesario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *