web-dev-qa-db-ja.com

Ubuntu 16.04が時刻を正しく設定できない原因は何ですか

Mythtvバックエンドサーバーとして機能するXUbuntu 16.04を実行しているDell SC1430があります。長年にわたって正常に動作していましたが、現在12.04から14.04経由で16.04にアップグレードした後(do-release-upgradeを使用)、システム時間は2時間ずれており、正しい時間に設定できません。

I、またはntpdtimesyncdなどのメカニズムが時間を設定しようとすると、すぐに元に戻ります。 ntpdを試すと、syslogでこれを取得します。

Sep 17 12:32:33 eddie ntpd[21484]: proto: precision = 0.131 usec (-23)
Sep 17 12:32:33 eddie ntpd[21484]: restrict 0.0.0.0: KOD does nothing without LIMITED.
Sep 17 12:32:33 eddie ntpd[21484]: restrict ::: KOD does nothing without LIMITED.
Sep 17 12:32:33 eddie ntpd[21484]: Listen and drop on 0 v6wildcard [::]:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 2 lo 127.0.0.1:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 3 eth0 192.168.1.11:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 4 lo [::1]:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 5 eth0 [fe80::219:b9ff:fe22:9d01%2]:123
Sep 17 12:32:33 eddie ntpd[21484]: Listening on routing socket on fd #22 for interface updates
Sep 17 10:32:52 eddie systemd[28438]: Time has been changed
Sep 17 10:32:52 eddie ntpd[21484]: ntpd: time set -7188.398130 s
Sep 17 10:32:52 eddie systemd[2506]: Time has been changed
Sep 17 10:32:52 eddie systemd[1]: Time has been changed
Sep 17 12:32:41 eddie systemd[28438]: Time has been changed
Sep 17 12:32:41 eddie systemd[2506]: Time has been changed
Sep 17 12:32:41 eddie systemd[1]: Time has been changed

ご覧のとおり、時間は実際には少しの間変化し、その後何かが元に戻ります。

Timedatectlステータスは私に与えます:

root@eddie:~# timedatectl status 
      Local time: Sun 2017-09-17 14:24:12 CEST
  Universal time: Sun 2017-09-17 12:24:12 UTC
        RTC time: Sun 2017-09-17 12:24:12
       Time zone: Europe/Stockholm (CEST, +0200)
 Network time on: no
NTP synchronized: no
 RTC in local TZ: no

この例では、UTCは10:24:12であり、現地時間は12:24:12です。

私の最善の推測は、他のプログラム/プロセスが時間を正確に保つために(試行中)ですが、アップグレード後にタイムゾーンまたはその他と混同されることです。

上記で提案したように、timedatectlアプローチの代わりにNTPを使用してみましたが、動作はまったく同じです。

これは、他の人が問題を抱えていることを読んだデュアルブートの状況ではありません。

どんな助けも大歓迎です!

3
erik

私は問題が何であったか少しわかりませんが、私はそれを解決しました:

  1. Ntpサービスが起動時に起動しないことを保証する(-xを/ usr/sbin/ntpdにchmoddingする)
  2. 別のクライアントからのsshとは対照的に、サーバーでキーボードを介してログインします。
  3. タイムゾーンをリセットし、GUIで「ネットワーク時間」をオンにする
  4. 再起動
  5. 起動時にntpサービスが開始されることを保証する
  6. 再起動

いくつかのコメント:syslogでは、時間を正しく設定しようとした後、systemdサービスが時間をリセットしているように見えました。プロセスid:sは、sshを介した私のログインがそれらのプロセスの1つを担当し、他のプロセスをlightdmが担当したことを明らかにしました。したがって、サーバー自体でキーボードを使用してログインし、1つのsystemdタイムサービスのみを実行しています。

また、systemctl status systemd-timesyncd.serviceが報告しました:

● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
           └─disable-with-time-daemon.conf
   Active: inactive (dead)
Condition: start condition failed at Sun 2017-09-17 16:09:41 CEST; 4min 35s ago
           ConditionFileIsExecutable=!/usr/sbin/ntpd was not met

したがって、/ usr/sbin/ntpdのchmodding

1
erik