Como posso manter a hora do sistema?

42

Eu sei que o Raspberry Pi não vem com um relógio do sistema para economizar dinheiro. Como posso manter a hora do sistema?

ACarter
fonte

Respostas:

41

Solução de Software

O método mais popular de manter a hora do sistema é por meio do Network Time Protocol daemon (NTPd).

NTPd é o método mais comum para sincronizar o relógio do software de um sistema GNU / Linux com servidores de horário da Internet usando o Network Time Protocol.

O NTPd já deve estar instalado e configurado no sistema operacional padrão, o Debian Squeeze. Você precisará instalar e configurá-lo manualmente para o Arch Linux.

Primeiro você deve instalar o NTP.

$ sudo pacman -S ntp

Agora você pode atualizá-lo manualmente através da linha de comando.

$ sudo ntpd -qg

Ou você pode adicioná-lo à lista de daemons na inicialização, adicionando-o ao seu /etc/rc.confarquivo. Igual a.

# /etc/rc.conf
DAEMONS=(!hwclock ntpd)

Observe que você precisa desativá- hwclocklo precedendo-o com um ponto de exclamação ( !) na lista de daemons.


Protip from mlp : Se você adicionar ntpdateà sua lista de daemons, o tempo será corrigido após a inicialização muito mais rápido. Portanto, sua lista de daemons ficaria assim.

# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)
Comunidade
fonte
O ntpdate está obsoleto: support.ntp.org/bin/view/Dev/DeprecatingNtpdate
Gergely Fehérvári
1
O /etc/rc.conf também está obsoleto.
21813 Rubenvb
1
se /etc/rc.conf estiver obsoleto, qual é a alternativa? É exatamente disso que eu preciso.
Jonathan S. Fisher
1
@exabrial systemctl enable ntpd.serviceé semelhante a adicionar a /etc/rc.conf.
Lekensteyn
As novas instalações permitem que você economize tempo em uma variedade de fontes que podem ser muitos saltos no relógio principal. Para obter detalhes e o motivo pelo qual você deve alterá-lo para time.nist.gov, consulte estas perguntas e respostas: raspberrypi.stackexchange.com/questions/68811/…
SDsolar
16

Solução de Hardware

Se você deseja garantir que a hora no RPi esteja sempre correta ou deseje manter a hora sem uma conexão de rede, será necessário comprar uma placa de expansão com um Real Time Clock (RTC): há pelo menos uma disponível e pelo menos um em desenvolvimento.

Placas de expansão RTC disponíveis

Placas de Expansão RTC em Desenvolvimento

Alex Chamberlain
fonte
3

Para aplicativos que não estão em rede (ou onde o tempo da rede pode não ser bom o suficiente), você pode definir o relógio RTC (resposta de @Alex Chamberlain) com o tempo derivado de um receptor GPS ou VLF (no noroeste da Europa, isso seria Rugby MSF) . Ambos podem ser excelentes soluções para dispositivos implantados em campo (robôs, monitoramento de campo etc.).

Ambas as soluções também seriam bons projetos de hobby. Lembro-me de construir um receptor de Rugby MSF nos anos 80. Um receptor GPS pronto para uso ("puck") forneceria a hora e a data nas sentenças NMEA 0183 - seria então um projeto de codificação simples para extrair essas informações.

winwaed
fonte
1
Por interesse, o sinal horário de MSF agora é transmitido da Estação de Rádio Anthorn em Cumbria, não do Rugby.
tomfanning
1
Não morando no Reino Unido no momento, não conduzo o M1 há um tempo: eles derrubaram a 'floresta'? (Suponho que os mastros próximos naval em Daventry ainda estão lá)
Winwaed
Não tenho certeza - estou do lado errado do país para o M1. No entanto, a Estação de Rádio Rugby parece ter parado de estar ativa em meados de 2007, de acordo com a en.wikipedia.org/wiki/Rugby_Radio_Station - com referências à demolição, incluindo uma foto. E há um vídeo aqui: youtube.com/watch?v=bx2lhSUuGqU . No entanto, existem mastros ainda visível no Google Street View, que estou bastante certo é as imagens mais recentes de 2007.
tomfanning
E olhando na Wikipedia, não há menção a mastros "navais" em Daventry, portanto devo estar enganado - apenas um transmissor muito antigo (agora desmontado) do Império. Então agora o drive M1 é ainda mais chato!
Winweed
3

Instale o daemon NTP no Arch Linux com systemd:

sudo pacman -S ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd

Verifique também se o seu fuso horário está definido corretamente, no meu caso:

sudo rm /etc/localtime
sudo ln -s  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
tjoe
fonte
0

Se você não deseja que o NTP esteja em execução no sistema o tempo todo, use uma das poucas opções diferentes para definir o horário:

  • ntpdate - Uma vez instalado, ele configura o sistema para obter o horário em que qualquer interface é exibida (embora 'obsoleta' ainda seja amplamente usada).
  • rdate - abordagem de peso mais simples e mais leve, embora um pouco menos precisa.
  • tlsdate - Uma opção mais segura que usa um servidor TLS / SSL como fonte de tempo.

Obviamente, seu relógio não será tão preciso quanto o uso de NTP, pois todos os relógios são desviados e, também, como esses aplicativos usam apenas uma única fonte de tempo, eles podem resultar na definição da hora incorreta se a fonte escolhida tiver um problema.

Pierz
fonte