Ntpd

ntpd (Network Time Protocol daemon) — праграма-дэман, якая ўсталёўвае і абслугоўвае сістэмны час, выкарыстоўваецца дзеля сінхранізацыі з іншымі серверамі часу.

ntpd — дэман, абслугоўваючы і сінхранізуючы сістэмны час і дату з іншымі NTP-серверамі ў Інтэрнэце.

Бягучая версія ntpd цалкам рэалізуе пратакол NTP (Network Time Protocol) версіі 4, а таксама захоўвае сумяшчальнасць з версіяй 3, як гэта вызначана ў RFC-1305, і версіямі 1 і 2, як вызначана ў RFC-1059 і RFC-1119, адпаведна. ntpd выконвае большасць вылічэнняў з выкарыстаннем 64-бітнай арыфметыкі з плаваючай коскай, і вылічэння з 64-бітнай арыфметыкай і фіксаванай коскай у выпадках, калі неабходна забяспечыць канчатковую дакладнасць каля 232 пікасекунд. У цяперашні час такая высокая дакладнасць звычайна не выкарыстоўваецца на звычайных рабочых станцыях, серверах і сетках, але можа быць неабходна ў будучыні.

xntpd — дэман NTP трэцяй версіі. «x» быў даданы ў назву, бо галіна коду, якая стала ў прыканцы NTPDv3, была «эксперыментальнай». Назва дэмана была зменена да пачатковай «ntpd» ў чацвёртай версіі, бо стваральнік NTP Dave Mills вырашыў, што верагодна нешта не можа быць «эксперыментальным» на працягу дваццаці гадоў і не зведаць за гэты час якіх-небудзь значных змен.

Ntpd выкарыстоўвае два варыянты захоўвання файлаў канфігурацыі:

  • Першы варыянт — з адзіным канфігурацыйным файлам для запуску дэману ў рэжыме сервера ці кліенту. У гэтым выпадку файл канфігурацыі звычайна называецца ntp.conf і размяшчаецца ў дырэкторыі /etc.
  • Другі варыянт змяшчэння файла канфігурацыі NTP: /etc/ntp/ntpd.conf для дэмана і /etc/ntp/ntp.conf для кліента.

Іншы важны файл — файл «дрыфту» (drift file), які выкарыстоўваецца ntpd дзеля карэкцыіі аппаратнага гадзінніка ў выніку адсутнасці далучэння да больш дакладнага сервера часу, размешчваецца звычайна ў /var/db/ntp.drift.

Калі ntpd не працуе, але наладжаны правільна, то магчыма час занадта моцна адрозніваецца ад часу сервера. Калі паглядзець файл журнала /var/log/ntp.log, то можна ўбачыць запісы накшталт:

18 Aug 21:04:40 ntpd[7220]: time correction of 1738 seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.

Гэтая праверка можа быць адключана даданнем параметра «-g».

ntpd -g

Для прымусовай ручной сінхранізацыі ўвядзіце:

ntpd -q

або на больш старых сістэмах

ntpdate any.ntpserver.example

Змяненне даты на вялікія інтэрвалы часу можа прывесці да непрадказальных наступстваў для зацяжных і складаных працэсаў, і асабліва не рэкамендуецца для выканання на серверах.

Каманда ntpq можа быць выкарыстана для выканання запытаў да дэмана ntpd. Каб паказаць статус сінхранізацыі, неабходна ўвесці:

ntpq -p localhost