NTP(Network Time Protocol)
NTPサーバ(タイムサーバ)を利用して時刻を合わせる.
一定間隔で時刻の同期を行う場合にはxntpd
を立ち上げておく
(か,またはcron
でntpdate
を一定間隔で実行するようにしておく).
今すぐに時刻あわせを行いたい場合にはntpdate
コマンドを使う.
xntpd
およびntpdate
が使用するNTPサーバについての情報は/etc/ntp.conf
に記述しておく.
ntpdate
を使う場合は,コマンドライン引数にNTPサーバ名を与えてもよい.
# ntpdate <NTPサーバ名>
タイムサーバはGoogleなどで検索すると見つかるが,稼働状況等も含めて信頼できるところがよいので,次のサービスを利用するとよいかもしれない.
時計にはソフトウェア時計とハードウェア時計(BIOS時計)の2種類がある.
種類 | 説明 |
---|---|
ハードウェア時計 | バッテリ駆動のRTC(Real Time Clock). コンピュータの電源が切れているときでもマザーボード上に実装されたバッテリで動き続けている. システム稼働中は使われない. RTC,BIOS時計,CMOS時計ともいう. |
ソフトウェア時計 | システム時計,カーネル時計ともいう. タイマ割り込みにもとづくソフトウェア カウンタになっている. システムが起動するときにハードウェア時計で初期化され,その後はタイマ割り込みによって時間が進んでいくという仕組みになっている. |
ソフトウェア時計はdate -s
コマンドで時刻を設定することができる.
ソフトウェア時計が正しくなったら,ソフトウェア時計の時刻をハードウェア時計に反映させる.
上記の説明でもわかるとおり,これをやっておかないとシステムを再起動すると
ソフトウェア時計が再び(狂った時刻を保持している)ハードウェア時計の時刻で初期化されてしまう.
(1) | ソフトウェア時計を設定 | # date -s 00:00:00 |
(2) | BIOS時計に反映する | # clock -w |
ただ,clock
コマンドでハードウェア時計を常に正しく保とうとするのは,あまりにも神経質な感じなので,
最近はハードウェア時計は無視してxntpd
を使ってソフトウェア時計だけを正しく維持するのが普通の考え方かもしれない.
つまりシステムを再起動した直後はハードウェア時計の時刻で初期化されるため,かなりズレた時刻になっているけども,
すぐにxntpd
が起動してソフトウェア時刻を正しい時刻に直してくれるので問題ないという考え方だ.
[注:ただし,起動時のログに出力される時刻にズレた時間がでてしまうことに注意しないといけない.]
関連項目 | 説明 |
---|---|
xntpd |
|
ntpdate |
|
date |
|
clock (8) hwclock (8)
|
|
adjtimex |
|
timeconfig |
タイムゾーン設定ツール. |
redhat-config-time |
タイムゾーン設定ツールGUI版. Red Hat系で利用できる. |