Estou executando o Ubuntu em um sistema embarcado baseado em ARM que não possui um RTC suportado por bateria. O horário de despertar está em algum lugar durante 1970. Assim, eu uso o serviço NTP para atualizar o horário atual.
Eu adicionei a seguinte linha ao arquivo /etc/rc.local :
sudo ntpdate -s time.nist.gov
No entanto, após a inicialização, ainda leva alguns minutos até que a hora seja atualizada, período durante o qual não posso trabalhar com tar e make .
Como posso forçar uma atualização de relógio a qualquer momento?
UPDATE 1: O seguinte (graças a Eric e Stephan) funciona bem na linha de comando, mas não atualiza o relógio quando colocado em /etc/rc.local :
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu Jan 1 00:00:58 UTC 1970
* Stopping NTP server ntpd [ OK ]
* Starting NTP server [ OK ]
Thu Feb 14 18:52:21 UTC 2013
O que estou fazendo de errado?
UPDATE 2: Eu tentei seguir as poucas sugestões que vieram em resposta à primeira atualização, mas nada parece realmente fazer o trabalho conforme necessário. Aqui está o que eu tentei:
- Substitua o servidor por
us.pool.ntp.org
- Use caminhos explícitos para os programas
- Remova o serviço
ntp e deixe apenas sudo ntpdate ... em rc.local
- Remova o
sudo do comando acima em rc.local
Usando o acima, a máquina ainda inicia em 1970. No entanto, ao fazer isso a partir da linha de comando, uma vez logado (via ssh ), o relógio é atualizado assim que eu invoco ntpdate .
A última coisa que fiz foi remover isso de rc.local e fazer uma chamada para ntpdate no meu arquivo .bashrc . Isso atualiza o relógio conforme o esperado, e eu recebo a verdadeira hora atual assim que o prompt de comando estiver disponível.
No entanto , isso significa que, se a máquina estiver ligada e nenhum usuário estiver logado, a hora nunca receberá atualizações. É claro que posso reinstalar o serviço ntp , de modo que, pelo menos, o relógio seja atualizado em poucos minutos após a inicialização, mas voltamos ao ponto 1.
Portanto, há uma razão pela qual colocar o comando ntpdate em rc.local não executa a tarefa necessária, enquanto isso em .bashrc funciona bem?