Linux - hardware clock & system clock



 ◆ ハードウェアクロックとシステムクロック

 Linuxには、2つの時計があります。1つは
ハードウェアクロックといいハードウェアとして内蔵された
 時計のことであり、システム停止(電源オフ)にしてもハードウェア上の内蔵バッテリーで動作します。
 もう1つは
システムクロックといいメモリ上で動作する時計のことです。システムクロックは、電源が
 オフになると時計情報も消えます。そのため、電源がONになる度にハードウェアクロックから現在の
 日時を取得して値を設定します。
dateコマンドではシステムクロックを参照し現在の日時を表示します。


 # date
 2015年 11月 13日 水曜日 23:06:33 JST




 ◆ システムクロックとハードウェアクロックの修正

 システムクロックを修正するためには、
dateコマンドで以下の書式に従って設定を行います。

 ◆ 構文 : date [ MMDDhhmmCCYY.ss ]

書式 コマンド
MM
DD
hh
mm
CC 西暦上2桁
YY 西暦下2桁
SS


 ◆ 実行例 : システムクロックを11月13日、23時30分にセット
 # date 11132330



 ハードウェアクロックを修正するためには、
hwclockコマンドを使用します。

 ◆ 構文 : hwclock [ オプション ]

オプション 説明
 -r  ハードウェアクロックの表示
 -s (--hctosys)  ハードウェアクロックの時刻をシステムクロックに反映
 -w (--systohc)  システムクロックの時刻をハードウェアクロックに反映
 -u  UTC (Universal Coordiated Time)として反映


 ◆ 実行例 : システムクロックの時刻をハードウェアクロックには反映
 # hwclock -w



    



 ◆ NTPによる時刻設定

 ハードウェアクロック、システムクロックともに完全に正確な時刻情報という訳ではないので、正確な時刻
 を取得するためにはインターネットなどのIPネットワーク経由でクロック同期を行うプロトコルである
NTP
 (Network Time Protocol)を使用して正確な情報を取得します。NTPは
階層構造になっており、最上位は
 原子時計やGPSなどが位置して、その直下にあるNTPサーバを Stratum1、その下を Stratum2 と呼びます。


      



 Linuxでは、
ntpdateコマンドを使用してNTPサーバから正確な時刻情報を取得します。

 ◆ 構文 : ntpdate NTPサーバ名

 ◆ 実行例 : ntp.nict.jp のNTPサーバから時刻を取得
 # ntpdate ntp.nict.jp

 ※ 上記コマンド実行は、ntp.nict.jp をDNSにより名前解決できることが前提となります。


 NTPサーバは、一般公開されたものを利用できますが、組織内で構築したNTPサーバを利用することも
 できます。なお、LinuxサーバをNTPサーバにするためには以下のコマンドでNTPサーバを起動させます。

 # /etc/init.d/ntpd start


 NTPサーバの設定は、/etc/ntp.confで行います。CentOSはデフォルトで以下のように設定されています。


 # more /etc/ntp.conf

 server 0.centos.pool.ntp.org  ← 1番目のNTPサーバ
 server 1.centos.pool.ntp.org  ← 2番目のNTPサーバ
 server 2.centos.pool.ntp.org  ← 3番目のNTPサーバ




Linux 技術入門

Copyright(C) 2002-2024 ネットワークエンジニアとして All Rights Reserved