J'exécute Ubuntu sur un système embarqué basé sur ARM qui n'a pas de RTC soutenu par une batterie. L'heure du réveil est quelque part en 1970. Ainsi, j'utilise le service NTP pour mettre à jour l'heure à l'heure actuelle.
J'ai ajouté la ligne suivante à /etc/rc.local
fichier:
sudo ntpdate -s time.nist.gov
Cependant, après le démarrage, il faut encore quelques minutes pour que l'heure soit mise à jour, période pendant laquelle je ne peux pas travailler efficacement avec tar
et make
.
Comment puis-je forcer une mise à jour de l'horloge à un moment donné?
MISE À JOUR 1: Ce qui suit (merci à Eric et Stephan) fonctionne bien à partir de la ligne de commande, mais ne parvient pas à mettre à jour l'horloge lorsqu'elle est mise en /etc/rc.local
:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; dateThu Jan 1 00:00:58 UTC 1970 * Stopping NTP server ntpd [ OK ] * Starting NTP server [ OK ] Thu Feb 14 18:52:21 UTC 2013
Qu'est-ce que je fais de mal?
MISE À JOUR 2: J'ai essayé de suivre les quelques suggestions qui sont venues en réponse à la 1ère mise à jour, mais rien ne semble réellement faire le travail comme requis. Voici ce que j'ai essayé:
- Remplacez le serveur par
us.pool.ntp.org
- Utiliser des chemins explicites vers les programmes
- Retirez le
ntp
service tout à fait et laisser justesudo ntpdate ...
dansrc.local
- Retirez le
sudo
de la commande ci-dessus dansrc.local
En utilisant ce qui précède, la machine démarre toujours à 1970. Cependant, lorsque vous le faites à partir de la ligne de commande une fois connecté (via ssh
), l'horloge est mise à jour dès que j'invoque ntpdate
.
La dernière chose que j'ai faite a été de retirer ça de rc.local
et passez un appel à ntpdate
dans mon .bashrc
fichier. Cela met à jour l'horloge comme prévu, et j'obtiens la véritable heure actuelle une fois que l'invite de commande est disponible.
Cependant, cela signifie que si la machine est allumée et qu'aucun utilisateur n'est connecté, l'heure n'est jamais mise à jour. Je peux, bien sûr, réinstaller le ntp
service donc au moins l'horloge est mise à jour quelques minutes après le démarrage, mais nous sommes de retour à la case départ.
Alors, y a-t-il une raison pour laquelle placer le ntpdate
commande dans rc.local
n'effectue pas la tâche requise, tout en le faisant dans .bashrc
fonctionne bien?