Archlinux 호스트에서 명령이 timedatectl status
올바른 시간 결과(로컬 및 UTC)를 반환했음을 확인했지만 NTP 서비스가 비활성 상태라는 점도 언급했습니다.
존재하지만 활성화되지 않은 ntpd.service
경우에도 해당 컴퓨터에서 활성화되어 활성화되어 있기 때문에 이것이 이상하다는 생각이 듭니다 .systemd-timesynd.service
존재하다https://unix.stackexchange.com/a/542959/72707가능할 때마다 systemd-timesync.service
다음을 수행할 수 있습니다.
# timedatectl set-ntp true
출력에 활성 NTP 서비스를 표시하는 것으로 충분합니다 timedatectl status
.
또한 자동으로 활성화되고 활성화되는 것을 볼 수 있습니다 systemd-timesync.service
.
그래서 내 질문은: 나에게
그것이 필요한가? 그리고 ntpd.service
두 가지 요구 사항이 서로 다른가요?systemd-timesync.service
ntpd.service
답변1
OP의 쿼리에 직접 답변하기 위해 @don_crissti의 의견을 인용합니다.
timesyncd를 사용하는 경우 ntpd.service가 필요하지 않습니다. 나는 ntp 패키지가 설치되지 않은 여러 데스크탑에서 후자를 사용하고 있습니다. 이에 대한 아치 위키 항목을 여기에서 읽어보세요: wiki.archlinux.org/title/Systemd-timesyncd
이 문장 외에도 최신 버전 timedatectl
(및 해당 버전 systemd-timedated
)에는 파일에 시간 동기화 서비스 목록이 있습니다 /usr/lib/systemd/ntp-units.d/*.list
. 항상 그렇듯이 /usr/local/lib/systemd/ntp-units.d/*.list
파일을 사용하여 timedatectl
로컬로 관리되는(= 패키지에서 설치되지 않은) 시간 동기화 서비스에 대해 알아보거나 /etc/systemd/ntp-units.d/*.list
기존 시간 동기화 서비스 목록에 대한 관리 재정의를 수행할 수 있습니다.
SYSTEMD_TIMEDATED_NTP_SERVICES
서비스에 대한 환경 변수를 설정하는 것은 systemd-timedated
시간 동기화 서비스 목록을 재정의하는 또 다른 방법입니다.
을 실행하면 timedatectl set-ntp true
시간 systemd-timedated
동기화 서비스 이름 목록이 표시되고 실제로 사용 가능한 첫 번째 목록의 서비스가 시작됩니다.
timedatectl
이를 알리 려면 ntpd.service
다음을 수행하세요.
echo "ntpd.service" | sudo tee /etc/systemd/ntp-units.d/10-ntpd.list
systemd-timesyncd
원래는 NTP 서버(실제로는 SNTP 클라이언트)에서 주기적으로 시간을 가져오는 최소한의 서비스로 개발되었습니다. 더욱 완전한 NTP 클라이언트로 발전하고 있는 것 같지만, ntpd
현재의 클래식 버전과 비교하면 어떤지 잘 모르겠습니다 .
chronyd
또는 같은 보다 완전한 기능을 갖춘 NTP 동기화 서비스는 ntpd
로컬 시스템과 NTP 시간 소스 간의 패킷 왕복 시간을 지속적으로 측정 및 보상하고 로컬 시스템 시계의 시스템 오류도 측정 및 보상합니다.
systemd-timesyncd
원래는 "인간 규모"의 정확한 타이밍을 갖는 것이 좋지만 반드시 매우 높은 정확도를 보장할 필요는 없는 임베디드 시스템 및 기타 사용 사례를 위해 고안되었습니다.
좋은 NTP 서버 세트가 구성되어 있거나 chronyd
근처 ntpd
에 있으면 시스템을 밀리초 이하로 동기화할 수 있습니다.
시스템을 마이크로초 이상으로 동기화해야 하는 경우 신중하게 조정하여 NTP를 사용할 수 있지만 이 경우 PTP를 사용하는 것이 더 좋습니다.
클래식 개발은 ntpd
지난 1~2년 동안 중단되었으며 몇 가지 알려진 보안 문제가 있습니다. 다음과 chronyd
같은 최신 구현NTP 보안아마 더 안전할 거예요.