Raspberry Piが時間を更新しない


12

約2か月前にRaspberry Pi 3を購入しましたが、それ以来時間が更新されていません。詳細:

  1. オペレーティングシステムは、Raspbian Jessie(4.1.19-v7 +)の新規インストールです。
  2. インターネット接続はネイティブWi-Fiを介して行われ、その他の通信上の問題はありません。
  3. 時刻の更新は同じLAN上のWindowsマシンのチャームのように機能するため、ファイアウォールの問題はありません。
  4. タイムゾーンが正しく設定されています。

私は最初にから始めましたnptdate。強制的にアップデートしてみたところ、

sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start

端末は2番目のコマンドでフリーズしました。の最後のメッセージ/var/log/syslogは次のとおりです。

Listening on routing socket on fd #22 for interface updates

/etc/ntp.conf 内容:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict 127.0.0.1
restrict ::1

ように私には思えるntpのパッケージには問題があります。ラズベリーは日中のみオンになり、タイムラグは夜間に蓄積するので、時間更新を設定するにはどうすればよいですか?


1
どのディストリビューションを使用していますか?これらの古代のリンクは、現在のRaspbianとは何の関係もありません。起動後どのくらい待ちますか?「時間が更新されない」ことを確認するために何をしていますか?
ミリウェイズ2016年

あなたがそれを求めているなら、それはRaspbianです。どれだけ待っても更新されません。隅にある「日付」コマンドと時計時計コマンドを使用しています。
ピグマリオン2016年

ntpdユーザーが変更を強制するのを困難にするために、過去数年のある時点で変更されました。その目的がいかに単純化しているかを考えると、これは絶対に最悪の設計であり、史上最も鈍いアプリの1つです。誰かがスタンドアロンのエンドユーザーシステム用の基本的なクライアントのみの実装を作成する必要があります。RFCを読むことも含めて、1日以上はかかりませんでした。心中お察しします。私はそのことを嫌っています(ただし、それが一般的に機能するので、気になりません...)。幸運を。
ゴルディロックス

とはいえ、実際に何が起きているのかについて、より詳細な説明を追加できると思います。サーバーに接続できない場合は、確かに多くのことを実行し、その内容はsyslogに記録されます。見てsudo grep ntp /var/log/syslog、起動後、またはjournalctl | grep ntp
ゴルディロックス

@goldilocks sudo grep ntp /var/log/syslogは一連のbad peer from pool x.debian.pool.ntp.orgエラーを返します。再起動した後journald | grep ntpリターンbash: journald: command not foundsudo grep ntp /var/log/syslogのリターンたくさんcan't find host x.debian.pool.ntp.org: name or service not knownのエラーをしてno servers can be used, exiting
ピグマリオン

回答:


6

USB Wi-Fiドングルを介して時刻を更新する必要があります。それがうまく動作します場合は、使用tcpdumpしてパケットが上でどのように扱われるか見て取るの両方の側面を:ラズベリーパイ3日のWi-Fi APそれはに接続します。

Raspberry Pi 3の内部Wi-Fiは、私の知る限り、静かにパケットを失っています。

次のように/etc/network/interfacesなります。

# Wired adapter #1
auto eth0
    iface eth0 inet static
    address 192.168.0.3
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-servers 8.8.8.8,8.8.4.4
    post-up /usr/sbin/ntpdate -4 1.2.3.4

先頭のスペースを忘れないでください!


コメントは詳細な議論のためのものではありません。この会話はチャットに移動しました
ガニマ

このスレッドでntpdを「修復」する方法を見つけました:raspberrypi.org/forums/viewtopic.php? f=28&t=141454 。RPi3の起動時に自動的に作成する方法はまだわかりません。
ピグマリオン2016年

前に言った@Pygmalion- ntpD= NTP Daemon- は、単純なホスト時間設定には必要ありません...これは、ネットワークを介して時間を分配するためのメイドです。つまり、複数のノードがある場合、それは確実に必要です。しかし、単一のエンドポイント時間設定のためのntpdateツールが作成されます。それはntpソースツリー自体でさえ分離されています
Alexey Vesnin '13年


9

私はntp、chronyでいくつかの方法を試しました...最後に次の方法で修正しました。

グーグルのような有名なウェブサイトから日付を取得して、起動ごとにマシンの時刻を設定します。

  1. rc.localファイルを開く

    sudo nano /etc/rc.local

  2. rc.localファイルに次の行を追加します

    sudo date -s "$(wget -qSO- --max-redirect=0 www.google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

  3. Rpiを再起動します。

    sudo reboot


私は解決策が好きでした。うまくいきましたが、ntpソリューションに満足しています。私はそれらを試しましたが、それを乗り越えることができませんでした。
Varad AG 2017

私はこの絶望を理解することができます-これは私がいくつかの機会(HTTPヘッダーからの日付)でも行ったこととは異なりますが、今はインターネットアクセスがなく、HTTPサーバーがなく、NTPサーバーしかない閉じたネットワークにいます。
Tomasz Gandor 2017

4

raspi-configRaspberry Pi でタイムゾーンを設定すると、インターネットに接続されている場合、起動時に時刻が自動的に更新されます。

  1. sudo raspi-config
  2. 選択する Internationalisation Options
  3. 選択する I2 Change Timezone
  4. 地域を選択してください
  5. 最寄りの都市を選択してください
  6. 選択する Finish
  7. Yes今すぐ再起動することを選択

もちろん、初日のタイムゾーンを設定しました。
ピグマリオン2016年

1
私もタイムゾーンを最初の日に設定しましたが、最近発生した問題とまったく同じように、私のPiは最近再起動時に時刻の更新を停止しました。raspi-config昨日再実行しましたが、しばらく電源を抜いたままにしていても、再起動するたびに時刻が正しく更新されました。試してみることをお勧めしますか?どうやって乗るのか教えてください...
mwd27 '21

ごめんなさい。私はあなたが提案したように行いましたが、失敗しました。
ピグマリオン2016年

ああ、それは残念です。私は考え続けます...
mwd27

3

次のコマンドは確実に機能します

sudo date -s"Sep 11 12:50"

1
お返事ありがとうございます。質問は、NTPを使用した自動更新に関するものだと思います。あなたの答えは、時計の1回限りの設定についてのようです。
Bex

2

以下を使用すると、WiFi経由で1回限りで機能することがわかりました。

sudo sntp -s 0.debian.pool.ntp.prg

1

[アプリケーションメニュー] / [設定] / [Raspberry Pi設定]で、[ローカライズ]タブに移動し、[ロケールの設定]、[タイムゾーンの設定]、および[WiFi国の設定]の値を選択しました。

[OK]をクリックすると、時刻が修正されます。


1

私にとっては、なんらかの理由で少し待つ必要がありましたが、すぐに正しい時間が設定されませんでした。これは、正しいタイムゾーンを設定し、インターネットアクセスを有効にして再起動した後です。


正しい時刻の設定についてログのギャップの原因何ですか?
インゴ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.