Qui ne s'est jamais senti seul pendant une pause café où tout le monde parlait du dernier machin bidule à la mode qu'on était le seul à ne pas connaitre ?
Nous nous devons d'être à la page et de nous tenir au courant des dernières nouveautés qui font le sujet de discussion des très intéressantes pauses café.
Mais avant d'être à la page, ne faut il pas être à l'heure ?

Le client ntp (Network Time Protocol) permet de nous synchroniser avec des serveurs de temps.

Installation du client


Nous installons ntpdate via la commande apt-get :

# apt-get install ntpdate


Synchronisation avec un serveur de temps

La commande ntpdate suivit du nom du serveur de temps permet de nous synchroniser avec celui ci :

#ntpdate ntp.univ-lyon1.fr
13 Aug 02:59:03 ntpdate[2453]: step time server 134.214.100.6 offset -1.007119 sec

Le serveur est maintenant à l'heure
Il est également possible de spécifier le ou une liste de serveurs a utiliser lors de la synchronisation.
le fichier /etc/default/ntpdate permet de le configurer :

# The settings in this file are used by the program ntpdate-debian, but not
# by the upstream program ntpdate.

# Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,
# so you only have to keep it in one place.
NTPDATE_USE_NTP_CONF=no

# List of NTP servers to use  (Separate multiple servers with spaces.)
# Not used if NTPDATE_USE_NTP_CONF is yes.
NTPSERVERS="ntp.univ-lyon1.fr"

# Additional options to pass to ntpdate
NTPOPTIONS=""

Par defaut, NTPDATE_USE_NTP_CONF = yes nous le passons donc à NO pour pouvoir utiliser la valeur de NTPSERVERS pour la synchronisation.
nous pouvons nous synchoniser avec le ou les serveurs directement avec la commande ntpdate-debian qui va aller chercher la liste des serveurs de temps dans le fichier /etc/default/ntpdate si la variable NTPDATE_USE_NTP_CONF=NO

Synchronisation automatique au reboot de la machine


Pour que la synchronisation se face à chaque reboot de la machine nous devons créer un script dans /etc/init.d dans notre exemple, il s'appellera ntpdate-debian et aura le contenu suivant :

#!/bin/bash
ntpdate-debian

Nous lui donnons les droits d'exécutions avec la commande chmod +x /etc/init.d/ntpdate-debian et nous lançons le script update-rc.d  qui va créer les fichiers dans les répertoire rc*.d qui seront exécuté en fonction du runlevel de la machine

# update-rc.d ntpdate-debian defaults
 Adding system startup for /etc/init.d/ntpdate-debian ...
   /etc/rc0.d/K20ntpdate-debian -> ../init.d/ntpdate-debian
   /etc/rc1.d/K20ntpdate-debian -> ../init.d/ntpdate-debian
   /etc/rc6.d/K20ntpdate-debian -> ../init.d/ntpdate-debian
   /etc/rc2.d/S20ntpdate-debian -> ../init.d/ntpdate-debian
   /etc/rc3.d/S20ntpdate-debian -> ../init.d/ntpdate-debian
   /etc/rc4.d/S20ntpdate-debian -> ../init.d/ntpdate-debian
   /etc/rc5.d/S20ntpdate-debian -> ../init.d/ntpdate-debian


Voila, c'est finit. N'hésitez pas à me contacter si vous jugez que ma méthode n'est pas la bonne ou si elle vous a servit.