Installasjon av ntp
Det bør være en dedikert bruker og gruppe til å ta kontroll over
ntpd nissen etter den
er startet. Utfør følgende kommandoer som root
bruker:
groupadd -g 87 ntp &&
useradd -c "Network Time Protocol" -d /var/lib/ntp -u 87 \
-g ntp -s /bin/false ntp
update-leap
kommandoen må fikses i for å kjøre skikkelig:
sed -e 's/"(\\S+)"/"?([^\\s"]+)"?/' \
-i scripts/update-leap/update-leap.in
Løs nå et problem introdusert med glibc-2.34:
sed -e 's/#ifndef __sun/#if !defined(__sun) \&\& !defined(__GLIBC__)/' \
-i libntp/work_thread.c
Installer ntp ved å kjøre følgende
kommandoer:
./configure --prefix=/usr \
--bindir=/usr/sbin \
--sysconfdir=/etc \
--enable-linuxcaps \
--with-lineeditlibs=readline \
--docdir=/usr/share/doc/ntp-4.2.8p17 &&
make
To test the results, issue: make
check.
Nå, som root
bruker:
make install &&
install -v -o ntp -g ntp -d /var/lib/ntp
Parameterforklaringer
CFLAGS="-O2 -g -fPIC"
: Denne
miljøvariabelen er nødvendig for å generere posisjonsuavhengig kode
nødvendig for bruk i pakkebibliotekene.
--bindir=/usr/sbin
: Denne
parameteren plasserer de administrative programmene i /usr/sbin
.
--enable-linuxcaps
: ntpd
kjøres som bruker ntp, så bruk Linux-funksjoner for ikke-root
klokkekontroll.
--with-lineeditlibs=readline
: Denne
bryteren aktiverer Readline støtte
for ntpdc og
ntpq programmer. Hvis
utelatt, libedit brukes hvis den
er installert, ellers ingen readline funksjoner vil bli kompilert.
Konfigurere ntp
Konfigurasjonsfiler
/etc/ntp.conf
Konfigurasjonsinformasjon
Følgende konfigurasjonsfil definerer først forskjellige ntp
servere med åpen tilgang fra forskjellige kontinenter. For det
andre, den oppretter en drift fil hvor ntpd lagrer frekvensforskyvning
og en pid-fil for å lagre ntpd prosess-ID. For det tredje
definerer den plasseringen for sprangsekund definisjonsfilen
/etc/ntp.leapseconds
, som
update-leap skript
sjekker og oppdateringer, når nødvendig. Dette skriptet kan
kjøres som en cron jobb og ntp
utviklere anbefaler en frekvens på ca tre uker for
oppdateringene. Siden dokumentasjonen inkludert med pakken er
sparsom, besøk ntp nettstedet på https://www.ntp.org/ og https://www.ntppool.org/ for mer
informasjon.
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
leapfile /var/lib/ntp/ntp.leapseconds
EOF
Det kan være lurt å legge til en “Security
session”. For forklaringer, se
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
Synkronisering av tiden
Det er to alternativer. Alternativ en er å kjøre ntpd kontinuerlig og la den
synkronisere tiden på en gradvis måte. Det andre alternativet er
å kjøre ntpd med
jevne mellomrom (ved hjelp av cron) og oppdater tiden hver gang
ntpd er planlagt.
Hvis du velger alternativ en, installer da /etc/rc.d/init.d/ntp
init
skriptet inkludert i blfs-bootscripts-20230824 pakken.
make install-ntpd
Hvis du foretrekker å kjøre ntpd med jevne mellomrom, legg
til følgende kommando til root
sin crontab
:
ntpd -q
Utfør følgende kommando hvis du vil angi maskinvareklokke til
gjeldende systemtid ved avslutning og omstart:
ln -v -sf ../init.d/setclock /etc/rc.d/rc0.d/K46setclock &&
ln -v -sf ../init.d/setclock /etc/rc.d/rc6.d/K46setclock
Omvendt er allerede satt opp av LFS.