Problemas de hora e fuso horário no Raspberry Pi

14

Eu tenho um Raspberry Pi que estava usando no fuso horário da EST . Ele tinha um serviço NTP instalado ( sudo apt-get install ntp) e o Raspberry Pi foi definido no fuso horário UTC. A data no Raspberry Pi estava correta, até eu levar o Raspberry Pi ao fuso horário do Pacífico (PT). Quando eu iniciei o Raspberry Pi, a hora UTC no Raspberry Pi estava muito atrasada (atrasada em 9 horas) e o NTP simplesmente não sincroniza para obter a hora UTC correta. O Raspberry Pi está conectado à Internet via Ethernet.

Eu tentei reiniciar o Raspberry Pi várias vezes. Além disso, tentei remover o serviço NTP e instalar o OpenNTPD . O que poderia estar acontecendo?

Estou usando o Raspberry Pi 3 com o Raspbian Jessie .

Ninja
fonte
1
Depois de conseguir os fusos horários descobri, certifique-se de definir o seu Pi para obter a hora correta do Master Clock no National Bureau of Standards: raspberrypi.stackexchange.com/questions/68811/...
SDsolar

Respostas:

18

Aqui estão algumas sugestões.

  1. Use o raspi-configutilitário para redefinir o fuso horário, mesmo que você já tenha usado uma ferramenta diferente para defini-lo.

    sudo raspi-config
    
  2. Defina manualmente o horário para ser um pouco preciso. Às vezes, o NTP não é atualizado se a hora / data estiver muito errada.

    sudo date -s "01/04/2017 11:00"
    
  3. Forçar manualmente a atualização do tempo:

    sudo systemctl stop ntp.service
    sudo ntpd -gqc /etc/ntpd.conf
    sudo systemctl start ntp.service
    
  4. Verifique se você não está bloqueando a porta UDP 123.

Boa sorte!

FlippingBinary
fonte
7

Em muitos sistemas Linux, o relógio registra o tempo no UTC . Devido à falta de tempo do Raspberry Pi, é inteligente instalar e configurar corretamente um serviço para ajudar com o tempo, como ntp.

Isso é ainda mais complicado pelo fato de o Raspberry Pi não ter como manter o tempo desligado / sem energia. Isso significa que, quando o Raspberry Pi reiniciar, seu tempo será dessincronizado.

Quando você usa comandos como date, que consulta por tempo, eles levam em consideração o seu código do idioma . Isso significa que dateusará o deslocamento do fuso horário da sua localidade para determinar a hora local. Ao digitar date, você verá qual fuso horário está sendo exibido:

date
Wed Jan  4 11:01:44 PST 2017

Se você não definir seu código de idioma corretamente ou usar o -usinalizador, verá:

date -u
Wed Jan  4 19:01:45 UTC 2017

Quando você está comparando a hora e diz que está desativada por 6 horas, você está comparando a hora UTC com a hora atual UTC ou comparando a hora UTC com a hora no seu fuso horário?

Ao digitar date, o fuso horário é exibido? Caso contrário, você deve configurar isso:

sudo dpkg-reconfigure tzdata # Select timezone
earthmeLon
fonte
1

Resolvi esse problema definindo o horário manualmente timedatectl, usando o seguinte:

sudo timedatectl set-time 'yyyy-mm-dd hh-mm'
Sameer Patel
fonte