
私はRaspberry Pi 3を使用しており、システムを再起動した後、ntpを介して時間を更新する必要があります。
dhcpを使用してWi-Fi経由でアップデートする必要があります。通常は動作しますが、同期には約時間がかかります。 30分間私は理由を理解していませんでした。
ntpサービスを手動で起動したいとき
>>sudo /etc/init.d/ntp restart
「OK」と表示されますが、システムは何もしません。間違った時間がまだRTCに表示されます。
何が問題なのか知っていますか?
もう一つの情報は、Piが読み取り専用モードで実行されることです。ただし、書き込みアクセスなしで機能しないと、30分後に更新されません。そうですか?
詳細は:
私の質問を完成させるには、これがntp.confです。
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
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.de.pool.ntp.org iburst
Server 1.de.pool.ntp.org iburst
Server 2.de.pool.ntp.org iburst
Server 3.de.pool.ntp.org iburst
Server 127.127.1.0 #local clock
Fudge 127.127.1.0 stratum 10
...
私のプロジェクトの説明を展開します。 PiをNTPサーバーとして使いたいです。最初の問題は、再起動後またはPiがシャットダウンしたときにRTCが「制御不能」状態になることです。特に長い間そうです。これは、RTCを設定するためにPiが最初にNTPクライアントとして機能し、その後、Piがイーサネットを介してPiに接続されているデバイスのNTPサーバーになる必要があるという考えを持つ理由です。だから、現在の時間を得るためにWi-Fi経由でPiを接続します。私が言ったように、通常は動作しますが、時間がかかりすぎます。
次に、以前に公開したこのコマンドを使用して手動で同期したいと思います。私の考えはこれをcronjobとして実行することですが、次の問題があります。 1. Piはコマンドを無視します。 2. cronjobも無視されるか、再起動後に削除されます。
しかし、ステップバイステップに進み、最初に解決したい問題は、同期時間を短縮することです。
今私の状況をよりよく理解してほしい…
詳細が必要ですか?
新しい情報:2018年2月1日
今、あなたが望む解決策を見つけたが理解できない動作があります。設定が正しいです。しかし、私はオンボードWiFiを使用してntp.confで設定したNTPサーバーを介してシステム時間を同期します。 RPiのNTPサーバーの有線デバイスとしてイーサネット(有線LAN)を使用しています。 IP設定は次のとおりです。
WLAN (DHCP): 192.168.1.x
Ethernet (static): 192.168.10.10
それ以外の場合は1つの接続しか機能しないため、2つのインターフェイスを異なるネットワークに配置しました。しかし、実際にはなぜですか?これは同期が長すぎる主な問題です。地域時計でラインをコメントアウトすると
Server 127.127.1.0
これにより、ネットワーク同期がすぐに適用されます。なぜこれが起こるのですか?
答え1
rpiにはRTCがないため、常に1970年1月1日に開始されます。つまり、サーバーとNTPがゆっくりと徐々に同期できるようにするため、デフォルトではNTPは正常に機能しません。
ファイルに最初の行を追加しますntp.conf
(最初の行でなければなりません)。
tinker panic 0
仮想マシンに対してこれを設定することをお勧めします。そしてIoTデバイス
Tinker Panic - パニックしきい値を秒単位で指定し、デフォルトは1000秒です。 0 に設定すると、パニックの健全性チェックが無効になり、すべての値のクロックオフセットが許可されます。
特にインターネットに接続せずにプロジェクトを実行する予定の場合は、価格が安いため、RTCの購入を検討してください。バラよりhwclockがrtcファイルを開くことができません
答え2
/etc/ntp.confのファジィ行に「flag1 1」を追加して問題を解決しました。私たちはGPSを使って時間を設定します。システムクロックバッテリーが放電すると、システムは正しい時間に起動しません。迅速に修正するにはNTPが必要です。これは/etc/ntp.confファイルです:
# "flag1 1" means skip the difference limit check and fix the time even if it is far off.
# If the battery for the system clock fails the system clock will start with a default time.
# The date will be years off, more than the sanity check limit, we need for ntp to correct the time anyway.
#
# GPS Serial data reference
server 127.127.28.0 minpoll 4 maxpoll 4 true
fudge 127.127.28.0 time1 0.0 refid GPS flag1 1
# GPS PPS reference
server 127.127.28.1 minpoll 4 maxpoll 4 prefer true
fudge 127.127.28.1 refid PPS flag1 1
driftfile /var/lib/ntp/drift
# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
# Allow unrestricted acces from the localhost
restrict 127.0.0.1 mask 255.255.255.0
restrict -6 ::1
# Enable this if you want statistics to be logged.
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day disable
filegen clockstats file clockstats type day enable
ここでこのソリューションを見つけました。NTP文書
答え3
ntpdateユーティリティをワンタイムスタートユーティリティとして使用して、ntpdが管理できるように時計を近づけます。
ディストリビューションにある場合は、chrony RPMパッケージを確認してください。既存のNTPよりも管理が簡単です。