Le Raspberry Pi manque d'une horloge matérielle. Comment forcer NTPD à mettre à jour la date et l'heure immédiatement après chaque démarrage?
J'utilise Raspbian et le Raspberry Pi est connecté à l'aide d'un câble Ethernet .
Le Raspberry Pi manque d'une horloge matérielle. Comment forcer NTPD à mettre à jour la date et l'heure immédiatement après chaque démarrage?
J'utilise Raspbian et le Raspberry Pi est connecté à l'aide d'un câble Ethernet .
Réponses:
Faire un apt-get install ntpdate
.
ntpdate
s’exécutera lorsqu’une interface Ethernet sera affichée et définira l’heure à partir d’un serveur NTP (voir /etc/default/ntpdate
)
Si ntpd
est en cours d'exécution, ntpdate ne fera rien, mais ntpdate
s'exécutera avant le ntpd
démarrage - cela devrait donc permettre de définir l'heure au démarrage tant qu'il existe une connexion Ethernet.
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
je ne l'avais pas aussi.
Si votre horloge est complètement éteinte, vous devrez peut-être forcer ntp à se synchroniser en procédant comme suit:
sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start
Après avoir cherché, cette méthode a fonctionné pour moi. Comme vous le savez, le Raspberry Pi 3 a NTP désactivé par défaut. Donc, en tapant simplement ceci, le support NTP sera activé:
sudo timedatectl set-ntp True
Vérifier le résultat avec timedatectl status
En cas d’avertissement, vous devrez peut-être sudo timedatectl set-local-rtc true
aussi courir .
Si vous définissez le fuseau horaire dans raspi-config
le Raspberry Pi, l’heure sera automatiquement mise à jour au démarrage, si elle est connectée à Internet.
sudo raspi-config
Internationalisation Options
I2 Change Timezone
Finish
Yes
pour redémarrer maintenantI2 Change Timezone
L’option n’existe plus
Voir le message du forum Le temps ne se synchronise pas sur le Pi 3 et avec le dongle officiel .
ntpd émet des paquets IP / UDP avec le champ ToS défini sur 0xc0. Cela ressemble donc beaucoup à l’autre problème que j’ai (avec beaucoup d’autres) à propos de Raspberry Pi3 lorsqu’il est exploité via une interface interne Wi-Fi.
Pour contourner le problème, ajoutez la commande
/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00
au dossier
/etc/rc.local
avant la ligne de sortie 0. Ensuite, redémarrez et vérifiez.
Il devrait déjà mettre à jour l'heure. Le serveur NTPD doit démarrer juste après le fichier d'échange et avant SSHD.
Vérifiez votre fichier /etc/ntp.conf pour vous assurer qu'il est configuré.
Il devrait répertorier au moins un serveur. J'utilise time.nrc.ca pour mon serveur.
La page de manuel pour ntp.conf est ici: http://linux.die.net/man/5/ntp.conf
Rasberry Pi de mon fils ne mettrait pas à jour le temps hors de la boîte et après avoir essayé toutes les suggestions ci-dessus, je pouvais le faire mettre à jour manuellement mais pas automatiquement. Enfin, après avoir cherché ailleurs sans succès, j’ai trouvé que les lignes suivantes étaient commentées dans le fichier ntp.conf fourni avec Rasberry Pi:
#restrict 127.0.0.1
#restrict ::1
j'ai utilisé
sudo nano /etc/ntp.conf
dans le terminal pour éditer le fichier ntp conf pour être maintenant:
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
Cela a résolu le problème pour nous. Il met à jour avec le WiFi et le câble Ethernet. Je ne sais pas si le WiFi sera mis à jour sans le changement de rc.local suggéré ci-dessus, car au moment où j'ai trouvé la solution ci-dessus, j'avais déjà apporté cette modification et je ne l'ai pas annulée.
J'ai trouvé l' timedatectl
application pour m'aider alors que je rencontrais un problème similaire. Il est installé par défaut et '--help' donne un bon aperçu de l'utilisation de l'outil.
Remarque: assurez-vous que votre fuseau horaire est correctement défini, ce que cet outil peut également faire.
C'est l'approche que j'ai finalement adoptée. Beaucoup de ces réponses semblaient indiquer des choses qui n'avaient pas été vérifiées lorsque j'ai examiné mon système 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"
Je n'avais aucun timedatectl
élément dans les journaux indiquant qu'il faisait quoi que ce soit, ou qu'il ntp
se synchronisait lorsque la carte réseau était active, ou que NTPD était même installé / configuré.
En fin de compte, j'ai simplement ajouté ceci à mon /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..."
Et installé ntp
:
$ sudo apt-get install ntp
Ce qui en résulte 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.
Et ntpd n'existe pas non plus. Le Pi gagne définitivement du temps. (Je regarde ça parce que mes boucles HTTPS échouent sans -k lorsqu'elles étaient exécutées auparavant)
apt-get install ntp
Vous n'avez pas besoin d'utiliser NTP pour résoudre le problème. Il existe un script qui lit la date sur un serveur et il vous suffit de définir la date pour qu'elle soit le résultat de ce script (votre Raspberry Pi doit être connecté à Internet). Ensuite, vous devez exécuter cette commande au démarrage.
Étape 1: Récupérez la date d'un serveur.
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
Étape 2: Exécutez la commande au démarrage en l'ajoutant au fichier /etc/rc.local
(travail sous Ubuntu 16.04).
sudo gedit /etc/rc.local
CRÉDITS: