Debian NTP 時刻合わせ

PC時刻を日本標準時と同期する

PCの日時は、BIOSで表示されるハードウェアクロックと、
OSが管理するシステムクロックがある。

電源が落ちていてもハードウェアクロックで記憶されていて、
システム起動時にOSがその日時を参照するので、
起動のたびにいちいち打ち直さなくて済む。
ハードウェアクロックが、マシンのバックアップ電池によって
動作を継続しているおかげ。

これらの日時が実際と大きく違っていたら、当然、具合が良くない。

古いマシンを久々に通電起動した時や、
ジャンク寸前の中古PCなどは、ボタン電池が
弱くなっていたりしてうまく動作しないことがままある・・ '_';)

httpsのWEBブラウザー表示や、
メールのSSL暗号通信が拒否されたりするのは、
電子証明書の期日設定と、PC日時のズレが原因だったりする。

そんなわけで、日本標準時を管理しているNICTから
時刻情報を取り込む操作を試してみる。


1 ) 日時の確認

•システムクロック
  $ date
   ----JST:日本標準時(local time)
   ----UTC:協定世界時
   ----JST=UTC+9hour
   ----UTC表示: date -u
 
•ハードウェアクロック
  $ sudo hwclook --show
   ----ハードクロックがUTC設定とみなす: hwclock --utc
   ----ハードクロックがローカル設定とみなす: hwclock --localtime
 
•ハードウェアクロックのJST/UTC設定確認
  $ cat /etc/adjtime
   ----UTC 又は LOCAL と表示

2 ) 日時を手動でセット

•時計をみてセットする
  $ sudo date -s "2017/12/24 08:10:30" 
 
•NICTの日本標準時と同期する
  $ sudo apt-get install ntpdate
   ----LaptopPCなどネットワーク常時接続しないPCでの時刻手動設定用
   ----NTPデーモン(ntp)がインストールされ常駐していれば必要ない
  $ sudo ntpdate -bv ntp.nict.jp
 
•ハードウェア日時をシステム日時にJST(local time)で合わせる
  $ sudo hwclock --systohc --localtime
   ----システムをハードに合わせる:systohc ---> hctosys
   ----UTCで合わせる:localtime ---> utc
   ----cat /etc/adjtime ---> LOCAL 表示確認

3 ) 日時を常駐プロセスで自動同期

ネットワーク上のサーバーやクライアントマシンとの
時刻同期をとるためのデーモン(常駐プロセス)である
NTPサーバーを設定。
正確な時刻同期が必要なサーバーマシンやハードワークPC向け。
*OS仕様によってはデフォルトで付属。


•NTPサーバーのinstall
  $ sudo apt-get install ntp
 
•設定ファイルの編集
  $ sudo vi /etc/ntp.conf
   ----# コメントアウト
   ----# server 0.debian.pool.ntp.org iburst
   ----# server 1.debian.pool.ntp.org iburst
   ----# server 2.debian.pool.ntp.org iburst
   ----# server 3.debian.pool.ntp.org iburst
   ----# 同期サーバー指定
   ----server ntp.nict.jp iburst
   ----# 他の同期先リスト
   ----# server ntp.jst.mfeed.add.jp iburst
 
•動作確認
  $ sudo ntpq -p
  $ sudo sudo systemctl status ntp.service
 
•再起動~有効化
  $ sudo systemctl restart ntp.service

Copyright(C) green-pen miyagi