ntpd+adjtimex
Linuxっていうか、パソコンにとって時間って言うのは重要なものらしいです。
Winだけ使ってると実感無いけど、2000年問題とかあったじゃん?
まぁ、やっぱりよくわかんないけど・・・
さらに、問題になるのが玄箱の貧弱な時計。
噂によるとHDLANの時計が規定以上狂う奴を叩き売りにしたのが玄箱とも・・・
まぁ、単にntpdを入れただけじゃ、同期してくれないこともあります。
そのくらい貧弱なんです・・・玄箱の時計(つД;)
「貧弱な時計」
本気で使えないくらい貧弱な時計です。
1日に数分ずれるなんてのは当たり前、室温の違いでずれ方が変わるくらい貧弱です。
まぁ、いろいろ考えてくれる人は居るものでして・・・
やること一覧 ・adjtimexのインストール ・スクリプトの作成:【No.2090】のスレッドすべての記事 ・ntpdのインストール ・設定ファイル作成:NTP/プロバイダ・機関別 - wiki@nothing ・パソコン側から玄箱NTPを利用する
まずは、adjtimexのインストール。
adjtimex-1.21.tar.gzを探してくる。
adjtimex.html
で、ユーザーのホームディレクトリにFFFTPで送る。
例のあれ
$ tar xvfz adjtimex-1.21.tar.gz $ cd adjtimex-1.21 $ ./configure --prefix=/usr $ make # make installおまじない
# strip -p /sbin/adjtimex「adjtimex」
で、参考サイトを元にadjtimex用のスクリプトを純正玄箱用に作成/修正する。
# vi /usr/sbin/adjtick.sh ...ってviで書くよりも、Winで書いてFFFTPでアップしたほうが楽(を 修正済みadjtick.sh(adjtick.tar.gz) md5sum crc32:441157D9 一応置いておきますけど。 # chmod 700 /usr/sbin/adjtick.sh「純正玄箱用」
本命のntpdのインストール
ntp-4.2.4p0.tar.gzを探してくる。
ntp.org: Home of the Network Time Protocol
で、ユーザーのホームディレクトリにFFFTPで送る。
例のあれ
$ tar xvfz ntp-4.2.4p0.tar.gz $ cd ntp-4.2.4p0 $ ./configure --prefix=/usr/local/ntp --enable-kernel-fll-bug
| option | 説明など |
| --enable-kernel-fll-bug | よくわからないけど、これをつけないとログにエラーを吐き出す まぁ、実害は無いけど・・・ |
/usr/local/ntp/bin/ ntpd ntpdate sntp ntptime tickadj ntp-keygen ntp-wait ntpdc ntpq ntptrace /usr/local/ntp/man/man1/sntp.1おまじない
# cd /usr/local/ntp/bin # strip -p *バイナリの移動
/usr/sbin に ntpd ntpdate sntp ntptime tickadj ntp-keygen ntp-wait を # cp -pf ntpd ntpdate sntp ntptime tickadj ntp-keygen ntp-wait /usr/sbin /usr/bin に ntpdc ntpq ntptrace を # cp -pf ntpdc ntpq ntptrace /usr/bin
| option | 説明など |
| -p | アクセス権などの情報を保持したままコピーする |
| -f | 強制的にコピーを実行する 元ファイルがあった場合、上書きする |
# cd # rm -r /usr/local/ntp
| option | 説明など |
| -r | rm(ファイルの削除)を再帰的に処理する 結果、ファイルの入ったディレクトリも削除可能になる |
最後の絞め(誤字)、設定ファイル作成です。
ntp.confを作る
# vi /etc/ntp.conf ...ってviで書くよりも、Winで書いてFFFTPでアップしたほうが楽(を 一般的なntp.conf(推奨値)(ntp.tar.gz) md5sum crc32:FA4DB8AEntp.driftを作る
# touch /etc/ntp.drift起動スクリプトを弄る
# vi /etc/init.d/ntp (追加および変更) ┃FLAGS="defaults 23" ┃ntp_server=ntp.jst.mfeed.ad.jp ┃ ┃test -f /usr/sbin/ntpd || exit 0 (中略) ┃ start) ┃ echo -n "Starting NTP server: ntpd" ┃ /usr/sbin/adjtick.sh KURO > /dev/null ┃ ntpdate -s -b -u $ntp_server > /dev/null ┃ sleep 2 ┃ start-stop-daemon --start --quiet --exec /usr/sbin/ntpd (中略) ┃ restart|force-reload) ┃ echo -n "Restarting NTP server: ntpd... " ┃ start-stop-daemon --stop --quiet --exec /usr/sbin/ntpd ┃ sleep 1 ┃ ntpdate -s -b -u $ntp_server > /dev/null ┃ sleep 2 ┃ start-stop-daemon --start --quiet --exec /usr/sbin/ntpd 注:HG(HGX)の場合はKUROのところをHGにする 注:ntp_serverには自分から近いNTPサーバーを指定する わからなければ例のまま記入すれば大丈夫(゚ω゚)bntpdのテスト(開始|再起動|停止)
# /etc/init.d/ntp start # /etc/init.d/ntp restart # /etc/init.d/ntp stopシステム起動時に自動起動するように設定
# ln -s /etc/init.d/ntp /etc/rc.d/rc2.d/S80ntp # ln -s /etc/init.d/ntp /etc/rc.d/rc0.d/K80ntp # ln -s /etc/init.d/ntp /etc/rc.d/rc6.d/K80ntp 注:下の2つはシステムの終了時と再起動時に明示的に終了するための設定自動起動テスト
# shutdown -r now
| option | 説明など |
| -r | 再起動する。停止の場合は -h |
| now | 今すぐ実行する。任意の整数を入力することでx分後の再起動を指定 |
$ ps ax デーモンの稼動状態を知る呪文 $ ntpq -p ntpdの状態を知る呪文 サーバー名の左側に*とか+が出たら同期した証拠「一般的な設定」
桜時計などを利用するのが一般的ですが、一つ問題が発生することがあります。
環境によるんですが、桜時計がDNSの順引きができなくて同期できなくなることがあります。
そんなときは、あわてず、
WinNT系(XP以降)なら C:\WINDOWS\system32\drivers\etc\hosts WinNT系(2000以前)なら C:\WINNT\system32\drivers\etc\hosts Win9x系なら C:\WINDOWS\hostsにあるhostsファイルをテキストエディタで開き、以下のように編集します。
hostsの編集 (追加) ┃[玄箱のIP] [任意の文字(ドメインでもIPでも)] 注:半角スペース区切り 注:玄箱のIPはローカルのIP(グローバルじゃないよ)で、桜時計に[任意の文字(ドメインでもIPでも)]を入力すれば問題は回避できます。
戻るなら押せ!