システム時間を維持するにはどうすればよいですか?


42

Raspberry Piには、お金を節約するためのシステムクロックが付属していないことを知っています。システム時間をどのように維持できますか?

回答:


41

ソフトウェアソリューション

システム時間を維持する最も一般的な方法は、Network Time Protocolデーモン(NTPd)を使用することです。

NTPdは、ネットワークタイムプロトコルを使用して、GNU / Linuxシステムのソフトウェアクロックをインターネットタイムサーバーと同期させるための最も一般的な方法です。

NTPdは、デフォルトのオペレーティングシステムであるDebian Squeezeにすでにインストールおよび設定されている必要があります。Arch Linuxの場合は手動でインストールして設定する必要があります。

まず、NTPをインストールする必要があります。

$ sudo pacman -S ntp

これで、コマンドラインから手動で更新できます。

$ sudo ntpd -qg

または、/etc/rc.confファイルに追加することにより、起動時にデーモンのリストに追加できます。そのようです。

# /etc/rc.conf
DAEMONS=(!hwclock ntpd)

デーモンリストでhwclock感嘆符(!)を前に付けて無効にする必要があることに注意してください。


mlpのProtipntpdateデーモンのリストに追加すると、起動後の時間がより速く修正されます。したがって、デーモンのリストは次のようになります。

# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)


1
/etc/rc.confも廃止されました。
rubenvb

1
/etc/rc.confが非推奨の場合、代替手段は何ですか?これはまさに私が必要とするものです。
ジョナサンS.フィッシャー

1
@exabrial systemctl enable ntpd.serviceはに追加するのと似てい/etc/rc.confます。
-Lekensteyn

新規インストールでは、マスタークロックから多くのホップになる可能性があるさまざまなソースから時間を取得します。詳細およびtime.nist.govに変更する理由については、次のQ&Aを参照してください: raspberrypi.stackexchange.com/questions/68811/…–
SDsolar

16

ハードウェアソリューション

RPiの時刻が常に正しいことを保証したい場合、またはネットワークに接続せずに時刻を維持したい場合は、リアルタイムクロック(RTC)を搭載した拡張ボードを購入する必要があります。少なくとも1つは開発中です。

利用可能なRTC拡張ボード

開発中のRTC拡張ボード


3

ネットワーク化されていないアプリケーションの場合(またはネットワーク時間が十分でない場合)、RTCクロック(@Alex Chamberlainの回答)をGPSレシーバーまたはVLFレシーバー(NWヨーロッパではRugby MSFになります)から派生した時間で設定できます。両方とも、フィールド展開デバイス(ロボット、フィールドモニタリングなど)の優れたソリューションになる可能性があります。

両方のソリューションは、良い趣味のプロジェクトにもなります。1980年代にRugby MSFレシーバーを構築したことを覚えています。市販のGPS受信機(「パック」)は、NMEA 0183文で時刻と日付を提供します。この情報を抽出するための簡単なコーディングプロジェクトになります。


1
興味深いことに、MSFの時報は現在、ラグビーではなく、カンブリアのアンソーンラジオ局から放送されています。
tomfanning

1
現時点ではイギリスに住んでいないので、私はしばらくM1を運転していません。(ダベントリーの近くの海軍マストはまだそこにあると
思い

わからない-私はM1に関しては国の反対側にいる。しかし、en.wikipedia.org / wiki / Rugby_Radio_Stationによれば、Rugby Radio Stationは2007年半ばに活動を停止したようです-写真を含む解体への言及。そして、ビデオはここにあります:youtube.com/watch?v=bx2lhSUuGqU。ただし、Google Street Viewにはまだマストが表示されており、2007
tomfanning

ウィキペディアを見てみると、ダベントリーの「海軍」マストについては言及されていないので、私は誤解しなければなりません-非常に古い(現在は解体された)帝国への送信機です。したがって、M1ドライブはさらに退屈です。
winwaed

3

systemdを使用してArch LinuxにNTPデーモンをインストールします。

sudo pacman -S ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd

私の場合、タイムゾーンが正しく設定されていることも確認してください:

sudo rm /etc/localtime
sudo ln -s  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

0

システムでNTPを常時実行したくない場合は、いくつかの異なるオプションのいずれかを使用して時間を設定できます。

  • ntpdate-インストールされると、システムがセットアップされ、インターフェイスが起動する時刻が取得されます(「非推奨」ですが、かなり広く使用されています)。
  • rdate-少し正確ではありませんが、よりシンプルで軽量なアプローチ。
  • tlsdate -TLS / SSLサーバーを時間ソースとして使用する、より安全なオプション。

すべてのクロックはドリフトするため、クロックはNTPを使用するほど正確ではないことは明らかです。また、これらのアプリは単一のタイムソースのみを使用するため、選択したソースに問題がある場合、誤った時間を設定する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.