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 .
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 .
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 del ntpd
arranque, por lo que esto debería funcionar para establecer el tiempo en el arranque siempre que haya una conexión Ethernet.
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:
sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start
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:
sudo timedatectl set-ntp True
Verificar resultado con timedatectl status
En caso de advertencia, es posible que deba ejecutar sudo timedatectl set-local-rtc true
también.
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 ahoraI2 Change Timezone
la opción ya no existe
Ver 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
/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. A continuación, reinicie y verifique.
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
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:
#restrict 127.0.0.1
#restrict ::1
solía
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 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.
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.
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:
$ 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 aparecía nada en los registros que indicara que timedatectl
estaba haciendo algo, o que se ntp
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
:
$ cat /etc/rc.local
logger "Beginning force syncing NTP..."
service ntp stop
ntpd -gq
service ntp start
logger "Finished force syncing NTP..."
E instalado ntp
:
$ sudo apt-get install ntp
Lo que resulta en esto en /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 4.2.8p10@1.3728-o 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 4.2.8p10@1.3728-o 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...
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.
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 agregándolo al archivo /etc/rc.local
(Funcionado en Ubuntu 16.04).
sudo gedit /etc/rc.local
CRÉDITOS