Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Chapitre 2. Configurer l'heure et la date
Les systèmes d'exploitation modernes font la distinction entre les deux types d'horloges suivants :
- Une horloge temps réel (« Real-Time Clock », ou RTC), communément appelée horloge matérielle, (habituellement un circuit intégré sur la carte système) est complètement indépendante de l'état actuel du système d'exploitation et fonctionne même lorsque l'ordinateur est éteint.
- Une horloge système, également appelée horloge logicielle, est habituellement maintenue par le noyau et sa valeur initiale est basée sur l'horloge temps réel. Une fois le système démarré et l'horloge système initialisée, celle-ci est entièrement indépendante de l'horloge temps réel.
Le temps système est toujours conservé sous le format du temps universel coordonné (« Coordinated Universal Time », ou UTC) puis converti dans les applications au temps local selon les besoins. Le temps local correspond à l'heure réelle dans votre fuseau horaire et prend en compte l'heure d'été (« daylight saving time », ou DST). L'horloge temps réel peut utiliser l'heure UTC ou l'heure locale. L'heure UTC est recommandée.
Red Hat Enterprise Linux 7 offre trois outils de ligne de commande pouvant être utilisés pour configurer et afficher des informations sur l'heure et la date du système : l'utilitaire
timedatectl
, qui est nouveau sur Red Hat Enterprise Linux 7 et fait partie de systemd
; la commande traditionnelle date
; et l'utilitaire hwclock
pour accéder à l'horloge matérielle.
2.1. Utilisation de la commande timedatectl
L'utilitaire timedatectl est distribué dans le cadre du gestionnaire de services et systèmes
systemd
et permet de réviser et modifier la configuration de l'horloge système. Vous pouvez utiliser cet outil pour modifier l'heure et la date actuelle, pour définir le fuseau horaire, ou pour activer la synchronisation automatique de l'horloge système avec un serveur distant.
Pour obtenir des informations sur la manière d'afficher l'heure et la date actuelle sous un format personnalisé, veuillez également consulter la Section 2.2, « Utiliser la commande date ».
2.1.1. Afficher l'heure et la date actuelle
Pour afficher l'heure et la date actuelle, ainsi que des informations détaillées sur la configuration de l'horloge système et de l'horloge matérielle, veuillez exécuter la commande
timedatectl
sans aucune autre option de ligne de commande :
timedatectl
Ceci affiche l'heure locale et universelle, le fuseau horaire en cours d'utilisation, le statut de la configuration
NTP
(« Network Time Protocol »), ainsi que des informations supplémentaires liées à DST.
Exemple 2.1. Afficher l'heure et la date actuelle
Voici un exemple de la sortie de commande
timedatectl
sur un système qui n'utilise pas NTP
pour synchroniser l'horloge système avec un serveur distant :
~]$ timedatectl
Local time: Mon 2013-09-16 19:30:24 CEST
Universal time: Mon 2013-09-16 17:30:24 UTC
Timezone: Europe/Prague (CEST, +0200)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2013-03-31 01:59:59 CET
Sun 2013-03-31 03:00:00 CEST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2013-10-27 02:59:59 CEST
Sun 2013-10-27 02:00:00 CET
Important
Les changements au statut de
chrony
ou à ntpd
ne seront pas notés immédiatement par timedatectl
. S'il y a eu des changements de configuration ou de statut à ces outils, saisir la commande suivante :
~]# systemctl restart systemd-timedated.services
2.1.2. Modifier l'heure actuelle
Pour modifier l'heure actuelle, veuillez saisir ce qui suit dans l'invite de shell en tant qu'utilisateur
root
:
timedatectl
set-time
HH:MM:SS
Veuillez remplacer HH par les heures, MM par les minutes, et SS par les secondes, le tout doit être saisi sous un format à deux chiffres.
Cette commande met à jour l'heure système et l'horloge matérielle. Le résultat est similaire à l'utilisation des commandes
date --set
et hwclock --systohc
.
La commande échouera si un service
NTP
est activé. Voir Section 2.1.5, « Synchroniser l'horloge système avec un serveur à distance » pour désactiver le service de façon temporaire.
Exemple 2.2. Modifier l'heure actuelle
Pour modifier l'heure actuelle à 11:26 p.m. (23h26), veuillez exécuter la commande suivante en tant qu'utilisateur
root
:
~]# timedatectl set-time 23:26:00
Par défaut, le système est configuré pour utiliser l'heure UTC. Pour configurer votre système à maintenir l'horloge à l'heure locale, veuillez exécuter la commande
timedatectl
avec l'option set-local-rtc
en tant qu'utilisateur root
:
timedatectl
set-local-rtc
boolean
Pour configurer votre système afin de maintenir l'horloge à l'heure locale, veuillez remplacer boolean par
yes
(ou bien par y
, true
, t
, ou 1
). Pour configurer le système de manière à utiliser UTC, veuillez remplacer boolean par no
(ou bien par, n
, false
, f
, ou 0
). L'option par défaut est no
.
2.1.3. Modifier la date actuelle
Pour modifier la date actuelle, veuillez saisir ce qui suit dans l'invite de shell en tant qu'utilisateur
root
:
timedatectl
set-time
YYYY-MM-DD
Veuillez remplacer YYYY par une année à quatre chiffres, MM par un mois à deux chiffres, et DD par un jour du mois à deux chiffres.
Veuillez remarquer que modifier la date sans spécifier l'heure actuelle fera que l'heure sera paramétrée sur 00:00:00.
Exemple 2.3. Modifier la date actuelle
Pour modifier la date actuelle sur le 2 juin 2013 et garder la même heure (11:26 p.m., ou 23h26), veuillez exécuter la commande suivante en tant qu'utilisateur
root
:
~]# timedatectl set-time '2013-06-02 23:26:00'
2.1.4. Modifier le fuseau horaire
Pour répertorier tous les fuseaux horaire disponibles, veuillez saisir ce qui suit dans une invite de shell :
timedatectl
list-timezones
Pour modifier le fuseau horaire en cous d'utilisation, veuillez saisir ce qui suit en tant qu'utilisateur
root
:
timedatectl
set-timezone
time_zone
Veuillez remplacer time_zone par l'une des valeurs répertoriées par la commande
timedatectl list-timezones
.
Exemple 2.4. Modifier le fuseau horaire
Pour identifier le fuseau horaire le plus proche de votre location actuelle, veuillez utiliser la commande
timedatectl
avec l'option de ligne de commande list-timezones
. Par exemple, pour répertorier tous les fuseaux horaires en Europe, veuillez saisir :
~]# timedatectl list-timezones | grep Europe
Europe/Amsterdam
Europe/Andorra
Europe/Athens
Europe/Belgrade
Europe/Berlin
Europe/Bratislava…
Pour changer le fuseau horaire sur
Europe/Prague
, veuillez saisir ce qui suit en tant qu'utilisateur root
:
~]# timedatectl set-timezone Europe/Prague
2.1.5. Synchroniser l'horloge système avec un serveur à distance
Contrairement aux ajustements manuels décrits dans les sections précédentes, la commande
timedatectl
vous permet également d'activer la synchronisation automatique de votre horloge système avec un groupe de serveurs à distance en utilisant le protocole NTP
. L'activation de NTP active chronyd
ou ntpd
, selon le service installé.
Le service
NTP
peut être activé et désactivé par une commande sur le modèle suivant :
timedatectl
set-ntp
boolean
Pour activer votre système pour synchroniser l'horloge système avec un serveur
NTP
à distance, veuillez remplacer boolean par yes
(option par défaut). Pour désactiver cette fonctionnalité, veuillez remplacer boolean par no
.
Exemple 2.5. Synchroniser l'horloge système avec un serveur à distance
Pour activer la synchronisation automatique de l'horloge système avec un serveur à distance, veuillez saisir :
~]# timedatectl set-ntp yes
La commande échouera si un service
NTP
n'est pas installé. Voir Section 15.3.1, « Installer Chrony » pour plus d'informations.