Ubuntu가 시작할 때 시스템 시계를 시간 서버와 자동으로 동기화하고 싶습니다.
그러나 로그인 한 후까지 PC가 인터넷에 연결되어 있지 않습니다 (5-10 초 이상).
이를 위해 어떻게 설정할 수 있습니까?
이것은 NTP에서 수행되며 instructions 를 사용할 수 있습니다. 기본적으로 NTP 데몬을 설치해야합니다. 몇 가지 선택 사항이 있지만 "표준"항목은 ntp
패키지에 있습니다. 링크 된 페이지의 지침에 따라
Sudo apt-get install ntp
ubuntu의 NTP 서버와 동기화하도록 설정된 모든 것을 얻습니다.
EDIT : "시작할 때"가 빠졌습니다. 일반적으로 ntpd를 사용하여 시스템과 서버 간의 지속적인 동기화를 얻는 것이 좋지만 실제로 한 번만 동기화하려는 경우 mfisch의 답변이 원하는 것 같습니다.
"시스템-> 관리-> 시간 및 날짜"로 이동하면 날짜/시간을 설정하는 GUI가 나타납니다.
시간 서버를 사용하기위한 옵션이 제공됩니다. 확인하고 NTP가 설치되어 있지 않은 경우 설치할 것인지 묻습니다. "예"를 클릭하고 작업을 수행하십시오. :)
at 및 ntpdate를 사용하여이 작업을 수행 할 수 있습니다. at가 이미 설치되어 있지만 ntpdate이 아닐 수도 있습니다. (apt-get install ntpdate).
먼저 ntpdate를 실행하는 작은 스크립트를 작성하고 update_time.sh라고합니다.
#!/bin/bash
ntpdate pool.ntp.org
.bash_login 파일 (생성해야 할 수도 있음)에 다음을 추가하십시오.
at -f ~/update_time.sh now + 1 minute
그것은 당신이 원하는 것을해야합니다. at가 사용하는 지연 시간을 5 분, 10 분 등으로 변경할 수 있습니다.
편집 : 방금 ntpdate
을 (를) 실행하려면 루트 권한이 필요하다는 것을 깨달았습니다. 위에서 언급 한 update_time.sh 스크립트에서 SUID 비트를 설정해야합니다. 명령에서이를 실행하면됩니다 (한 번만 실행하면 됨).
Sudo chmod 4711 update_time.sh
Sudo chown root update_time.sh
우분투 16.04 이후 timedatectl/timesyncd (systemd의 일부)는 ntpdate/ntp의 대부분을 대체합니다. 시간 동기화 를 참조하십시오.
다음을 사용하여 시간 동기화를 활성화해야 할 수도 있습니다.
$ Sudo timedatectl set-ntp on
Chrony를 사용하려는 경우 :
원샷 동기화가 필요한 경우 : $ chronyd -q
시간을 설정하지 않고 원샷 시간 확인이 필요한 경우 $ chronyd -Q
지속적인 동기화를 위해 권장되는 솔루션은 다음과 같습니다.
크로 니 (d)
NTP 데몬 chronyd는 시스템 클록의 드리프트 및 오프셋을 계산하고이를 지속적으로 조정하므로 예를 들어 로그가 일치하지 않는 큰 수정 사항이 없습니다. 비용은 약간의 처리 능력과 메모리이지만 현대 서버에서는 일반적으로 무시할 수 있습니다. 설치
Chrony를 설치하려면 터미널 프롬프트에서 다음을 입력하십시오.
$ Sudo apt install chrony
활성화해야 할 수도 있습니다
Sudo timedatectl set-ntp 켜기
Update : 위의 방법으로 문제가 해결되지 않으면 cron 작업이 $ chronyd -q