Questão Por que o systemd não está configurando o tempo do meu sistema?


Estou executando o Arch Linux. Recentemente, quando ligo o meu PC, a hora do sistema é definida para 1:00 1 de janeiro de 1970 - presumivelmente, a 1:00 horas é da mudança de fuso horário.

Alguém tem alguma idéia porque systemd não está definindo o horário do meu sistema corretamente?

Alguma saída útil (eu acho) ...

[root@alex-desktop network.d]# timedatectl status
      Local time: Sun 2013-06-09 16:33:04 BST
  Universal time: Sun 2013-06-09 15:33:04 UTC
        RTC time: Sun 2013-06-09 15:18:50
        Timezone: Europe/London (BST, +0100)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2013-03-31 00:59:59 GMT
                  Sun 2013-03-31 02:00:00 BST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2013-10-27 01:59:59 BST
                  Sun 2013-10-27 01:00:00 GMT

1


origem


Então, quem está relatando a hora errada? O que você está mostrando é a data correta. - terdon
Eu realmente não entendo seu problema. De acordo com timedatectl status comando tudo parece bem. O tempo de reposição ocorre a cada reinicialização? - Nicolas
Eu postei o comando depois que eu consertei ... opa. A hora do sistema está errada após cada reinicialização. - Alex Chamberlain


Respostas:


Eu tive um problema semelhante com um Raspberry Pi (que pelo visto não tem RTC), então ou você está usando um dispositivo similar que também não tem um (improvável), ou seu computador é um pouco mais velho e a bateria do RTC, também conhecida como Bateria do CMOS correu plana.

De acordo com teu timedatectl status você já tem o NTP ativado, que deve consultar um servidor de horário e definir o horário para você. No entanto, isso parece não funcionar se você não estiver conectado à Internet quando a hora estiver definida quando você inicializar o computador, o que pode acontecer se você estiver usando a WLAN e levar muito tempo para se conectar.

No final, minha solução foi adicionar um trabalho cron para raiz (su -c "crontab -e") para correr ntpd -s uma vez por minuto para forçar a verificação da hora, assim:

# sync network time every minute (this is sad)
* * * * *               ntpd -s

Problema resolvido.

O ntpd página de manual do ntpd.conf menciona um minpoll opção que supostamente pode ser usada para fazer o ntpd checar com a mesma freqüência de 8 segundos. Isso é obviamente mais de 9 mil vezes melhor e atualizarei minha resposta se isso funcionar como esperado.


0