Estou executando o Ubuntu em um sistema embarcado baseado em ARM que não possui um RTC com bateria. A hora do despertar está em algum lugar durante 1970. Portanto, eu uso o serviço NTP para atualizar a hora para a hora atual.
Adicionei a seguinte linha ao /etc/rc.local
arquivo:
sudo ntpdate -s time.nist.gov
No entanto, após a inicialização, ainda leva alguns minutos até que o horário seja atualizado, período durante o qual não posso trabalhar efetivamente com tar
e make
.
Como forçar uma atualização do relógio a qualquer momento?
ATUALIZAÇÃO 1: O seguinte (graças a Eric e Stephan) funciona bem na linha de comando, mas falha ao atualizar o relógio quando colocado /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 errado?
ATUALIZAÇÃO 2: Tentei seguir as poucas sugestões fornecidas 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
- Remova o
ntp
serviço completamente e deixar apenassudo ntpdate ...
emrc.local
- Remova o
sudo
comando acima emrc.local
Usando o exposto acima, a máquina ainda inicia em 1970. No entanto, ao fazer isso na linha de comando, uma vez logado (via ssh
), o relógio é atualizado assim que eu chamar ntpdate
.
A última coisa que fiz foi remover isso rc.local
e fazer uma chamada ntpdate
no meu .bashrc
arquivo. Isso atualiza o relógio conforme o esperado e recebo a hora atual verdadeira quando o prompt de comando estiver disponível.
No entanto , isso significa que, se a máquina estiver ligada e nenhum usuário estiver conectado, o tempo nunca será atualizado. É claro que posso reinstalar o ntp
serviço para que pelo menos o relógio seja atualizado dentro de alguns minutos da inicialização, mas voltamos ao ponto 1.
Portanto, existe uma razão pela qual inserir o ntpdate
comando rc.local
não executa a tarefa necessária, enquanto isso .bashrc
funciona bem?
sudo
nos arquivos /etc/rc.locale. Eles já estão sendo executados como root.
timedatectl
, mas askubuntu.com/questions/832646/…
ntpdate -s ntp.ubuntu.com
[1]: askubuntu.com/a/81301/130162