Linuxの時間を合わせよう!

Linuxの時間を合わせよう!
―――――――――――――――――――――


うーん。とりあえず、「Linux 時間」とかでググって見るか・・・。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/030timeset.html
↑こんなページを発見!


Linuxには、「ハードウェアクロック」と「システムクロック」という2つの時計がある。

ふむふむ。そうなのか。

>ハードウェアクロックとは、PC上のLSIに搭載された時計で、PCの電源を切った状態でも時刻を刻み続ける。時刻をCMOSに保存するので、「CMOS時計」と呼ばれたり、「リアルタイムクロック(RTC)」などと呼ばれることもある。

ふむふむ。


>システムクロックとは、Linuxカーネルが管理している時計で、システム起動時に1度だけハードウェアクロックから時間を参照し、それ以降Linux ではシステムクロックが基準となる(つまり、dateコマンドなどで表示される時刻は、常にシステムクロックである)。システムクロックは、「カーネル時計」、「ソフトウェア時計」と呼ばれることもある。


へー。dateコマンドはシステムクロックなのか。
システムクロックはズレるのか??


>どちらの時計もあまり正確ではないので、正しい時刻を知る必要がある場合は、外部のNTPサーバから正確な時間を入手し、それをハードウェアクロックに反映させる必要がある。

HO。どちらも正確ではないって・・・。そりゃないぜ。
外部のNTPサーバーから正確な時間を入手し、それをハードウエアクロックに反映・・・って書いてあるけど、dateコマンドで表示されるシステムクロックはシステム起動時に1度だけしかよみこまないんだよね・・・。Linuxって頻繁に再起動しないから、ハードウェアクロックが正確になってもだめぢゃね??

まぁ・・・やってみるか・・・・。


>時刻の設定には、root権限が必要なので、rootでログインして、以下のコマンドを実行する。
># ntpdate NTPサーバ名
># hwclock --systohc

ふむふむ。NTPサーバー名はどうするんだ・・・。


>「hwclock --systohc」というコマンドは、ntpdateコマンドで更新されたシステムクロックの時刻を、ハードウェアクロックに設定するものだ。これにより、システムクロックとハードウェアクロックがほぼ同期することになる。

なるほど、同期するのか。


>日本のNTPサーバとしては、福岡大学(clock.nc.fukuoka-u.ac.jp)が有名だが、最近ではISPなども独自のNTPサーバを公開しているので、最寄りのNTPサーバにアクセスした方がいいだろう。

ふーむ。福岡大学でいいかな...。

# ntpdate clock.nc.fukuoka-u.ac.jp
# hwclock --systohc

やってみよう。

[root@localhost root]# ntpdate clock.nc.fukuoka-u.ac.jp
30 May 10:07:04 ntpdate[18851]: no server suitable for synchronization found
[root@localhost root]#


ぬおおおおおおぉ。no server とかいわれた!!!
ないぢゃん!!古い記事なのか??


別のNTPサーバー探そう。

「NTPサーバー」でググって見る。


http://wiki.nothing.sh/page/NTP
↑ここを見つける。

>ちょっと、そこの clock.nc.fukuoka-u.ac.jp (133.100.9.2) 使ってるアナタ!とりあえず変更しましょうね。
福岡大学をデフォルトで指定している機器やソフト を使用している人は、本ページの説明を参考に設定を変更してください。負荷分散にご協力をお願いします。

な、なるほど。福岡大学も大変だな・・・。接続できない理由だ・・・。


>NTPサーバは、ネットワーク的に近いサーバを選択するのが大原則。 まずは自分の利用しているプロバイダがNTPサーバを提供してるか確認しましょう。


なるほど。確認してみよう。ぐぐりと・・・。

http://losttechnology.jp/Tips/nettime.html
↑こんなサイトを発見!

利用しているプロバイダがあったので、セットアップ!


# ntpdate ntp01.usen.ad.jp
# hwclock --systohc

やってみる。

[root@localhost root]# ntpdate ntp01.usen.ad.jp
30 May 10:11:16 ntpdate[18862]: step time server 61.122.112.135 offset -53.039742 sec
[root@localhost root]# hwclock --systohc
[root@localhost root]# date
2007? 5? 30? ??? 10:11:29 JST
[root@localhost root]#


うむ。成功!!!


>更新間隔を指定する
>初期状態では7日ごとに更新するようになっているので、内蔵時計の精度が低いPCを使っていてこれでは困るという場合はレジストリを編集して更新間隔を秒単位で指定することができます。

なるほど、まぁ7日間ごとの更新で問題ないな・・・。