최근에 21.04에서 pop_os 21.10으로 업그레이드했는데 장치를 부팅할 때마다 컴퓨터에 임의의 시간/날짜가 설정됩니다. 설정의 자동 날짜 및 시간이 작동하지 않습니다.
출력은 다음과 같습니다 timedatectl
.
Local time: Wed 2022-02-23 10:43:32 IST
Universal time: Wed 2022-02-23 05:13:32 UTC
RTC time: Wed 2019-07-24 03:48:55
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
시스템 시계 동기화를 활성화하기 위해 실행을 시도했지만 timedatectl set-ntp true
작동하지 않았습니다.
또한 시도이것Ubuntu 18.04의 유사한 문제에 대한 솔루션에서는 @restart
구성에 매개변수를 추가할 것을 제안했지만 crontab
그 역시 작동하지 않았습니다.
답변1
timedatectl
이는 NTP 서비스가 활성 상태이지만 시계가 여전히 동기화되지 않았음을 나타내 므로 서비스가 완전히 구성되지 않았거나 방화벽이 NTP 패킷을 차단하고 있기 때문에 NTP 서비스가 NTP 서버에 연결할 수 없음을 의미합니다.
첫 번째 작업은 동기화 서비스의 실제 이름을 찾는 것입니다.
에서 자세한 내용을 찾을 수 있지만 기본적으로 이름에 확장명이 포함된 man systemd-timedated.service
디렉터리나 파일을 확인하세요 . /usr/lib/systemd/ntp-units.d/
이러한 파일은 사용할 수 있는 잠재적 NTP 서비스의 이름을 정의하며, 파일이 여러 개인 경우 파일의 영숫자 순서에 따라 우선 순위가 결정됩니다./usr/local/lib/systemd/ntp-units.d/
/etc/systemd/ntp-units.d
.list
timedatectl
.list
또는 서비스 우선순위를 환경 변수로 정의할 수도 있습니다 systemd-timedated.service
. 를 실행하면 systemd cat systemd-timedated.service | grep Environment
다음과 같은 줄을 찾을 수 있습니다.
Environment=SYSTEMD_TIMEDATED_NTP_SERVICES=<primary NTP service>.service:<1st alternative NTP service>.service:<2nd alternative NTP service>.service
EnvironmentFile
또는 서비스에 대해 해당 변수를 정의할 수 있는 파일에 대한 참조를 찾을 수도 있습니다 .
가장 일반적인 NTP 동기화 서비스는 chronyd.service
, ntp.service
(또는 ntpd.service
일부 배포판에서는) 및 systemd-timesyncd.service
이므로 우선 순위를 나타내는 항목을 찾을 수 없더라도 이 세 가지 서비스 중 하나일 가능성이 높습니다.
NTP 동기화에 사용되는 서비스가 이면 chronyd.service
연결 상태를 쿼리하는 명령은 입니다 chronyc sources -a -v
.
의 경우 ntp[d].service
를 사용할 수 있습니다 ntpq -np
.
chronyc sources
및 출력은 ntpq -np
다소 유사합니다. NTP 동기화가 제대로 작동하면 목록의 가장 왼쪽 열에 시스템이 현재 동기화 중인 서버를 나타내는 별표가 있어야 합니다. 이 Reach
열은 마지막 8개의 NTP 요청 상태를 8진수로 나타냅니다. 이 열의 값은 NTP 서버가 이러한 모든 요청에 응답했는지 여부를 나타냅니다 377
. 값은 서버에 연결할 수 없음 Reach
을 나타냅니다 .0
상태를 쿼리하려면 systemd-timesyncd.service
를 사용할 수 있습니다 timedatectl timesync-status
.
동기화 서버가 사용하려는 NTP 서버를 알고 나면 해당 연결 문제 해결을 시작할 수 있습니다. 사용할 NTP 서버 목록이 비어 있거나 잘못된 경우 먼저 이를 수정한 후 동기화 서비스를 다시 시작(또는 시스템을 다시 시작)해야 합니다.
의 경우 NTP 서버는 또는 파일에 나열됩니다 chronyd
./etc/chrony/chrony.conf
/etc/chrony/sources.d/*.source
의 경우 ntp[d].service
구성 파일은 /etc/ntp.conf
.
systemd-timesyncd.service
/etc/systemd/timesyncd.conf
및/또는 파일 에서 구성되지만 파일이나 DHCP 구성 정보를 통해 구성 /etc/systemd/timesyncd.conf.d/*.conf
할 수도 있습니다 ./etc/systemd/network/*.network
ntpdate
이 명령이 설치 되면 해당 디버그 모드를 사용하여 NTP 서버에 대한 연결을 테스트할 수 있습니다. 실행 ntpdate -d <NTP server name or IP address>
하고 출력을 확인합니다. 출력의 마지막 줄이 나타나면 no server suitable for synchronization found
명령이 지정한 NTP 서버에 연결할 수 없는 것입니다. 명령이 NTP 서버로부터 유효한 응답을 받으면 출력의 마지막 줄에 해당 명령의 수가 표시됩니다.있을 것이다디버그 모드가 아닌 경우 로컬 시스템 시계를 조정합니다.