Raspberry Pi 運用・管理
NTPでの時刻合わせ
NTPでの時刻合わせ
この所「SD Card Copier」を使う機会が増え、「X Window」で作業するようになってから、Raspberry Pi 4 の「デジタル時計」が合っていないことに、今更ながら気付く。
以下、Raspberry Pi の時刻を合わせを行った記録。
スポンサー リンク
目 次
1. Raspberry Pi の時計
【timedatectl】コマンドで確認すると、日時がずれており、「RTC time」が【 n/a 】になっている。
Raspberry Pi は、RTCを持っていない。
リアルタイムクロック(real-time clock、RTCと略記)とは
コンピュータなどが内蔵する時計や、その機能が実装されている集積回路(IC)のことを指す。
リアルタイムクロックは、システムの電源が切られていてもバッテリバックアップなどにより「時刻」を刻み続けることが特徴である。
これに対し、オペレーティングシステムが持つ時刻機能(以下システム時刻)はタイマーにより「時間」を測定しそれを積算するもので、分解能はリアルタイムクロックに勝るが、シャットダウンすると時刻情報が失われ、次にシステムを起動したときにRTCを参照して設定する必要がある。
時計回路がない Raspberry Pi は、電源をOFFにすると時計が止まり、次にONにしたときには、前回OFFにした時刻から時計が再開する。
Raspberry Pi には、RTC が無い代わりに擬似的なハードウェアクロックを実現する「fake-hwclock」が存在する。
この「fake-hwclock」パッケージが、シャットダウン時に現在の時刻を記録し、起動時(直後)にその時刻から始めるという処理を行う。
★『Raspberry Piは、標準でインターネットに接続されていると、自動で時刻合わせが行われる』・・・は、ホントか?
★『初期設定では、ネットワーク的に遠いDebian標準のNTPサーバーを参照している』・・・は、ホントか?
★『初期設定では、ネットワーク的に遠いDebian標準のNTPサーバーを参照している』・・・は、ホントか?
2. 手動による時刻合わせ
上記の例は、現在の日時を表示した後、変更を行った結果。
時刻をセットする記述。
sudo date --set='yyyy/mm/dd hh:mm:ss'
3. NTPによる時刻合わせ
NTP(Network Time Protocol)とは
ネットワークを介して時刻同期を行うプロトコル。
ネットワークを介して時刻同期を行うプロトコル。
Raspberry Piの時間を合わせるには
NTP(Network Time Protocol)のデーモンを活用する必要があります。RaspbianにはNTPデーモンが最初からインストールされているので、設定ファイル /etc/systemd/timesyncd.conf を編集することによって、RTCを持たない Raspberry Pi の時間を正確にすることができます。
「 /etc/systemd/timesyncd.conf 」の、バックアップ。
cd /etc/systemd
ls -l timesyncd.conf*
sudo cp -p timesyncd.conf timesyncd.conf.org
ls -l timesyncd.conf*
sudo cp -p timesyncd.conf timesyncd.conf.org
「 /etc/systemd/timesyncd.conf 」を編集。
sudo nano /etc/systemd/timesyncd.conf
『Debian標準のNTPサーバーを参照』は、コメントアウトされている。
追記内容。
NTP=ntp.jst.mfeed.ad.jp ntp.nict.jp
FallbackNTP=time.google.com
参照するNTPサーバ
・ntp.nict.jp:jpnict公開の日本のNTPの元締め。
・ntp.jst.mfeed.ad.jp:インターネットマルチフィード(MFEED) 時刻情報提供サービス for Public で、2ndのNTPプロバイダとして有名。
・time.google.com:Googleさん。
NTPの有効化。
sudo timedatectl set-ntp true
デーモンを再ロードして、サービスの再起動を行う。
sudo systemctl daemon-reload
sudo systemctl restart systemd-timesyncd.service
sudo systemctl restart systemd-timesyncd.service
"time"に関するプロセスの確認。
ps -ax | grep "time"
サービスの確認。
sudo systemctl status systemd-timesyncd
以上。
(2020.08.24)
(2020.08.24)
スポンサー リンク