私は Arch Linux を実行しています。最近、PC の電源を入れると、システム時刻が 1970 年 1 月 1 日の 1:00 に設定されます。おそらく、1:00 はタイムゾーンの変更によるものと思われます。
systemd
システム時間が正しく設定されない理由について、何か考えをお持ちの方はいらっしゃいますか?
役に立つ出力がいくつかあります(と思います)...
[root@alex-desktop network.d]# timedatectl status
Local time: Sun 2013-06-09 16:33:04 BST
Universal time: Sun 2013-06-09 15:33:04 UTC
RTC time: Sun 2013-06-09 15:18:50
Timezone: Europe/London (BST, +0100)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2013-03-31 00:59:59 GMT
Sun 2013-03-31 02:00:00 BST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2013-10-27 01:59:59 BST
Sun 2013-10-27 01:00:00 GMT
答え1
私はRaspberry Pi(これはどうやらありませんRTCC の)、つまり、同様のデバイスを使用していて、RTCが搭載されていないか(可能性は低い)、またはコンピュータが少し古く、RTCのバッテリー、つまりCMOSバッテリー平らになりました。
あなたの情報によると、timedatectl status
NTP はすでに有効になっているので、タイム サーバーに問い合わせて時刻を設定するはずです。ただし、コンピューターの起動時に時刻を設定するときにインターネットに接続していないと、この機能は機能しないようです。これは、WLAN を使用していて接続に時間がかかる場合に発生する可能性があります。
最終的に、私の解決策は、次のように、root () の cron ジョブを追加して 1 分ごとにsu -c "crontab -e"
実行し、強制的に時間をチェックすることでした。ntpd -s
# sync network time every minute (this is sad)
* * * * * ntpd -s
問題が解決しました。
ntpdはntpd.conf マニュアルページminpoll
ntpd が 8 秒間隔でチェックするように使用できるオプションについて言及しています。これは明らかに 9000 倍以上優れているため、期待どおりに機能する場合は回答を更新します。