Guide complet : Mise à l’Heure Automatique d’un Raspberry Pi
Vous avez des problèmes avec le réglage de l’heure sur votre Raspberry Pi ?
Où peut être vous voulez synchroniser l’heure avec un autre serveur ?
Je vais vous aider dans cet article avec tout ce qui tourne autour du réglage de l’heure sur Raspberry Pi (et donc sur Linux en général)
Comment régler l’heure automatiquement sur Raspberry Pi ?
Le réglage de l’heure sur Raspberry Pi OS est automatique, le système est configuré ainsi à l’installation.
La commande timedatectl permet cependant de voir et modifier la configuration active, et le service NTP peut aussi être utile.
Je vais vous expliquer ici le fonctionnement de la synchronisation automatique de l’heure sur Linux, et comment la configurer de la manière dont vous le souhaitez
Nous verrons les deux manières de gérer ça sur un Raspberry Pi :
– Timedatectl : inclus directement sur RPI OS, et facile à configurer
– NTP : la manière classique de faire ceci sous Linux, pour une meilleure compatibilité avec les autres systèmes
Et pour finir, je vous donnerai toutes les commandes utiles pour manier la date et l’heure sur Raspberry Pi
À propos, si vous êtes novice sur Raspberry Pi et que vous souhaitez accélérer vos premiers pas (tout en vous amusant), n’hésitez pas à télécharger mon e-book « Maitrisez Raspberry Pi en 30 jours« . Il s’agit d’un défi de 30 jours au cours duquel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin apprécier cet appareil passionnant qu’est le Raspberry Pi.
A propos de la synchronisation de l’heure
Avant d’aller plus loin dans les informations techniques et les commandes, je voudrais vous expliquer comment fonctionne la synchronisation de l’heure sur Linux, sur le Raspberry Pi et sur la plupart des systèmes modernes
Sur un réseau, il est crucial que tous les ordinateurs soient à la même heure
Par exemple, il n’est généralement pas possible d’ouvrir une session Active Directory ou d’accéder à un partage Samba si votre ordinateur est en retard ne serait ce que de 5 minutes
Il faut donc configurer une synchronisation de l’heure sur l’ensemble des systèmes du réseau
Le protocole NTP joue ce rôle (Network Time Protocol)
En bref vous configurez votre ordinateur pour demander l’heure à un autre, et utiliser la réponse pour régler sa propre heure (c’est un peu plus compliqué que ça, mais si vous retenez cela c’est déjà bien)
Voici un schéma du fonctionnement (source : Wikipédia) :
Généralement, il y a serveur maître sur chaque réseau qui se synchronise avec Internet
Et ensuite, tous les ordinateurs se synchronisent avec ce serveur maitre
Dans cet article je vais vous montrer comment configurer tout cela, soit avec timedatectl, soit avec NTP directement.
Évidemment cela n’est nécessaire que pour des services avancés, le reste du temps vous pouvez régler l’heure du Raspberry Pi manuellement.
Timedatectl
Introduction
Les dernières versions de Raspberry Pi OS (Lite ou Desktop) intègrent timedatectl par défaut
Il s’agit d’un outil pour gérer la date et l’heure en ligne de commande sur le Raspberry Pi
La première commande que je vais vous expliquer est celle qui permet d’afficher le statut actuel :timedatectl status
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Vous devriez obtenir quelque chose de similaire :
Donc vous avez :
- L’heure locale
- Le temps universel (ce qui devrait être identique par défaut)
- L’heure RTC si configuré (cela n’est pas inclus sur Raspberry Pi)
- Le fuseau horaire utilisé (par défaut c’est GMT)
- Et enfin le statut de la synchronisation automatique
Donc comme vous pouvez le voir, le Raspberry Pi est livré avec une synchronisation de l’heure déjà active (mis à part le fuseau horaire qui devrait être modifié)
Les commandes
Avant de regarder comment configurer tout ceci, je voudrais commencer par vous donner les commandes utiles (ou les options plutôt) que vous allez pouvoir utiliser avec timedatectl
Liste des fuseaux horaires
Changer la configuration du fuseau horaire c’est bien beau, mais encore faut-il connaître les valeurs possibles
Pour ceci, utilisez la commande suivante :timedatectl list-timezones
Étant donné qu’il y a beaucoup de possibilités, vous pouvez utiliser grep pour filtrer les résultats :timedatectl list-timezones | grep Europe
timedatectl list-timezones | grep Paris
Notez le fuseau horaire correspondant à votre situation, et utilisez-le dans la prochaine commande
Régler le fuseau horaire
Pour régler le fuseau horaire, voici la commande à utiliser :sudo timedatectl set-timezone <valeur>
Par exemple :sudo timedatectl set-timezone America/New_York
sudo timedatectl set-timezone Europe/Paris
sudo timedatectl set-timezone Australia/Sydney
N’hésitez pas à refaire un timedatectl status pour vérifier que tout est ok
À noter que pour changer le fuseau horaire vous pouvez également utiliser raspi-config : Localization options > Change time zone
Réglage de l’heure manuelle
Ce n’est pas vraiment l’objectif de cet article, mais si jamais vous avez besoin de régler l’heure manuellement, voici comment faire avec timedatectl : sudo timedatectl set-time 'A:M:J HH:mm:ss'
sudo timedatectl set-time 'A:M:J'
sudo timedatectl set-time 'HH:mm:ss'
Par exemple :sudo timedatectl set-time '12:00:00'
Avant de faire cela, il faut toutefois désactiver la mise à jour automatique (sinon l’heure reviendra toute seule à celle qui était configurée avant)
Voir le paragraphe suivant à ce sujet
Activation ou désactivation de la mise à jour automatique
Si vous préférez désactiver la synchronisation automatique de l’heure (ou la réactiver), voici les commandes à utiliser :sudo timedatectl set-ntp false
sudo timedatectl set-ntp true
Note : Un redémarrage du Raspberry Pi peut être nécessaire pour que la modification prenne effet
Vous connaissez maintenant toutes les commandes utiles basées sur timedatectl
Configuration
La dernière chose à savoir à propos de timedatectl, c’est qu’il existe un fichier de configuration
Il vous permet notamment de changer le serveur utilisé pour la synchronisation
Voici comment faire :
- Ouvrez le fichier de configuration :
sudo nano /etc/systemd/timesyncd.conf
- Décommentez la ligne qui commence par FallbackNTP et remplacez les serveurs par défaut par ceux que vous souhaitez utiliser (que ce soit un serveur local ou sur Internet)
- Par exemple :
[Time]
#NTP=
FallbackNTP=0.us.pool.ntp.org 1.us.pool.ntp.org
NTP
Introduction
L’autre manière de faire de la synchronisation de l’heure sur Linux est d’utiliser NTP
Même si Debian et Ubuntu le remplacent progressivement par timedatectl, c’est toujours un logiciel très courant sur les systèmes Linux
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Je ne suis pas sûr de comprendre exactement la différence entre les deux et pourquoi on remplacerait l’un par l’autre
Mais j’ai l’impression que timedatectl est parfait pour les clients, facile à utiliser et à configurer dès l’installation du système
NTP serait probablement plus dédié aux serveurs, pour les utiliser comme serveur de temps ou avoir plus d’options de configuration
Configuration
Installation
Comme évoqué précédemment, NTP n’est pas disponible par défaut sur Raspberry Pi OS.
Vous devrez utiliser apt pour l’installer :sudo apt install ntp
Configuration
Le fichier de configuration pour NTP est disponible ici : /etc/ntpd.conf
Vous pouvez l’éditer pour utiliser un nouveau serveur de temps (c’est les lignes qui commencent par « pool »)
Chaque option est commentée donc vous devriez vous y retrouver facilement
Si vous voulez utiliser votre Raspberry Pi comme un serveur de temps, c’est aussi dans ce fichier que vous pouvez le configurer (options « restrict access », « broacast time », etc.)
Les commandes
NTP est un service, avec un fichier de configuration uniquement
NTP a donc moins de commandes que timedatectl (tout doit être fait dans le fichier de configuration)
Voici la commande à utiliser pour gérer le service :sudo service ntp status | start | stop | restart
Par exemple : sudo service ntp restart
pour redémarrer et appliquer les changements
La commande ntpdate
ntpdate est une commande additionnelle que vous pouvez installer et utiliser pour forcer la synchronisation de l’heure
Installation :sudo apt install ntpdate
Vérifier le décalage de temps entre votre Raspberry Pi et son serveur référence :ntpdate -q 0.fr.pool.ntp.org
Dans mon cas j’ai bien moins d’une seconde de décalage, ce qui confirme que NTP fonctionne correctement
Forcer un rattrapage en cas de décalage important :
Le service NTP aura tendance à régler l’heure avec le serveur référence petit à petit, progressivement
Si vous souhaitez régler l’heure en une fois, ntpdate va vous être utile :sudo service ntp stop
sudo ntpdate 0.fr.pool.ntp.org
sudo service ntp start
Il est nécessaire de stopper le service NTP avant d’utiliser ntpdate afin de libérer le port
Vous devriez obtenir quelque chose du genre :
FAQ
Comment synchroniser le temps sur mon Raspberry Pi ?
La synchronisation du temps est activée par défaut sur Raspberry Pi OS. Vous pouvez modifier le fuseau horaire à l’aide de raspi-config ou de l’outil de configuration Raspberry Pi, afin de régler l’heure correcte sur votre système. Lors du premier démarrage, le menu de bienvenue vous demandera également votre fuseau horaire.
Comment définir l’heure et la date manuellement sur Raspberry Pi ?
En règle générale, vous utiliserez raspi-config pour définir la date et l’heure sur une version Lite ou l’outil de configuration Raspberry Pi si vous disposez d’un environnement de bureau. Vous pouvez également utiliser la commande « sudo timedatectl set-time ‘HH:mm:ss' » pour définir l’heure en une seule commande.
Comment trouver la date et l’heure sur mon Raspberry Pi ?
Avec une version de bureau, la date et l’heure sont affichées dans le coin supérieur droit, mais vous pouvez taper « date » dans un terminal pour obtenir la date et l’heure actuelles sur n’importe quelle distribution Linux.
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Vous voulez discuter avec d'autres passionnés de Raspberry Pi ? Rejoignez la communauté, partagez vos projets en cours et posez vos questions sur le forum (en anglais).
En bref
Les commandes pour Timedatectl
Command | Description |
---|---|
timedatectl status | Affiche la configuration actuelle |
timedatectl list-timezones | Liste les fuseaux horaires disponibles |
sudo timedatectl set-timezone <zone> | Change le fuseau horaire |
sudo timedatectl set-time <date-heure> | Règle la date/heure à la main |
sudo timedatectl set-ntp <true/false> | Active ou désactive la synchronisation du temps |
Les commandes pour NTP
Command | Description |
---|---|
sudo apt install ntp ntpdate | Installation NTP et ntpdate |
service ntp status | start | stop | restart | Gestion du service NTP |
sudo ntpdate -q 0.us.pool.ntp.org | Vérifie le décalage avec le serveur de temps indiqué |
sudo ntpdate 0.us.pool.ntp.org | Change le serveur de synchronisation du temps (pensez à désactiver NTP) |
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Conclusion
Vous savez maintenant tout ce qu’il y a à savoir sur le réglage de l’heure sur un Raspberry Pi, et la synchronisation du temps sur les systèmes Linux en général
Cela n’est peut-être pas indispensable à la maison, mais c’est très utile dans les réseaux un peu plus grands