J'utilise Ubuntu sur un système intégré basé sur ARM, dépourvu de RTC sauvegardé sur batterie. L’heure de réveil se situe quelque part au cours de 1970. J’utilise donc le service NTP pour mettre l’heure à jour.
J'ai ajouté la ligne suivante au fichier /etc/rc.local
:
sudo ntpdate -s time.nist.gov
Cependant, après le démarrage, quelques minutes sont nécessaires pour que le temps soit mis à 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é?
UPDATE 1: Ce qui suit (merci à Eric et Stephan) fonctionne correctement en ligne de commande, mais ne parvient pas à mettre à jour l'horloge lors de sa mise en /etc/rc.local
:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu 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 mal?
MISE À JOUR 2: j'ai essayé de suivre les quelques suggestions formulées en réponse à la première mise à jour, mais rien ne semble réellement permettre de faire le travail requis. Voici ce que j'ai essayé:
- Remplacez le serveur par
us.pool.ntp.org
- Utiliser des chemins explicites vers les programmes
- Supprimez le service
ntp
et laissez uniquementsudo ntpdate ...
dansrc.local
- Supprimez le
sudo
de la commande ci-dessus dansrc.local
À partir de ce qui précède, la machine démarre toujours à 1970. Cependant, si vous le faites depuis la ligne de commande une fois connecté (via ssh
), l'horloge est mise à jour dès que j'appelle ntpdate
.
La dernière chose que j'ai faite était de supprimer cela de rc.local
et de passer un appel à ntpdate
dans mon fichier .bashrc
. Cela met à jour l'horloge comme prévu et j'obtiens l'heure actuelle réelle une fois l'invite de commande disponible.
Cependant , cela signifie que si la machine est allumée et qu'aucun utilisateur n'est connecté, l'heure ne sera jamais mise à jour. Je peux bien sûr réinstaller le service ntp
afin que l'horloge soit au moins mise à jour quelques minutes après le démarrage, mais nous revenons à la case 1.
Alors, y a-t-il une raison pour laquelle placer la commande ntpdate
dans rc.local
n'effectue pas la tâche requise, alors que l'opération dans .bashrc
fonctionne correctement?