Estou executando o Ubuntu em um sistema embarcado baseado em ARM que não possui um RTC com bateria. O tempo de Despertar está em algum lugar durante 1970. Assim, eu uso o serviço NTP para atualizar a hora para a hora atual.
Eu adicionei a seguinte linha para /etc/rc.local
arquivo:
sudo ntpdate -s time.nist.gov
No entanto, após a inicialização, ainda leva alguns minutos até que o tempo seja atualizado, durante o qual não consigo trabalhar de forma eficaz tar
e make
.
Como posso forçar uma atualização de relógio a qualquer momento?
Atualização 1: O seguinte (graças a Eric e Stephan) funciona bem na linha de comando, mas não atualiza o relógio quando colocado /etc/rc.local
:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; dateThu 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 a fazer de errado?
Atualização 2: Tentei seguir as poucas sugestões que vieram em resposta à 1ª atualização, mas nada parece realmente fazer o trabalho conforme necessário. Aqui está o que eu tentei:
- Substitua o servidor para
us.pool.ntp.org
- Use caminhos explícitos para os programas
- Remover o
ntp
serviço completamente e sair apenassudo ntpdate ...
emrc.local
- Remover o
sudo
do comando acima emrc.local
Usando o acima, a máquina ainda começa em 1970. No entanto, ao fazer isso a partir da linha de comando, uma vez logado (via ssh
), o relógio é atualizado assim que invoco ntpdate
.
A última coisa que fiz foi remover isso de rc.local
e faça uma chamada para ntpdate
no meu .bashrc
arquivo. Isso atualiza o relógio conforme o esperado e recebo a hora atual verdadeira assim que o prompt de comando estiver disponível.
Entanto, isso significa que, se a máquina estiver ligada e nenhum usuário estiver conectado, o tempo nunca receberá atualizações. Eu posso, é claro, reinstalar o ntp
serviço então, pelo menos, o relógio é atualizado dentro de alguns minutos a partir da inicialização, mas então estamos de volta ao quadrado 1.
Então, há uma razão pela qual colocar o ntpdate
comando em rc.local
não executa a tarefa necessária, ao fazê-lo em .bashrc
funciona bem?