J'utilise Ubuntu sur un système intégré basé sur ARM, dépourvu de RTC sauvegardé sur batterie. L’heure de réveil est quelque part au cours de 1970. Ainsi, j’utilise le service NTP pour mettre à jour l’heure à l’heure actuelle.
J'ai ajouté la ligne suivante au /etc/rc.local
fichier:
sudo ntpdate -s time.nist.gov
Cependant, après le démarrage, la mise à jour de l'heure prend encore quelques minutes, période au cours de 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 bien en ligne de commande, mais ne parvient pas à mettre à jour l'horloge lorsqu'il est inséré /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 1ère mise à jour, mais rien ne semble réellement faire le travail comme il se doit. Voici ce que j'ai essayé:
- Remplacez le serveur pour
us.pool.ntp.org
- Utiliser des chemins explicites vers les programmes
- Supprimez le
ntp
service complètement et laissez justesudo ntpdate ...
dansrc.local
- Supprimer la
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 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 a été d'enlever cette information rc.local
et de la placer ntpdate
dans mon .bashrc
dossier. Cela met à jour l'horloge comme prévu et j'obtiens l'heure actuelle réelle 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 ne reçoit jamais de mises à jour. Je peux bien sûr réinstaller le ntp
service afin que l'horloge soit au moins mise à jour dans les minutes qui suivent le démarrage, mais nous revenons à la case 1.
Alors, y a-t-il une raison pour laquelle placer la ntpdate
commande dans rc.local
n'exécute pas la tâche requise, alors que cela .bashrc
fonctionne correctement?
sudo
fichiers /etc/rc.locale .. ils sont déjà exécutés en tant que root.
timedatectl
, mais askubuntu.com/questions/832646/…
ntpdate -s ntp.ubuntu.com
[1]: askubuntu.com/a/81301/130162