La Raspberry Pi carece de un 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 mediante un cable Ethernet .
raspbian
ntp
Alessandro Da Rugna
fuente
Respuestas:
Hacer un
apt-get install ntpdate
.ntpdate
se ejecutará cuando aparezca una interfaz Ethernet y establecerá la hora desde un servidor ntp (consulte/etc/default/ntpdate
).Si se
ntpd
está ejecutando, ntpdate no hará nada, sin embargo,ntpdate
se ejecutará antes delntpd
arranque, por lo que esto debería funcionar para establecer el tiempo en el arranque siempre que haya una conexión Ethernet.fuente
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
No lo tenía también.Si su reloj está apagado, es posible que deba forzar a ntp para que se sincronice haciendo:
fuente
Después de buscar, este método funcionó para mí. Como sabes, la Raspberry Pi 3 tiene NTP deshabilitado por defecto. Entonces, simplemente escribiendo esto, se habilitará el soporte NTP:
Verificar resultado con
timedatectl status
En caso de advertencia, es posible que deba ejecutar
sudo timedatectl set-local-rtc true
también.fuente
Si configura la zona horaria en
raspi-config
la Raspberry Pi, se actualizará automáticamente la hora de inicio, si está conectado a Internet.sudo raspi-config
Internationalisation Options
I2 Change Timezone
Finish
Yes
para reiniciar ahorafuente
I2 Change Timezone
la opción ya no existeVer publicación en el foro El tiempo no se sincroniza en Pi 3 y con el dongle oficial .
ntpd emite paquetes IP / UDP con el campo ToS establecido en 0xc0. Entonces, eso es bastante similar al otro problema que tengo (y muchos otros) con Raspberry Pi3 cuando se opera a través de una interfaz interna Wi-Fi.
Como solución alternativa, agregue el comando
al archivo
antes de la línea de salida 0. A continuación, reinicie y verifique.
fuente
Ya debería estar actualizando la hora. El servidor NTPD debe 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. Yo 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
fuente
La Rasberry Pi de mi hijo no actualizó el tiempo fuera de la caja y después de probar todas las sugerencias anteriores pude hacer que se actualizara manualmente pero no automáticamente. Finalmente, después de buscar también en otro lugar sin éxito, descubrí que el archivo ntp.conf que venía con Rasberry Pi tenía las siguientes líneas comentadas:
solía
en la terminal para editar el archivo ntp conf para que ahora sea:
Eso resolvió el problema para nosotros. Se actualiza tanto con WiFi como con el cable de 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 hecho ese cambio y no lo he deshecho.
fuente
Encontré la
timedatectl
aplicación para ayudarme cuando tenía un problema similar. Se instala por defecto 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.
fuente
Este es el enfoque que terminé tomando. Muchas de estas respuestas parecían indicar cosas que simplemente no se verificaron cuando miré mi sistema Raspian:
No aparecía nada en los registros que indicara que
timedatectl
estaba haciendo algo, o que sentp
estaba sincronizando en el estado activo de la NIC, o que NTPD estaba incluso instalado / configurado.Al final, simplemente agregué esto a mi
/etc/rc.local
:E instalado
ntp
:Lo que resulta en esto en
/var/log/syslog
:fuente
Failed to start ntp.service: Unit ntp.service not found.
y ntpd tampoco existe. El Pi definitivamente gana tiempo. (Estoy investigando esto porque mis rizos HTTPS fallan sin -k cuando se ejecutan antes de eso)apt-get install ntp
No necesita usar 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: recuperar la fecha de un servidor.
Paso 2: Ejecute el comando al inicio agregándolo al archivo
/etc/rc.local
(Funcionado en Ubuntu 16.04).CRÉDITOS
1- https://askubuntu.com/a/655528/572294
2- https://askubuntu.com/a/1199/572294
fuente
Utilizo lo siguiente en la imagen predeterminada para sincronizar el tiempo sin instalar paquetes adicionales:
fuente