O meu já faz isso fora da caixa. O que você está usando?
Gerben
Raspbian Wheezy
Alessandro Da Rugna
funciona como está, de alguma forma #
1111
11
O @Thorb Pi está conectado ao cabo Ethernet / dhcp. Ele simplesmente não ter uma data válida após a inicialização, leva um tempo (10 a 45 minutos)
Alessandro Da Rugna
11
Isso será feito automaticamente após alguns minutos. Certifique-se de configurá-lo para usar o Master Clock no National Bureau of Standards, time.nist.gov, conforme descrito aqui: raspberrypi.stackexchange.com/questions/68811/…
SDsolar
Respostas:
40
Faça um apt-get install ntpdate.
ntpdatefuncionará quando uma interface Ethernet for ativada e definirá o horário de um servidor ntp (consulte /etc/default/ntpdate).
Se ntpdestiver em execução, o ntpdate não fará nada, no entanto, ntpdateserá executado antes ntpdda inicialização - portanto, isso deve funcionar para definir o tempo de inicialização, desde que haja uma conexão Ethernet.
Essa foi absolutamente a solução para o meu problema, mas achei que era temporário até a reinicialização. Eventualmente, percebi um erro no desligamento que não conseguia atualizar o hwclock porque o relógio hw tinha uma data futura (não faço ideia do que aconteceu). Mas a solução foi uma força de atualização do hwclock. Isso forçou a atualização do relógio de hardware falso e, na inicialização, o tempo foi pelo menos próximo do atual, para que o ntp pudesse fazer seu trabalho normalmente.
precisa saber é o seguinte
34
Depois de pesquisar, esse método funcionou para mim. Como você sabe, o Raspberry Pi 3 tem o NTP desativado por padrão. Então, basta digitar isso, o suporte NTP será ativado:
sudo timedatectl set-ntp True
Verifique o resultado com timedatectl status
Em caso de aviso, talvez você precise executar sudo timedatectl set-local-rtc truetambém.
Obrigado, isso finalmente me ajudou, e parece ser o caminho certo, apesar das respostas anteriores.
precisa
11
Essa é a melhor resposta, me ajudou muito. Você pode usar 'sudo' para evitar digitar sua senha (útil para scripts que a executam). Qual é o objetivo do comando segundos? set-local-rtc
Arad
12
Se você definir o fuso horário no raspi-configRaspberry Pi atualizará automaticamente o horário na inicialização, se estiver conectado à Internet.
O ntpd emite pacotes IP / UDP com o campo ToS definido como 0xc0. Isso é bem parecido com o outro problema que eu (e muitos outros) tenho com o Raspberry Pi3 quando operado por uma interface interna Wi-Fi.
O Rasberry Pi do meu filho não atualizava o tempo fora da caixa e, depois de tentar todas as sugestões acima, era possível atualizar manualmente, mas não automaticamente. Finalmente, depois de procurar em outro lugar também sem sucesso, descobri que o arquivo ntp.conf que acompanha o Rasberry Pi tinha as seguintes linhas comentadas:
#restrict 127.0.0.1
#restrict ::1
eu usei
sudo nano /etc/ntp.conf
no terminal para editar o arquivo conf ntp agora:
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
Isso resolveu o problema para nós. É atualizado com o cabo WiFi e ethernet. Não sei se ele seria atualizado com o WiFi sem a alteração para rc.local sugerida acima, pois quando encontrei a solução acima, eu já havia feito essa alteração e não a desfazi.
Encontrei o timedatectlaplicativo para me ajudar quando estava tendo um problema semelhante. Ele é instalado por padrão e o '--help' fornece uma visão geral bastante boa e simples de como usar a ferramenta.
Nota: verifique se o fuso horário está definido corretamente, o que esta ferramenta também pode fazer.
Essa é a abordagem que acabei adotando. Muitas dessas respostas pareciam indicar coisas que simplesmente não saíram quando olhei para o meu sistema Raspian:
Eu não tinha nada que aparecesse nos logs indicando que timedatectlestava fazendo alguma coisa, ou que ntpestava sincronizando no estado ativo da NIC, ou que o NTPD estava instalado / configurado.
No final, eu apenas adicionei isso ao meu /etc/rc.local:
$ cat /etc/rc.local
logger "Beginning force syncing NTP..."
service ntp stop
ntpd -gq
service ntp start
logger "Finished force syncing NTP..."
E instalado ntp:
$ sudo apt-get install ntp
O que resulta em /var/log/syslog:
Aug 5 09:10:20 pi-hole ntp[526]: Starting NTP server: ntpd.
Aug 5 09:10:20 pi-hole ntpd[555]: proto: precision = 1.458 usec (-19)
Aug 5 09:10:20 pi-hole ntpd[555]: Listen and drop on 0 v6wildcard [::]:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 2 lo 127.0.0.1:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 3 eth0 192.168.1.85:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 4 lo [::1]:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123
Aug 5 09:10:20 pi-hole ntpd[555]: Listening on routing socket on fd #22 for interface updates
Aug 5 09:10:21 pi-hole ntpd[555]: ntpd exiting on signal 15 (Terminated)
Aug 5 09:10:21 pi-hole ntp[661]: Stopping NTP server: ntpd.
Aug 5 09:10:21 pi-hole ntpd[674]: ntpd [email protected] Sat Mar 10 18:03:33 UTC 2018 (1): Starting
Aug 5 09:10:21 pi-hole ntpd[674]: Command line: ntpd -gq
Aug 5 09:10:21 pi-hole ntpd[674]: proto: precision = 0.625 usec (-21)
Aug 5 09:10:21 pi-hole ntpd[674]: Listen and drop on 0 v6wildcard [::]:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 2 lo 127.0.0.1:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 3 eth0 192.168.1.85:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 4 lo [::1]:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123
Aug 5 09:10:21 pi-hole ntpd[674]: Listening on routing socket on fd #22 for interface updates
Aug 5 09:10:34 pi-hole ntpd[674]: Soliciting pool server 198.98.57.16
Aug 5 09:10:35 pi-hole ntpd[674]: Soliciting pool server 74.82.59.149
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 23.131.160.7
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 52.37.26.163
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 204.2.134.163
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 96.126.100.203
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 199.223.248.101
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 66.228.42.59
Aug 5 09:10:36 pi-hole ntpd[674]: Soliciting pool server 208.75.89.4
Aug 5 09:10:37 pi-hole ntpd[674]: Soliciting pool server 204.2.134.164
Aug 5 09:10:37 pi-hole ntpd[674]: Soliciting pool server 104.236.116.147
Aug 5 09:10:38 pi-hole ntpd[674]: Soliciting pool server 204.9.54.119
Aug 5 09:10:48 pi-hole ntpd[674]: ntpd: time set +6.769186 s
Aug 5 09:10:49 pi-hole ntpd[853]: ntpd [email protected] Sat Mar 10 18:03:33 UTC 2018 (1): Starting
Aug 5 09:10:49 pi-hole ntpd[853]: Command line: /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 111:114
Aug 5 09:10:49 pi-hole ntp[844]: Starting NTP server: ntpd.
Aug 5 09:10:49 pi-hole ntpd[856]: proto: precision = 0.625 usec (-21)
Aug 5 09:10:49 pi-hole ntpd[856]: Listen and drop on 0 v6wildcard [::]:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 2 lo 127.0.0.1:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 3 eth0 192.168.1.85:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 4 lo [::1]:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listen normally on 5 eth0 [fe80::f5ea:7663:4ec:784d%2]:123
Aug 5 09:10:49 pi-hole ntpd[856]: Listening on routing socket on fd #22 for interface updates
Aug 5 09:10:49 pi-hole root: Finished force syncing NTP...
Não funciona no mínimo raspbian: Failed to start ntp.service: Unit ntp.service not found.E o ntpd também não existe. O Pi definitivamente ganha tempo. (Eu estou olhando para isso porque meus cachos HTTPS falhar sem -k quando executado antes disso)
Steven Lu
@StevenLu - vou atualizar o A'er para incluir a instalação do ntp também.
Slm
@StevenLu -apt-get install ntp
slm
1
Você não precisa usar o ntp para resolver o problema. Há um script que lê a data de um servidor e você só precisa definir a data para ser o resultado desse script (seu Raspberry Pi precisa estar conectado à Internet). Em seguida, você precisa executar esse comando na inicialização.
Respostas:
Faça um
apt-get install ntpdate
.ntpdate
funcionará quando uma interface Ethernet for ativada e definirá o horário de um servidor ntp (consulte/etc/default/ntpdate
).Se
ntpd
estiver em execução, o ntpdate não fará nada, no entanto,ntpdate
será executado antesntpd
da inicialização - portanto, isso deve funcionar para definir o tempo de inicialização, desde que haja uma conexão Ethernet.fonte
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
também não tinha.Se o relógio estiver muito lento, talvez você precise forçar a sincronização do ntp fazendo:
fonte
Depois de pesquisar, esse método funcionou para mim. Como você sabe, o Raspberry Pi 3 tem o NTP desativado por padrão. Então, basta digitar isso, o suporte NTP será ativado:
Verifique o resultado com
timedatectl status
Em caso de aviso, talvez você precise executar
sudo timedatectl set-local-rtc true
também.fonte
Se você definir o fuso horário no
raspi-config
Raspberry Pi atualizará automaticamente o horário na inicialização, se estiver conectado à Internet.sudo raspi-config
Internationalisation Options
I2 Change Timezone
Finish
Yes
para reiniciar agorafonte
I2 Change Timezone
opção não existe maisVer postagem no fórum O tempo não é sincronizado no Pi 3 e com o dongle oficial .
O ntpd emite pacotes IP / UDP com o campo ToS definido como 0xc0. Isso é bem parecido com o outro problema que eu (e muitos outros) tenho com o Raspberry Pi3 quando operado por uma interface interna Wi-Fi.
Como solução alternativa, adicione o comando
para o arquivo
antes da linha de saída 0. Em seguida, reinicie e verifique.
fonte
Já deve estar atualizando a hora. O servidor NTPD deve iniciar logo após o arquivo de troca e antes do SSHD.
Verifique seu arquivo /etc/ntp.conf para garantir que ele esteja configurado.
Ele deve listar pelo menos um servidor. Eu uso o time.nrc.ca no meu servidor.
A página de manual do ntp.conf está aqui: http://linux.die.net/man/5/ntp.conf
fonte
O Rasberry Pi do meu filho não atualizava o tempo fora da caixa e, depois de tentar todas as sugestões acima, era possível atualizar manualmente, mas não automaticamente. Finalmente, depois de procurar em outro lugar também sem sucesso, descobri que o arquivo ntp.conf que acompanha o Rasberry Pi tinha as seguintes linhas comentadas:
eu usei
no terminal para editar o arquivo conf ntp agora:
Isso resolveu o problema para nós. É atualizado com o cabo WiFi e ethernet. Não sei se ele seria atualizado com o WiFi sem a alteração para rc.local sugerida acima, pois quando encontrei a solução acima, eu já havia feito essa alteração e não a desfazi.
fonte
Encontrei o
timedatectl
aplicativo para me ajudar quando estava tendo um problema semelhante. Ele é instalado por padrão e o '--help' fornece uma visão geral bastante boa e simples de como usar a ferramenta.Nota: verifique se o fuso horário está definido corretamente, o que esta ferramenta também pode fazer.
fonte
Essa é a abordagem que acabei adotando. Muitas dessas respostas pareciam indicar coisas que simplesmente não saíram quando olhei para o meu sistema Raspian:
Eu não tinha nada que aparecesse nos logs indicando que
timedatectl
estava fazendo alguma coisa, ou quentp
estava sincronizando no estado ativo da NIC, ou que o NTPD estava instalado / configurado.No final, eu apenas adicionei isso ao meu
/etc/rc.local
:E instalado
ntp
:O que resulta em
/var/log/syslog
:fonte
Failed to start ntp.service: Unit ntp.service not found.
E o ntpd também não existe. O Pi definitivamente ganha tempo. (Eu estou olhando para isso porque meus cachos HTTPS falhar sem -k quando executado antes disso)apt-get install ntp
Você não precisa usar o ntp para resolver o problema. Há um script que lê a data de um servidor e você só precisa definir a data para ser o resultado desse script (seu Raspberry Pi precisa estar conectado à Internet). Em seguida, você precisa executar esse comando na inicialização.
Etapa 1: recuperar a data de um servidor.
Etapa 2: execute o comando na inicialização adicionando-o ao arquivo
/etc/rc.local
(Trabalhado no Ubuntu 16.04).CRÉDITOS:
1- https://askubuntu.com/a/655528/572294
2- https://askubuntu.com/a/1199/572294
fonte
Eu uso o seguinte na imagem padrão para sincronizar o tempo sem instalar pacotes adicionais:
fonte