NTPによる時刻設定

最近計算機の時刻が進みすぎてニコ動のログインや,他の計算機上でのmake処理でエラーメッセージが表示されるので計算機の時刻を正しく直すことにした.

まず,計算機上の時刻にはハードウェアクロックシステムクロックの2種類が存在する.
名称から何となく想像はつくが,ハードウェアクロックは計算機が起動していなくても常に時刻を刻んでいる.
一方システムクロックは起動時毎にハードウェアクロックを元に時刻が設定される.

システムクロックを表示するには以下のコマンドで可能.

$date
また,システムクロック時間を新たに設定するにはdateの引数としてMMDDHHmm[ [CC] YY][.ss]の形式で設定時間を与えればよい.
例えば2012年1月4日午後11時25分に設定したい場合は以下のようになる.
$date 020423252012
一方,ハードウェアクロックを表示するには以下のコマンド.
$hwclock
hwclockにより手動でシステムクロックとハードウェアクロックの同期が行える.
システムクロックをハードウェアクロックに合わせる.
$hwclock -s  #またはhwclock --hctosys
ハードウェアクロックをシステムクロックに合わせる.
$hwclock -w  #またはhwclock --systohc
ここからがNTPによる同期(Ubuntu10.04).
現在NICTによるNTPサーバが日本標準時間に設定されているため,NICTのNTPサーバ(ntp.nict.jp)を利用.
$sudo apt-get install ntpdate
$sudo ntpdate ntp.nict.jp
これによりシステムクロックを日本標準時間に設定することが出来る.ハードウェアクロックも同期したい場合は先ほどのコマンドを実行.