O Raspberry Pi não tem um relógio de hardware. Como faço para forçar o NTPD a atualizar a data / hora imediatamente após cada inicialização?

Estou executando o Raspbian e o Raspberry Pi está conectado usando um cabo Ethernet .

Comentários

  • O meu já faz isso fora do .Qual Disto você está usando?
  • Raspbian Wheezy
  • @Thorb Pi está conectado com cabo Ethernet / dhcp. Ele simplesmente não obtém uma data válida após a inicialização, leva um tempo (10 a 45 minutos)
  • Ele fará isso automaticamente, após alguns minutos. Certifique-se de configurá-lo para usar o Relógio principal no National Bureau of Standards, time.nist.gov, conforme descrito aqui: raspberrypi.stackexchange.com/questions/68811/…
  • Parece que não alguém ainda respondeu a esta questão de forma satisfatória – ou seja, como sincronizar o tempo via NTP após uma inicialização (ou seja, sem reinicializar).

Resposta

Depois procurando ao redor, esse método funcionou para mim. Como você sabe, o Raspberry Pi 3 tem o NTP desabilitado por padrão. Então, apenas digitando isso, o suporte NTP será habilitado:

sudo timedatectl set-ntp True 

Verifique o resultado com timedatectl status

Em caso de aviso, você pode ter que executar sudo timedatectl set-local-rtc true também.

Comentários

  • Obrigado, isso finalmente me ajudou, e parece ser o caminho certo, apesar das respostas anteriores.
  • Essa é a melhor resposta, me ajudou muito. Você pode usar ‘ sudo ‘ para evitar digitar sua senha (útil para scripts que a executam). Qual é o propósito do comando de segundos? set-local-rtc

Resposta

Faça um apt-get install ntpdate .

ntpdate será executado quando uma interface Ethernet for ativada e definirá a hora de um servidor ntp (consulte /etc/default/ntpdate).

Se ntpd estiver em execução, ntpdate não fará nada, mas ntpdate será executado antes de ntpd na inicialização – então isso deve funcionar para definir o tempo na inicialização, desde que haja uma conexão Ethernet.

Comentários

  • o estoque Raspbian já terá tudo isso.
  • @scruss mine didn ‘ t. (09/02/2013 wheezy rasbian)
  • O meu também não, tive que fazer manualmente.
  • Se estiver configurado corretamente, fará automaticamente – embora possa levar alguns minutos.
  • Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux não ‘ não o tinha também.

Resposta

Se o seu relógio estiver muito atrasado, pode ser necessário forçar a sincronização do ntp, fazendo:

sudo /etc/init.d/ntp stop sudo ntpd -q -g sudo /etc/init.d/ntp start 

Comentários

  • Retorna o erro ” sudo: ntpd: comando não encontrado ”
  • ntpd deve ser instalado para usar o comando
  • está instalado, não sou tão ignorante 🙂
  • Você poderia visitar raspberrypi.stackexchange.com/questions/47542/… ? Publiquei os detalhes lá.
  • Essa era absolutamente a solução para o meu problema, mas achei que seria temporário até reiniciar. Por fim, encontrei um erro no desligamento que não poderia ‘ atualizar o hwclock porque o hw clock tinha uma data futura (não tenho ideia de como isso aconteceu). Mas a solução foi uma força de atualização do hwclock. Isso forçou a atualização para o relógio de hardware falso e, em seguida, na inicialização, o tempo estava pelo menos próximo ao atual, então o ntp poderia fazer o trabalho ‘ normalmente.

Resposta

Se você definir o fuso horário em raspi-config, o Raspberry Pi atualizará automaticamente o tempo na inicialização, se conectado à Internet.

  1. sudo raspi-config
  2. Selecione Internationalisation Options
  3. Selecione I2 Change Timezone
  4. Selecione sua área geográfica
  5. Selecione sua cidade mais próxima
  6. Selecione Finish
  7. Selecione Yes para reiniciar agora

Comentários

  • funcionou bem para mim
  • I2 Change Timezone opção não ‘ não existe mais
  • Existe, pelo menos no Raspbian Buster.
  • ” Opções de internacionalização ” é agora chamado de ” Opções de localização ”
  • ” cidade mais próxima ” não é a maneira correta. você precisa selecionar a cidade a que pertence o seu fuso horário, que pode ser a mais próxima ou não …

Resposta

Veja a postagem do fórum Hora não sincroniza no Pi 3 e com o dongle oficial .

ntpd emite pacotes IP / UDP com o Campo ToS definido como 0xc0. Isso é bastante semelhante ao outro problema que eu (e muitos outros) tenho com o Raspberry Pi3 quando operado em uma interface interna de Wi-Fi.

Como alternativa, adicione o comando

/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00 

para o arquivo

/etc/rc.local 

antes da linha de saída 0. Em seguida, reinicie e verifique.

Comentários

  • Eu tive o mesmo problema que instalei o RPi3 que recebi para o XMas e você resolveu meu problema. Ótimo !!!

Resposta

Esta pergunta aparentemente está sendo ” reciclado ” por algum motivo, então parece apropriado reciclar algumas respostas antigas também 🙂

O ano agora é 2021 …

Esta pergunta foi feita em 2013. ntpd era o software de cronometragem incluído na distribuição Raspbian naquela época (wheezy) . No entanto, isso mudou com a distribuição stretch em 2017, quando systemd-timesyncd substituiu ntpd. As razões para essa mudança e algumas das compensações técnicas foram discutidas nesta velha resposta para aqueles que estão interessados em tais coisas.

Com relação à questão aqui, talvez o ponto mais saliente no ambiente atual (pós- systemd) é o seguinte: Se você decidir instalar ntpd em sua distribuição Raspbian atual, saiba que systemd-timesyncd irá ” fazer a coisa certa “! Ele verificará a presença de outros daemons NTP e ajustará seu comportamento de acordo; simplesmente funciona . Você pode ler tudo sobre isso digitando isto na linha de comando:

$ systemctl cat systemd-timesyncd 

Observe as últimas linhas:

# não execute o timesyncd se tivermos outro daemon NTP instalado
ConditionFileIsExecutable =! / usr / sbin / ntpd
ConditionFileIsExecutable =! / usr / sbin / openntpd
ConditionFileIsExecutable =! / Usr / sbin / chronyd
ConditionFileIsExecutable =! / Usr / sbin / VBoxService

Em outras palavras: systemd-timesyncd verifica se algum desses serviços alternativos de horário está sendo executado em seu sistema e, em caso afirmativo, ele educadamente os adere para fornecer seus serviços de cronometragem.

” force ” ntpd para atualizar após a inicialização ?!

Este era o OP “s pergunta. A resposta (em 2021) não mudou: Não deveria ser necessário fazer isso em qualquer sistema RPi – a menos que alguém tenha alterado a configuração padrão ! Você pode verificar isso da seguinte maneira:

 $ timedatectl Local time: Wed 2021-01-13 00:25:33 GMT Universal time: Wed 2021-01-13 00:25:33 UTC RTC time: n/a Time zone: Europe/London (GMT, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no  

Observe dois itens:

  1. System clock synchronized: yes
  2. NTP service: active

O item 1. informa que o relógio do sistema está sincronizado com qualquer fonte de tempo padrão e o item 2. é quase verdadeiro em que RPi usa o protocolo SNTP por padrão em vez de NTP ( REF ); ou seja, isso significa que RPi tem uma fonte de tempo e a está usando.

Acho que “é tudo o que” é necessário para um up-to- resposta de data para 2021 , exceto esta: leia man timedatectl para saber mais sobre seus recursos ou se TLDR esta página tiver um resumo decente.

Comentários

  • Relógio do sistema sincronizado: não
  • @Arrow_Raider: Yer ‘ ponto sendo ???

Resposta

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 ter certeza de que está configurado.

Ele deve listar pelo menos um servidor. Eu uso time.nrc.ca para meu servidor.

A página do manual para ntp.conf está aqui: http://linux.die.net/man/5/ntp.conf

Resposta

O Rasberry Pi do meu filho não atualizava o tempo fora da caixa e após tentar todas as sugestões acima eu poderia atualizá-lo manualmente, mas não automaticamente.Finalmente, depois de procurar em outro lugar também sem sucesso, descobri que o ntp.O arquivo conf que veio com 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 para agora ser:

# Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict ::1 

Isso resolveu o problema para nós. Ele se atualiza com o cabo WiFi e Ethernet. Não sei se atualizaria com WiFi sem a alteração para rc.local sugerida acima, pois quando encontrei a solução acima, já havia feito essa alteração e não a desfiz.

Resposta

Encontrei o aplicativo timedatectl para me ajudar quando eu estava tendo um problema semelhante. É instalado por padrão e “–help” oferece uma visão geral muito boa e simples de como usar a ferramenta.

Observação: certifique-se de que seu fuso horário esteja definido corretamente, o que esta ferramenta também pode fazer.

Resposta

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: Recupere a data de um servidor.

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d" " -f5-8)Z" 

Etapa 2: Execute o comando na inicialização adicionando-o ao arquivo /etc/rc.local (Funcionou no Ubuntu 16.04).

sudo gedit /etc/rc.local 

CRÉDITOS:

1- https://askubuntu.com/a/655528/572294

2- https://askubuntu.com/a/1199/572294

Comentários

  • Você pode não precisar usar ntp mas você deveria. É ‘ é melhor, mais rápido, mais preciso e o padrão da indústria. Não ‘ não invente suas próprias coisas estranhas quando existem bons padrões.
  • Não ‘ não ajuda muito se o seu RasPi estiver funcionando 24 horas por dia, 7 dias por semana.

Resposta

Eu tive um problema semelhante com um Pi não sincronizando . Nenhuma dessas soluções funcionou. Acontece que meu ambiente de rede estava bloqueando a porta NTP (123). A solução para mim foi

sudo apt install htpdate 

tirada de: https://www.raspberrypi.org/forums/viewtopic.php?t=222236

O que atualiza o relógio do sistema por meio de chamadas HTTP.

Resposta

Isto é a abordagem que acabei tomando. Muitas dessas respostas pareciam indicar coisas que simplesmente não conferiam quando olhei para o meu sistema Raspian:

$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" 

Não havia nada que aparecesse nos registros indicando que timedatectl estava fazendo alguma coisa, ou que ntp estava sincronizando no estado de ativação do NIC, ou que o NTPD foi instalado / configurado.

No final, 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 instalei 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... 

Comentários

  • Não ‘ não funciona no raspbian mínimo: Failed to start ntp.service: Unit ntp.service not found. E ntpd não ‘ também não existe. O Pi definitivamente ganha tempo. (Eu ‘ estou olhando para isso porque meus curls HTTPS falham sem -k quando executado antes disso)
  • @StevenLu – I ‘ Vou atualizar o A ‘ er para incluir a instalação do ntp também.
  • @StevenLu – apt-get install ntp

Resposta

Eu uso o seguinte na imagem padrão para sincronizar o tempo sem instalar pacotes adicionais:

timedatectl set-local-rtc 0 timedatectl set-ntp 1 timedatectl status 

Resposta

Encontrei isso em algum lugar na internet. Parece funcionar no Buster:

sudo timedatectl set-ntp false && sudo timedatectl set-time "$(date --iso-8601=seconds | cut -d "+" -f1 | tr T " ")" && sudo timedatectl set-ntp true 

Não tenho certeza se o comando intermediário (set-time) é realmente necessário.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *