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.
-
sudo raspi-config
- Selecione
Internationalisation Options
- Selecione
I2 Change Timezone
- Selecione sua área geográfica
- Selecione sua cidade mais próxima
- Selecione
Finish
- 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:
-
System clock synchronized: yes
-
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.