
Eu tenho um sistema Debian Jessie Linux com um relógio RTC interno que o usuário pode ajustar ou alterar. Ele pode ou não estar conectado a um IP externo e, portanto, pode ou não ter acesso ao NTP. Gostaria de fornecer uma opção na interface de configuração do relógio para "definir a partir do NTP", se estiver disponível, mas não quero que o relógio do sistema seja constantemente atualizado a partir do NTP.
- Como posso configurar o ntpd para estar ativo, mas não atualizar o relógio do sistema?
- Como posso ler e exibir o 'horário NTP' (que será mostrado junto com o relógio do sistema)? (C ou Python está bem)
Responder1
A solução mais fácil para evitar que o NTP atualize o relógio do sistema é não executá-lo.
Em vez disso, use algo como ntpdate
sob demanda, para perguntar aos possíveis servidores NTP remotos o quão errado está o seu relógio local.
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
Neste modo ntpdate
nem precisa ser executado como root, então você pode ter certeza de que não há chance de atualizar "acidentalmente" seu relógio local.
A propósito, você está ciente de que ntpd
pode lidar com a desconexão de seus servidores de horário upstream e que ter o daemon em execução por um longo período de tempo pode ajudar a minimizar o desvio inerente à maioria dos relógios do sistema?