前回までで、Raspberry Pi(ラズパイ)を使って電波時計の時刻合わせができるようになりました。とはいえ、Raspberry Piの時間が正確でなければ、電波時計も狂うわけですから意味がありません。

 気付いている方もいるかもしれませんが、Raspberry PiにはRTC(Real Time Clock)が搭載されていません。RTCは現在時刻を保持し、カウントし続ける内蔵時計です。PCなどではバッテリーバックアップされたRTCが内蔵されており、PC起動時にはRTCの時間をカーネルが参照してOSの時刻を合わせます。

 しかしRaspberry PiにはRTCがないため、起動時には自力で時刻を合わせることができず、時間が狂っている場合があります。

NTPデーモンで時刻を合わせる

 Raspberry Piの時間を合わせるには、NTP(Network Time Protocol)のデーモンを活用する必要があります。RaspbianにはNTPデーモンが最初からインストールされているので、設定ファイル/etc/ntp.confを設定することによって、RTCを持たないRaspberry Piの時間を正確にすることができます。

 初期設定では、ネットワーク的に遠いDebian標準のNTPサーバーを参照しているので、NICT(情報通信研究機構)のNTPサーバーに設定し直すといいでしょう。/etc/ntp.confをnanoエディタで開き、図9のように編集し直してください。

$ sudo nano /etc/ntp.conf 
このマークで改行

図9●/etc/ntp.conf
図9●/etc/ntp.conf
[画像のクリックで拡大表示]

 以上を設定し直したら、ntpdを再起動します。

$ sudo /etc/init.d/ntpd restart 

 これでRaspberry Piの時間が正確になります。