Photon OS 3.0을 실행하는 가상 머신이 있습니다. NTP가 구성되지 않았으며 하드웨어 시계를 사용하고 있습니다. 동기화되지 않았습니다. 하드웨어 시계는 hwclock
하이퍼바이저 시간과 동기화되어 있지만 실행하면 date
하드웨어와 동기화되지 않습니다.
내가 실행하면 timedatectl
표시됩니다.System clock synchronized: no
이를 변경하는 명령/프로세스는 무엇입니까?System clock synchronized: yes
$ timedatectl
Local time: Thu 2023-11-02 23:11:03 UTC
Universal time: Thu 2023-11-02 23:11:03 UTC
RTC time: Thu 2023-11-02 23:09:29
Time zone: UTC (UTC, +0000)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
답변1
hwclock
시간을 시스템 시간(=display)에 복사 하려면 date
가장 간단한 명령은 다음과 같습니다.
hwclock --hctosys --utc --noadjfile
노트이렇게 하면 시스템 시간이 거꾸로 변경되어 타임스탬프의 올바른 순서를 관리하는 데이터베이스 및 기타 애플리케이션에 해로울 수 있습니다.
응용 프로그램이 실행되는 동안 이 변경을 수행해야 하는 경우 ntpdate -B <NTP server address>
시스템 시계를 올바른 시간으로 부드럽게 "미끄럽게" 하는 것이 더 안전한 접근 방식입니다.
그러나 위의 어느 것도 지침을 변경하지 않습니다 System clock synchronized
.
커널 의 System clock synchronized
타이밍 상태 비트 : NTP 서비스가 실행 중이고 시스템 시계를 NTP 시간 소스에 성공적으로 동기화하면 time_status
다음 명령을 사용하여 커널 단어의 해당 비트를 토글합니다.adjtimex(2)
시스템 호출. 이것은 해당 비트 System clock synchronized
에 대한 간단한 설명 입니다.time_status
systemd-timedated
일반적인 Linux 시스템에서는기술적으로선택적으로 설치할 수 있습니다adjtimex
유용그런 다음 NTP 동기화가 적용될 때 adjtimex -S 0
커널 단어를 일반 상태로 수동으로 설정합니다.time_status
이것을 충분히 추천할 수 없습니다그것은 실제로 자신과 시스템에 거짓말을 하는 것이기 때문입니다.
반품,Photon OS adjtimex
에 사용할 수 있는 명령/패키지가 없는 것 같습니다.어쨌든 실제 대답은 아마도 "NTP를 구성하지 않으면 이 작업을 수행할 수 없습니다"일 것입니다.