ユーザ用ツール

サイト用ツール


linux:debiansarge:05.clock

05.時計を合わそう

サーバーなので時計は正確にしておいた方がいいですね。 時計を正確にするには、ntpサーバーから正しい時間を取得するようにすればいいです。 そんなに大きく時間が狂うものではないので、1日に1回くらいntpサーバーと同期するように設定しました。

ntpサーバーと同期を取るためのコマンドは “ntpdate” です。 最初にDebianをインストールした状態では、入っていないので、aptを使って 取得しましょう。まずは

# apt-get update

で情報を更新して、次に

# apt-get install ntpdate
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
提案パッケージ:
ntp
以下のパッケージが新たにインストールされます:
ntpdate
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
41.6kB のアーカイブを取得する必要があります。
展開後に追加で 164kB のディスク容量が消費されます。
取得:1 ftp://ftp.jp.debian.org stable/main ntpdate 1:4.2.0a+stable-2sarge1 [41.6kB]
41.6kB を 1s で取得しました (24.2kB/s)
未選択パッケージ ntpdate を選択しています。
(データベースを読み込んでいます... 現在 100073 個のファイルとディレクトリがインストールされています。)
(.../ntpdate_1%3a4.2.0a+stable-2sarge1_i386.deb から) ntpdate を展開しています...
ntpdate (4.2.0a+stable-2sarge1) を設定しています ...
Running ntpdate to synchronize clock.

でインストール完了。Debianってこの作業が簡単なので、ものすごく助かります。 この作業が楽なので、Fedoraの時のようにインストール時に全部のパッケージを インストールしておくといったこともDebianではしていません。

まずは、動作確認のためにターミナル上から実行してみます。 一旦、現在時刻を確認してから

# date
2006年 6月 17日 土曜日 09:50:37 JST

おもむろに ntpdate コマンドを実行します。ntpdateの後には, お近くの ntpサーバーを指定しましょう。

# ntpdate ntp1.plala.or.jp
17 Jun 09:50:50 ntpdate[3413]: adjust time server 219.164.211.129 offset 0.000552 sec

0.000552 秒の調整をしたようです。 調整後の現在時刻の確認。って、こんな微調整では本当に合わせたのかわかりませんが、、、

# date
2006年 6月 17日 土曜日 09:50:56 JST

さて、ntpdateコマンドが動作することを確認したら、あとは、 定期的にこのコマンドを実行して、自動的に時計を合わすように設定します。 通常は、1日1回も時刻あわせすれば、十分でしょう。

・「通常は」と但し書きした理由

以前、無料になったVMware Playerを使用して、 WindowsXP上のVMwareにGuestOSとしてLinuxを インストールして使用していました。 しかし、時計がものすごく遅れるという現象が発生して 頻繁に ntpdate で時計あわせをする必要がありました。 確か、10分に1回あわせていたと思います。 その後、検索してみると、以下が原因とのことですが、

・ホスト側のCPUのクロックが変わった事が,ゲスト側に通知されないことが原因.
・つまり,VMwareのACPIの実装のバグである.

このような状況では、1日1回の時計あわせでは、とてもだめで。 確か、10分に1回の間隔で時計あわせをしていました。

1日に一回、定期的に実行するためには、実行する内容を記載したシェルスクリプトを

/etc/cron.daily

以下に作成すればOKです。 ファイル名を ntpdate.sh として以下のシェルスクリプトを作成しました。

    # cd /etc/cron.daily
    # vi ntpdate.sh
    -------------------------------------
    #!/bin/sh
    /usr/sbin/ntpdate -b ntp1.plala.or.jp
    -------------------------------------
    # chmod 755 ntpdate.sh

最後に、実行権を与えるのを忘れないようにしましょう。尚、スクリプト中の ntpdate の -b オプションは、man によると以下とのことです。

-b Force the time to be stepped using the settimeofday() system call,

 rather than slewed (default) using the adjtime()  system  call.  This
 option should be used when called from a startup file at boot time.

詳しいことはわからないのですが、とりあえず付けてみた状態です。 それから、使用するNTPサーバーについては以下を参照してみてください。

http://sonic64.com/2004-12-02.html

このサーバーでは、ネットワーク的に近いプロバイダのntpサーバーを 指定しています。

linux/debiansarge/05.clock.txt · 最終更新: 2023/07/11 21:46 by hohog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki