ntp-4.2.8p10

Introduction à ntp

Le paquet ntp contient un client et un serveur pour synchroniser le temps entre divers ordinateurs d'un réseau. Ce paquet est l'implémentation de référence officielle du protocole NTP.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.1.

Informations sur le paquet

Dépendances de ntp

Recommandées

Facultatives

libcap-2.25 with PAM, libevent-2.1.8, OpenSSL-1.1.0f, libedit et libopts d'AutoGen

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/ntp

Installation de ntp

Il doit y avoir un utilisateur et un groupe dédiés pour prendre le contrôle du démon ntpd après qu'il est démarré. Tapez les commandes suivantes en tant qu'utilisateur root :

groupadd -g 87 ntp &&
useradd -c "Network Time Protocol" -d /var/lib/ntp -u 87 \
        -g ntp -s /bin/false ntp

La commande update-leap doit être corrigée pour fonctionner correctement :

sed -e "s/https/http/"              \
    -e 's/"(\\S+)"/"?([^\\s"]+)"?/' \
    -i scripts/update-leap/update-leap.in

Installez ntp en lançant les commandes suivantes :

./configure CFLAGS="-O2 -g -fPIC" \
            --prefix=/usr         \
            --bindir=/usr/sbin    \
            --sysconfdir=/etc     \
            --enable-linuxcaps    \
            --with-lineeditlibs=readline \
            --docdir=/usr/share/doc/ntp-4.2.8p10 &&
make

Pour tester les résultats lancez : make check.

Maintenant, en tant qu'utilisateur root :

make install &&
install -v -o ntp -g ntp -d /var/lib/ntp

Explication des commandes

CFLAGS="-O2 -g -fPIC" : Cette variable d'environnement est nécessaire pour générer un code indépendant de la position ( en anglais "Position Independent Code") demandé par l'utilisation des bibliothèques du paquet.

--bindir=/usr/sbin : Ce paramètre met les programmes d'administration dans /usr/sbin.

--enable-linuxcaps : ntpd est lancé en tant qu'utilisateur ntp, donc on utilise des possibilités Linux pour le contrôle de l'horloge en non-root.

--with-lineeditlibs=readline : Cette option active le support de Readline pour les programmes ntpdc et ntpq. En ne le mettant pas, libedit sera utilisé si elle est installée, sinon aucune fonctionnalité readline ne sera compilée.

Configuration de ntp

Fichiers de configuration

/etc/ntp.conf

Informations sur la configuration

Le fichier de configuration suivant définit en premier plusieurs serveurs ntp libres d'accès sur différents continents. En second, il crée aussi un fichier drift où ntpd conserve la fréquence de temps et un fichier pid pour stocker l'ID du processus ntpd. En troisième, il définit l'endroit pour le fichier de définition des secondes intercalaires /etc/ntp.leapseconds, que le script update-leap vérifie et met à jour, quand nécessaire. Ce script peut être lancé comme une tâche cron et les développeurs de ntp recommande une fréquence de trois semaines pour les mises à jour. Comme il y a peu de documentation fournie avec le paquet, visitez le site Internet de ntp sur http://www.ntp.org/ et http://www.pool.ntp.org/ pour plus informations.

cat > /etc/ntp.conf << "EOF"
# Asia
server 0.asia.pool.ntp.org

# Australia
server 0.oceania.pool.ntp.org

# Europe
server 0.europe.pool.ntp.org

# North America
server 0.north-america.pool.ntp.org

# South America
server 2.south-america.pool.ntp.org

driftfile /var/lib/ntp/ntp.drift
pidfile   /var/run/ntpd.pid

leapfile  /etc/ntp.leapseconds
EOF

Vous pouvez souhaiter ajouter une « Session de sécurité ». Pour les explications voir https://www.eecis.udel.edu/~mills/ntp/html/accopt.html#restrict.

cat >> /etc/ntp.conf << "EOF"
# Security session
restrict    default limited kod nomodify notrap nopeer noquery
restrict -6 default limited kod nomodify notrap nopeer noquery

restrict 127.0.0.1
restrict ::1
EOF

Sychroniser le temps

Il y a deux options. L'option un est de lancer ntpd en permanence et de l'autoriser à synchroniser le temps de façon graduée. L'autre option est de lancer ntpd périodiquement (en utilisant cron) et de mettre à jour l'heure chaque fois que ntpd est lancé.

Si vous choisissez l'option une, installez le script de démarrage /etc/rc.d/init.d/ntp inclus dans le paquet blfs-bootscripts-20170731.

make install-ntpd

Si vous préférez lancer ntpd périodiquement, ajoutez la commande suivante au crontab de root :

ntpd -q

Exécutez la commande suivante si vous aimeriez régler l'heure matérielle à l'heure actuelle du système lorsqu'il s'éteint et redémarre :

ln -v -sf ../init.d/setclock /etc/rc.d/rc0.d/K46setclock &&
ln -v -sf ../init.d/setclock /etc/rc.d/rc6.d/K46setclock

L'autre façon est déjà réglée par LFS.

Contenu

Programmes installés: calc_tickadj, ntp-keygen, ntp-wait, ntpd, ntpdate, ntpdc, ntpq, ntptime, ntptrace, sntp, tickadj et update-leap
Bibliothèques installées: Aucune
Répertoires installés: /usr/share/ntp, /usr/share/doc/ntp-4.2.8 et /var/lib/ntp

Descriptions courtes

calc_tickadj

calcule la valeur optimale pour les tops donnés par le fichier drift de ntp.

ntp-keygen

génère des fichiers de données chiffrées utilisés par les schèmes NTPv4 d'authentification et d'identification.

ntp-wait

est utile au moment du démarrage, pour faire attendre la séquence de démarrage jusqu'à ce que ntpd ait réglé l'heure.

ntpd

est un démon ntp qui se lance en tâche de fond et qui maintient la date et l'heure synchronisés à partir des réponses des serveurs ntp configurés. Il fonctionne aussi comme un serveur NTP.

ntpdate

est un programme client qui règle la date et l'heure à partir des réponses d'un serveur NTP. Cette commande est obsolète.

ntpdc

est utilisé pour interroger le démon ntp sur son état actuel et pour demander des changements de cet état.

ntpq

est un outil utilisé pour gérer les opérations de ntpd et déterminer les performances.

ntptime

lit et affiche les variables du noyau relatives à l'heure.

ntptrace

établit une chaîne entre les serveurs ntp et la source primaire.

sntp

est un client Simple Network Time Protocol (SNTP ou simple protocole de temps réseau).

tickadj

lit et, éventuellement, modifies plusieurs variables relatives à la conservation du temps dans des noyaux anciens qui n'ont pas de support pour la conservation du temps de précision.

update-leap

est un script pour vérifier et, si nécessaire, mettre à jour le fichier de définition des secondes intercalaires.

Last updated on 2017-08-21 00:06:11 +0200