
我有一個 Debian Jessie Linux 系統,帶有內部 RTC 時鐘,用戶可以調整或更改。它可能會也可能不會連接到外部 IP,因此可能會也可能不會存取 NTP。我想在時鐘設定 UI 中提供一個選項「從 NTP 設定」(如果可用),但我不希望系統時鐘不斷從 NTP 更新。
- 如何將 ntpd 配置為活動狀態,但不更新系統時鐘?
- 如何讀取並顯示“ntp 時間”(將與系統時鐘一起顯示)? (C 或 Python 都可以)
答案1
避免 NTP 更新系統時鐘最簡單的解決方案是不要運行它。
相反,使用諸如ntpdate
按需之類的方式來詢問潛在的遠端 NTP 伺服器您的本地時鐘有多麼錯誤。
ntpdate -qu 0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org
server 212.47.239.163, stratum 2, offset 0.000638, delay 0.03052
server 92.243.6.5, stratum 3, offset -0.001490, delay 0.03011
...
4 Oct 00:00:55 ntpdate[10962]: adjust time server 91.121.167.54 offset -0.000156 sec
在此模式下,ntpdate
甚至不需要以 root 身分執行,因此您可以確保不會「意外」更新本機時鐘。
順便說一句,您是否知道它ntpd
可以處理與上游時間伺服器的斷開連接,並且讓守護程序長時間運行可以幫助最大限度地減少大多數系統時鐘固有的漂移?