내 시스템 시계가 NTP를 통해 동기화되었는지 확인하기 위해 실행하면 timedatectl
다음과 같은 결과가 나타납니다.
~> timedatectl
Failed to query server: The name org.freedesktop.timedate1 was not provided by any .service files
systemd-timedated.service가 이미 실행 중입니다.
~> systemctl status systemd-timedated.service
● systemd-timedated.service - Time & Date Service
Loaded: loaded (/usr/lib/systemd/system/systemd-timedated.service; static; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd-timedated.service(8)
man:localtime(5)
https://www.freedesktop.org/wiki/Software/systemd/timedated
Mar 23 14:28:16 cm1sd systemd[1]: Starting Time & Date Service...
Mar 23 14:28:16 cm1sd systemd[1]: Started Time & Date Service.
Mar 23 14:29:00 cm1sd systemd[1]: systemd-timedated.service: Succeeded.
온라인에서 이 오류 메시지에 대한 내용을 찾지 못했습니다. systemd 및 timedatectl을 사용하여 시스템 시계를 NTP 서버와 어떻게 동기화합니까? 또한 /etc/systemd/ 아래에는 사용할 NTP 서버를 정의하는 항목이 없다는 점도 확인했습니다. 저는 Buildroot, systemd 버전 244.5를 사용하여 구축된 임베디드 Linux 시스템을 사용하고 있습니다.
답변1
Active Directory/Centrify를 사용하는 경우 서버를 다시 시작해 볼 수 있습니다. 그것이 그들이 우리에게 제안한 일이었고 그것은 우리에게 효과가 있었습니다. 하지만 근본 원인이 무엇인지는 명확하지 않고, 공유 서버라면 마음대로 재부팅할 수도 없는 점 역시 썩 만족스럽진 않습니다.
답변2
systemd-timedated
D-Bus를 사용하여 명령처럼 클라이언트와 통신하는 서비스입니다 timedatectl
. systemctl cat systemd-timedated.service
포함되어야 하며 서비스를 모니터링하고 할당 하고 장치에 종속되게 만드는 방법을 BusName=org.freedesktop.timedate1
알려줍니다 . 또한 시스템 D-Bus에 요청이 있을 때마다 "요청 시" 서비스를 시작할 수 있습니다.systemd
Type=dbus
dbus.socket
systemd
오류 메시지는 전화 systemd
할 때마다systemd-timedated
timedatectl
systemd-timedated
본질적으로 시스템 시계, 기본 시간대를 설정하고 , 또는 와 chronyd.service
같은 실제 시계 동기화 서비스를 시작/중지하기 위한 통합된 "프런트 엔드"입니다 . 재정의 파일에 환경 변수를 정의하여 실제 동기화 서비스가 검색되는 우선순위를 실제로 정의할 수 있습니다. 예를 들면 다음과 같습니다.systemd-timesyncd.service
ntp.service
systemd-timedated
[Service]
Environment=SYSTEMD_TIMEDATED_NTP_SERVICES=chronyd.service:ntp.service:systemd-timesyncd.service
최종적으로 사용하게 될 실제 NTP 서비스의 구성 파일을 사용하여 사용하도록 NTP 서버를 구성해야 합니다. 또는 DHCP 응답(해당하는 경우)에서 NTP 서버 주소를 가져오도록 NTP 서비스를 구성해야 합니다. systemd-timesyncd
이를 사용하여 systemd-networkd
NIC를 구성하면 자동으로 수행됩니다. 그렇지 않으면 NTP 서버 주소를 요청하고 해당 정보를 NTP 서비스에 유용한 형식으로 저장하도록 DHCP 클라이언트를 구성해야 할 수 있습니다.
임베디드 시스템에서는 시스템의 목적에 따라 시스템 D-Bus를 최소화하는 것이 유효한 선택이 될 수 있다고 생각합니다. 필수적이지 않은 프런트 엔드 서비스(예: systemd-timedated
기존 명령줄 도구에 의존)를 제거하는 것이 이에 포함될 수 있습니다. 그럼, 확실해요?systemd-timedated
~해야 한다직장에서?