Fedora Core 5 にて ntpd 4.2.4 を使ってみる

SERVER


NTP (Network Time Protocol)

NTP とは、コンピュータ間で時刻の同期を行うための仕組みです。

パソコンの時刻は意外とけっこう狂うもので、運用しているとあっという間に 1 時間とかずれてきてしまいます。昔のように 1 台だけで全てが済んでいた頃には気になった頃合にてきとうに直しておけばよかったのですけど、インターネットが普及した今日では意識しなくても複数のコンピュータとやり取りする機会があり、その正確さがさりげなく重要なところになってきます。

 

今回は Fedora Core 5 ( Kernel 2.6.18-1.2257.fc5 ) に 2007/01/29 で最新の ntpd 4.2.4 をインストールしてみようと思います。

以前に EZ-NET: Slackware 10.2 で NTP サーバを構築する にて触れた Slackware 10.2 にインストールした時からあまり時間が経っていないのもあってか、とりわけ変わるところはありませんけど、今回の環境でも問題なくインストールできたという記録の意味合いも兼ねて、記しておこうと思います。

なお、今回もインストールした ntpd を D.J.Bernstein さまより提供されている daemontools を用いて起動させるという感じで行います。

 

ntpd 4.2.4 のインストール

ntp.org Home of the Network Time Protocol ( http://www.ntp.org/ ) から ntpd-4.2.4.tar.gz をダウンロードしたら、次のようにして展開及びインストールを行います。

tar xvzf ntp-4.2.4.tar.gz

cd ntp-4.2.4/

 

./configure

make

make install

これで特に問題なく、インストールは完了しました。

 

あとは時刻を同期したいサーバを、設定ファイル /etc/ntp.conf ファイル内の server 項にて指定しておきます。

server    192.168.0.1

server    192.168.0.2

 

driftfile    /var/ntpd/ntp.drift

 

ntpd 4.2.4 を daemontools で起動する

今回は daemontools を用いて ntpd を起動するので、それに必要な準備を行います。daemontools については、EZ-NET: Slackware 10.0 へ daemontools を組み込んでみる あたりを参考にしてみてください。

まず、次のようにして "/var/ntpd" ディレクトリを作成し、そこへスティッキービットをつけた後でさらに "log/" ディレクトリを作成します。

mkdir /var/nptd

chmod +t /var/ntpd

 

mkdir /var/ntpd/log

続いて起動スクリプトを用意します。

まず "/var/ntpd" に配置する ntpd プロセスを起動するためのスクリプトは次のような感じです。オプションに "-d" をつけることでフォアグラウンドで起動して、また時間に 1000 秒以上の誤差があってもプロセスを停止しないために "-g" オプションをつけています。

#!/bin/sh

 

EXEC_PATH=/usr/local/bin

EXEC_BIN=ntpd

EXEC_OPTION="-g"

 

exec ${EXEC_PATH}/${EXEC_BIN} -d ${EXEC_OPTION} 2>&1

"/var/ntpd/log" に配置する ntpd のログを収集するためのスクリプトは、次のような感じで大丈夫だと思います。

#!/bin/sh

exec /usr/local/bin/multilog t ./main =status

そして、次のようにして実行可能権限を与えておけば、起動のための準備は完了です。

chmod +x /var/ntpd/run

chmod +x /var/ntpd/log/run

 

後は /var/ntpd ディレクトリへのシンボリックリンクを /service ディレクトリに用意すれば、daemontools によって自動的に起動されます。

ln -s /var/ntpd /service

後は数分ほどすれば、server で指定した NTP サーバとの時刻同期が行われ、システムの時刻が自動的に調整されます。