web-dev-qa-db-ja.com

Arch Linuxで時間を修正する方法

現在、デスクトップのOSとしてArch Linuxを使用しています。自分の時間を見ると22:38で、明らかに17:08くらいです。コマンドtimedatectlを呼び出すと、次のようになります。

Local time: Wed 2017-01-11 22:37:43 IST
Universal time: Wed 2017-01-11 17:07:43 UTC
    RTC time: Wed 2017-01-11 17:07:41
    Time zone: Asia/Kolkata (IST, +0530)
Network time on: yes
NTP synchronized: no
RTC in local TZ: no

更新

Sudo systemctl status systemd-timesyncdを実行すると、次のようになります。

● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-01-11 00:49:36 IST; 1 day 1h ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 31123 (systemd-timesyn)
   Status: "Idle."
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/systemd-timesyncd.service
           └─31123 /usr/lib/systemd/systemd-timesyncd

Jan 12 01:39:42 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 5.9.78.71:123 (1.Arch.pool.ntp.org).
Jan 12 01:39:53 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 192.53.103.108:123 (1.Arch.pool.ntp.org).
Jan 12 01:40:03 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.19.184:123 (2.Arch.pool.ntp.org).
Jan 12 01:40:13 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.45.40:123 (2.Arch.pool.ntp.org).
Jan 12 01:40:24 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 123.108.200.124:123 (2.Arch.pool.ntp.org).
Jan 12 01:40:34 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 125.62.193.121:123 (2.Arch.pool.ntp.org).
Jan 12 01:40:44 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.45.40:123 (3.Arch.pool.ntp.org).
Jan 12 01:40:55 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 123.108.200.124:123 (3.Arch.pool.ntp.org).
Jan 12 01:41:05 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.19.184:123 (3.Arch.pool.ntp.org).
Jan 12 01:41:15 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 125.62.193.121:123 (3.Arch.pool.ntp.org).

traceroute

コマンドtraceroute -U -p ntp pool.ntp.orgも試してみました。

traceroute to pool.ntp.org (139.59.19.184), 30 Hops max, 60 byte packets
 1  10.114.1.1 (10.114.1.1)  1.713 ms  2.020 ms  2.343 ms
 2  10.10.2.41 (10.10.2.41)  1.123 ms  2.580 ms  2.836 ms
 3  cyberoam.iisc.ac.in (10.10.1.98)  0.553 ms  0.806 ms  0.813 ms
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

どうすれば修正できますか?私もtimedatectl set-ntp trueを試しました。これを有効にするために再起動する必要がありますか?

4

systemd-timesyncdを再起動する必要はありません。私のシステムでtimedatectlをテストしました。接続を待機する必要がある場合があります。

man timedatectl

状態

システム時刻とRTCの現在の設定を表示します。ネットワーク時刻同期がオンかどうかも含まれます。 ネットワーク時間同期がオンであるかどうかは、systemd-timesyncd.serviceユニットが有効であるかどうかを単に反映していることに注意してください。このコマンドでステータスがオフと表示されていても、別のサービスがネットワークと時計。

$ timedatectl status
      Local time: Wed 2017-01-11 13:45:07 GMT
  Universal time: Wed 2017-01-11 13:45:07 UTC
        RTC time: Wed 2017-01-11 13:45:07
       Time zone: Europe/London (GMT, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: yes

timedatectlのマンページがシステム上にあります。おそらく、実装はマンページをパッチすることなく、Fedoraによってパッチされました。どのサービスが使用されているかを問い合わせる方法がわかりません。私のシステムはたまたまchronydを使用しています。 ntp/ntpdを使用することもできると思います。

ただし、あなたの場合、Archがアップストリームのデフォルトのtimesyncdを使用していると確信しています。

$ systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; disabled; 
   Active: inactive (dead)
     Docs: man:systemd-timesyncd.service(8)

$ systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor pres
   Active: active (running) since Mon 2017-01-09 19:09:39 GMT; 1 day 18h ago
 Main PID: 928 (chronyd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/chronyd.service
           └─928 /usr/sbin/chronyd

ステータスの下にエラーが記録されている可能性があります。システムジャーナルにアクセスできるユーザーとしてsystemctlを実行してください。 Sudoを使用します。

chronycを使用したchronydとは異なり、systemd-timesyncdを追加でクエリするための文書化された方法はありません。役立つログがあることを願っています!

を目指すことをお勧めします

  1. システムが使用しようとしている有名なpool.ntp.orgエイリアスを特定します。
  2. エイリアスをテストします。 ntpdate -q Arch.pool.ntp.org
  3. tracerouteをエイリアスに追加して、近くのブロック、つまりファイアウォールがアクセスをブロックしていないかどうかを確認します。いつものように、結果をより速く(そして誤って解釈される可能性が低いため)pingを最初に使用するか、またはtracerouteのmtrバージョンを使用します(これもデフォルトでICMP tracerouteになり、マルチパスネットワークからの大量の出力を回避します)。最終的には、traceroute -U -p ntp pool.ntp.orgのようなものが必要になります。つまり、NTPと同じUDPポートを使用します。

[〜#〜] edit [〜#〜]:この回答の以前のバージョンは、systemd-timesyncdのデフォルトのNTPサーバーについて混乱していました。それらはtimesyncd.confでコメント化(無効化)されていますが、サーバーを変更する必要がある場合にのみ、行のコメントを外す必要があります。デフォルト値はコンパイル時にtimesyncdに組み込まれています。これはすべてのドキュメントで言及されています。

https://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/

https://wiki.archlinux.org/index.php/Systemd-timesyncd

3
sourcejedi