Raspberry Pi不会更新时间


12

我大约在两个月前购买了Raspberry Pi 3,从那时起时间就再也没有更新过。细节:

  1. 该操作系统是Raspbian Jessie(4.1.19-v7 +)的全新安装。
  2. Internet连接是通过本地Wi-Fi进行的,通信没有其他问题。
  3. 没有防火墙问题,因为时间更新在同一个LAN上的Windows计算机上像超级按钮一样工作。
  4. 时区已正确设置。

我首先开始nptdate。当我尝试强制更新时,

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

终端在第二条命令时冻结。最后一条消息/var/log/syslog是:

Listening on routing socket on fd #22 for interface updates

/etc/ntp.conf 内容:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict 127.0.0.1
restrict ::1

在我看来,ntp包裹有问题。我如何设置时间更新,因为我的Raspberry仅在白天打开,而时间延迟在晚上会累积?


1
您使用什么发行版?这些古老的联系与当前的Raspbian无关。开机后您要等待多长时间?您正在做什么以确认“时间不会更新”?
Milliways

如果您要问的话,那是Raspbian。不管我等待多长时间都不会更新。我使用“日期”命令并在角落观看时钟命令。
皮格马利翁

ntpd在过去几年的某个时候进行了更改,以使用户更难以强制进行更改。考虑到它的用途多么简单,它是有史以来设计最糟糕,最钝的应用程序之一。有人应该为独立的最终用户系统编写一个基本的,仅客户端的实现。最多可能需要一天的时间,包括阅读RFC。我为你感到。我讨厌那件事(除非它通常对我有用,所以我不打扰...)。祝好运。
goldilocks

就是说,我认为您可以添加更详细的解释,以了解具体情况。当它无法连接到服务器时,它肯定会发出很多尖叫声,并且这些东西将出现在syslog中。sudo grep ntp /var/log/syslog在启动后查看一下journalctl | grep ntp
goldilocks

@goldilocks sudo grep ntp /var/log/syslog返回一堆bad peer from pool x.debian.pool.ntp.org错误。重新启动后,journald | grep ntp返回bash: journald: command not foundsudo grep ntp /var/log/syslog返回一堆can't find host x.debian.pool.ntp.org: name or service not known错误和no servers can be used, exiting
Pygmalion,2016年

Answers:


6

您需要尝试通过USB Wi-Fi加密狗更新时间。如果它会正常工作,然后使用tcpdump看一看包是如何在处理两个方面:在树莓派3 在Wi-Fi AP它连接到。

据我所知,Raspberry Pi 3的内部Wi-Fi过去一直在无声地丢失数据包。

如何/etc/network/interfaces应该是这样的:

# Wired adapter #1
auto eth0
    iface eth0 inet static
    address 192.168.0.3
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-servers 8.8.8.8,8.8.4.4
    post-up /usr/sbin/ntpdate -4 1.2.3.4

不要忘记领先的空间


评论不作进一步讨论;此对话已转移至聊天
加纳玛

我发现解决方案如何在这个线程“修理”的ntpd:raspberrypi.org/forums/viewtopic.php?f=28&t=141454。我仍然不知道如何在启动RPi3时自动制作它。
皮格马利翁

如前所述,@ Pygmalion- ntpD= NTP守护程序-对于简单的主机时间设置不是必需的...它是通过网络分配时间的助手,即,如果您有多个节点,则肯定需要它。但是对于单个端点时间,就可以设置ntpdate工具。它甚至在ntp源代码树本身中被分隔
Alexey Vesnin

12
sudo sntp -s time.google.com

这对我有用。


9

我用ntp,chrony尝试了几种方法...最后用以下方法修复。

从任何著名的网站(如Google)获取日期,以设置每次启动时的机器时间。

  1. 打开rc.local文件

    sudo nano /etc/rc.local

  2. 将以下行添加到rc.local文件中

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

  3. 重新启动Rpi

    sudo reboot


我喜欢这个解决方案。它有效,但是我对ntp解决方案感到满意。我尝试了它们,但未能解决。
Varad AG

我可以理解这种绝望-这确实是我在某些情况下所做的(来自HTTP标头),但是现在我处于一个封闭的网络中,无法访问Internet,也没有HTTP服务器,只有NTP服务器。
Tomasz Gandor

4

如果您在raspi-configRaspberry Pi中设置了时区,则在连接到Internet时会自动更新启动时间。

  1. sudo raspi-config
  2. 选择 Internationalisation Options
  3. 选择 I2 Change Timezone
  4. 选择您的地理区域
  5. 选择最近的城市
  6. 选择 Finish
  7. 选择Yes立即重启

当然,我会在第一天设定时区。
皮格马利翁

1
我也在第一天就设置了时区,但是我的Pi最近停止了重新启动时更新时间,就像您遇到的问题一样。raspi-config昨天,我重新运行,自从每次重新启动以来,时间已正确更新,即使我已经拔掉电源一段时间了。我建议您试试看吗?让我知道您的生活...
mwd27 '16

对不起。我按照您的建议做了,但是失败了。
皮格马利翁

哦,太可惜了。我会继续思考...
mwd27 '16

3

以下命令肯定会起作用

sudo date -s"Sep 11 12:50"

1
谢谢您的回答。我认为问题是有关使用NTP进行自动更新的问题,您的答案似乎与时钟的一次设置有关。
Bex

2

我发现使用以下功能可以通过WiFi一次完成工作。

sudo sntp -s 0.debian.pool.ntp.prg

1

在“应用程序菜单/首选项/ Raspberry Pi配置”中,我转到了“本地化”选项卡,并为“设置区域设置”,“设置时区”和“设置WiFi国家”选择了值。

单击确定,现在时间正确。


1

对我来说,由于某种原因,我不得不稍等片刻,因为它没有立即设置正确的时间。这是在我设置了正确的时区,启用了Internet访问并重新启动之后。


关于设置正确的时间,请查看是什么导致日志缺口?
Ingo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.