Linuxには二つの時計がある。システムクロックとハードウェアクロックだ。
このページではハードウェアクロックについてご紹介する。受験する方もLPICの出題範囲でもあるので、参考にして欲しい。
Linuxのハードウェアクロック
ハードウェアクロックはマザーボード内に内蔵されており、シャットダウンされ、システムが停止した後も、コンセントからの電源もしくは内蔵の電池で稼動しつづけている。
システムクロックはハードウェアクロックの情報を元に設定される。しかしハードウェアクロックは「精度が高いか?」というとそうでもないので気をつけていただきたい。
定期的にシステムクロックをNTPで正確に同期したあと、ハードウェアクロックも定期的に同期したほうがいいだろう。
ハードウェアクロックの調整
ハードウェアクロックを調節するには「hwclock」コマンドを使用する。
このコマンドで現状のハードウェアクロック時刻と調整、システムクロックとの同期などをすることが出来る。 現状、大体のディストリビューションでも共通の方法だ。CentOS7でもhwclockコマンドを使用することになる。
hwclockコマンドはroot権限でないと実行できないことに気をつけよう。
現状を表示するには
# hwclock
もしくは
# hwclock --show
とすると表示される。
時刻を手動で設定する場合は
hwclock --set --date "dd mmm yyyy HH:MM"
の書式で指定する。例をあげると
# hwclock --set --date "23 Oct 2016 21:00"
となる。
システムクロックとハードウェアクロックの同期
ハードウェアクロックをシステムクロックへ同期反映、もしくはその逆、システムクロックをハードウェアクロックへ同期反映する場合「systohc」や「hctosys」といったオプションを指定する。(それぞれsys to hc、その逆hc to sysと区切ると覚えやすい)
システムクロックの時刻をハードウェアクロックへ設定する。
# hwclock --systohc
ハードウェアクロックの時刻をシステムクロックへ設定する。
# hwclock --hctosys
hwclockの主なオプション
hwclock -r or --show 現状のハードウェアクロックを表示
hwclock -w or --systohc システムクロックをハードウェアクロックへ設定
hwclock -s or --hctosys ハードウェアクロックをシステムクロックへ設定
第2オプション
--utc ハードウェアクロックをUTCとして設定する。
--localtime ハードウェアクロックをローカルタイム(例えば現在のタイムゾーンAsia/Tokyo)として設定
(表示ではなく実際に「設定」されることに注意しよう)
いずれも頻繁に使うものではないし、覚える必要はない。必要なときに見にくれば十分だ。
まとめ
このページではハードウェアクロックの設定方法についてまとめてきた。
ハードウェアクロックはずれやすいので、システムクロックを同期したタイミングで、ハードウェアクロックも調整してしまうといいだろう。
hwclock –showじゃなくてhwclock –-show
が正しいです。
画像は合っています。
ご指摘いただきありがとうございます。
該当箇所の記述を訂正いたしました。
引き続き、ご愛読のほど、よろしくお願いいたします。