方針
CF-B5Vでは、ntpクライアントのためにntpdを立ち上げたくない
(1M程度消費するため)
ここは、ntpdateをいれて
- 起動時にはntpdateで一発合わせ(ずれている場合)
- crondで定期的にじりじりあわせ
することにした
インストール
ntpdateは、結局のところntpパッケージに入っている
$ apt-cache search ntpdate ntp - Synchronizes system time using the Network Time Protocol (NTP).
インストールには2.2M程度消費する
- インストール後はntpdが動作していない
$ chkconfig --list |grep ntp ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off $ ps ax |grep ntp 26454 pts/0 S+ 0:00 grep ntp
debianを観察
debianでは、ntpdateを起動時に走らせるための方法がある
$ pukiwiki_cat ntpdate #! /bin/sh test -f /usr/sbin/ntpdate || exit 0 test -f /etc/default/ntp-servers || exit 0 . /etc/default/ntp-servers test -n "$NTPSERVERS" || exit 0 case "$1" in start|restart|force-reload) echo -n "Running ntpdate to synchronize clock" /usr/sbin/ntpdate -u -b -s $NTPSERVERS echo "." ;; stop) ;; *) echo "Usage: /etc/init.d/ntpdate {start|stop|restart|force-reload}" exit 1 esac exit 0
$ pukiwiki_cat /etc/default/ntp-servers NTPSERVERS="133.100.11.8"
これを利用する
debianとrpm系
起動後の実行
si::sysinit:ほげほげ
rpm | debian | |
sysinit | /etc/rc.d/rc.sysinit | /etc/init.d/rcS -> /etc/rcS.d/S**スクリプトファイル |
debian系ではrcS.d/S51ntpdateで実行されている
これはhwclockを実行直後。
rpm系は、同様の処理をrc.sysinitスクリプトで実行している。
ちょっと恐いが、rc.sysinitにいれてみる。
$ diff rc.sysinit.org rc.sysinit |pukiwiki_cat 1011a1012,1016 > > # add ntpdate by M.Kato > if [ -f /etc/init.d/ntpdate ]; then > /etc/init.d/ntpdate start > fi
しかし、上記ntpdateは動作しなかった。
なぜなら、networkスクリプトはS10networkで動作するため
てことで、S10ntpdateを作成し
ここで実行することにする
(名前上、必ずS10networkの後に実行される)