저는 현재 데스크탑에서 Arch Linux를 운영 체제로 사용하고 있습니다. 시간을 보니 22시 38분인데 시간은 분명 17시 8분쯤이었다. 명령을 호출하면 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 -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
. 적용하려면 재부팅해야 하나요?
답변1
systemd-timesyncd에서는 재부팅이 필요하지 않습니다. 내 시스템에서 timedatectl을 테스트했습니다. 연결이 설정되는 데 최대 1분 정도 걸릴 수 있습니다.
수동 시간 및 날짜 제어
상태
네트워크 시간 동기화가 켜져 있는지 여부를 포함하여 시스템 시계 및 RTC의 현재 설정을 표시합니다.네트워크 시간 동기화가 켜져 있는지 여부는 systemd-timesyncd.service 장치가 활성화되어 있는지 여부만 반영됩니다.이 명령이 off 상태를 표시하더라도 다른 서비스는 여전히 시계를 네트워크와 동기화하고 있을 수 있습니다.
$ 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
.
chronyd 와 달리 "NTP sync: no" 이외의 다른 항목을 chronyc
쿼리하는 문서화된 방법은 없습니다 . systemd-timesyncd
유용한 로그가 있기를 바랍니다!
목표로 추천드려요
pool.ntp.org
시스템에서 사용하려는 잘 알려진 별칭을 확인합니다.- 예를 들어 별칭을 테스트합니다
ntpdate -q arch.pool.ntp.org
. traceroute
별칭을 보고 근처에 액세스를 차단하는 블록(예: 방화벽)이 있는지 확인하세요. 항상 그렇듯이ping
결과를 더 빨리 얻으려면 먼저 사용하거나(잘못 해석할 가능성이 적음)mtr
Traceroute 버전을 사용합니다(이것은 또한 다중 경로 네트워크에서 많은 출력을 방지하는 ICMP Traceroute로 기본값이 설정되어 있습니다). 궁극적으로traceroute -U -p ntp pool.ntp.org
NTP와 동일한 UDP 포트를 사용하여 비슷한 것을 원합니다 .
편집하다: 이 답변의 이전 버전은 systemd-timesyncd의 기본 NTP 서버를 혼동했습니다. 에서는 주석 처리(비활성화)되어 있지만 timesyncd.conf
서버를 변경해야 하는 경우에만 이 줄의 주석 처리를 해제하면 됩니다. 기본값은 컴파일 타임에 timesyncd에 내장되어 있습니다. 이는 모든 문서에 언급되어 있습니다.
https://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/
답변2
현재 위치의 시간대가 정확합니까? timedatectl set-timezone을 통해 올바른 시간대를 설정해야 합니다.
이것날짜이 명령은 현재 위치의 시스템 시간을 표시합니다.
날짜귀하의 시간대에 따라 시간이 수정됩니다.
예를 들어 Apple ntp 서버를 사용하면 다음과 같은 결과가 발생합니다.
sudo ntpdate time.apple.com
11 Jan 19:18:28 ntpdate[1052]: adjust time server 17.253.38.125 offset 0.004981 sec