ntp-4.2.8p17

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.

This package is known to build and work properly using an LFS 12.1 platform.

Informations sur le paquet

  • Téléchargement (HTTP) : https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p17.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : a15558df580bd1b955a105a8b91c078f

  • Taille du téléchargement : 6,8 Mo

  • Estimation de l'espace disque requis : 99 Mo (avec les tests)

  • Estimation du temps de construction : 0,8 SBU (avec les tests, tous deux avec parallélisme = 4)

Dépendances de ntp

Requises

IO-Socket-SSL-2.085

Facultatives

libcap-2.69 avec PAM, libevent-2.1.12, libedit et libopts d'AutoGen

Notes des auteurs : https://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

Installez ntp en exécutant les commandes suivantes :

./configure --prefix=/usr         \
            --bindir=/usr/sbin    \
            --sysconfdir=/etc     \
            --enable-linuxcaps    \
            --with-lineeditlibs=readline \
            --docdir=/usr/share/doc/ntp-4.2.8p17 &&
make

Pour tester les résultats, exécutez : make check.

Maintenant, en tant qu'utilisateur root :

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

Explication des commandes

--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 la prise en charge 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. Comme il y a peu de documentation fournie avec le paquet, visitez le site Internet de ntp sur https://www.ntp.org/ et https://www.ntppool.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   /run/ntpd.pid
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 une 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-20240209.

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.

[Note]

Note

En novembre 2022, lors de la 27ème conférence générale sur les poids et mesures, il a été décidé d'abandonner la seconde intercalaire. En plus, ce script utilise une URL en dur pour un fichier de mise à jour qui n'existe plus. La dernière seconde intercalaire a été déclarée en janvier 2017. Ce script sera probablement supprimé des futures versions.