我不必在Raspberry Pi上设置时钟(除了时区之外)。时间从哪里来?关于它的准确性如何?

评论

全新安装使它可以从各种来源获取时间。有关详细信息以及为什么要将其更改为time.nist.gov的原因,请参阅以下问答:raspberrypi.stackexchange.com/questions/68811/…

#1 楼

Raspbian从NTP服务器(“时间服务器”)获取时间。

完全拔下Raspberry Pi的电源,拔出网络电缆,然后再次启动Raspberry Pi。您会看到日期和时间不正确。

如果您希望/需要在不连接互联网的情况下不重置日期和时间,则需要使用实时时钟(RTC) -例如,类似的内容-通过使用电池运行时钟来保持当前时间。同样,这也是您的计算机在不通电时如何保持时间的方法。之间的功率损耗。您还可以使用GPS模块,并将其连接到GPIO引脚。由于服务器的更改会逐渐应用于您的本地时钟,因此最多可能需要3个小时来进行自我纠正。网络稳定性对准确性影响最大,因为不可预测的网络(诸如3G之类的更无线的网络)将使准确性变得非常困难。简而言之:准确性非常好,您的计算机与实际时间(通过NTP服务器)之间的时间差通常小于100ms。

评论


好答案。感谢您有关硬件时钟的链接

–独家新闻
13年1月7日在21:47

好的答案;可以通过提及NTP协议的准确性来进行改进。

–亚历山大·张伯伦
2013年1月9日13:02

@AlexChamberlain感谢您的注意,我打算添加它,但是它完全使我忘了。我已经添加了。

– Vincent P
13年10月10日下午5:41

当我的Pi与网络连接时,我注意到时间现在已经漂移了30分钟。 ntpd是默认启用的还是我需要手动执行?

– andig
2013年6月6日上午10:41

也许是这样,直到Raspberry Pi3。两个月前我买了一个,而NTP时间更新被搞砸了,至少在官方Raspbian Jessie上是如此。我针对这个问题打开了三个线程,每个人都不知所措。我不得不购买硬件模块以节省时间来解决该问题。

–皮格马利翁
16年5月23日在7:47

#2 楼

Morgan的回答给了我解决问题所需的提示。


转到http://support.ntp.org/bin/view/Servers/NTPPoolServers
选择您的地区,然后将显示您的国家和服务器列表。

编辑/etc/ntp.conf文件,例如


sudo vim / etc / ntp .conf


将服务器列表替换为您在网页中找到的服务器列表。例如,


服务器0.dk.pool.ntp.org iburst
服务器1.dk.pool.ntp.org iburst
服务器2.dk.pool。 ntp.org iburst
服务器3.dk.pool.ntp.org iburst


保存并退出。


重新启动ntp守护进程。


sudo /etc/init.d/ntp restart




检查日期是否正确。


日期
2013年6月20日星期四13:39:20




在我的一台服务器中,日期被立即更改。在另一个方面,我不得不等待一些细节。

评论


如果您在英国(或其他国家/地区),则只需更改两个字母的国家/地区代码即可,例如。服务器0.uk.pool.ntp.org iburst

–皮尔兹
15年4月13日在12:05

大约15分钟后,第4步才对我有用。也许是因为我运行了ntpq -p。我正在使用:“ Raspbian GNU / Linux 7(略)”和“ Linux raspberrypi 4.1.7+#817 PREEMPT Sat Sep 19 15:25:36 BST 2015 armv6l GNU / Linux”

– Peter Mortensen
16-11-26在14:47



也许hwclock或false-hwclock会干扰(但“ /etc/rc.conf”部分已过时)

– Peter Mortensen
16-11-26在14:57

ntpq -p部分来自“如何在Raspberry Pi上保留时间?”的答案。

– Peter Mortensen
16-11-26在15:11

在关闭5分钟后,它落后了5分钟(ntpq -p没有影响)。

– Peter Mortensen
16年11月26日在15:25

#3 楼

如果您拥有fake-hwclock软件包,它还将执行节省时间戳的技巧,以防止重置时钟。设备关闭时,时间不会提前,因此会滞后。内部时钟在开启时也会漂移一点。

如果您具有Internet连接(或通过服务器连接局域网)并运行ntp(ntpd / ntpdate),则可以通过网络获取时间,正如其他答案所指出的那样。当同步时,它确实非常准确。在线服务器也将为您提供共识的“世界时间”。

评论


关于fake-hwclock很有趣。为什么有人要在机器关闭时冻结时钟?我想不出一个用例。在那儿?

–独家新闻
2013年1月11日在22:44

@Scoop因为替代方法是浪费时间,所以它将重置。这将导致任何记录的时间戳似乎都来自未来等。“冻结”时钟可确保时间继续前进,即使计数已关闭:)

– XTL
13年1月14日在8:03



使用ntp或其他方式设置时钟当然仍然可以使用,fake-hwclock仅在启动和关闭时运行。

– XTL
13年1月14日在8:08

对于Arch Linux上的假时钟,请使用archplusplus.co.uk/post/40202081414/…

–levinalex
13年4月8日在12:19

现在,该软件包现在似乎已默认安装在Raspbian上。

–皮尔兹
2015年4月14日在7:59

#4 楼

Raspberry Pi没有集成的实时时钟(RTC)来提高成本效益:请参阅问题“为什么没有实时时钟(RTC)?”在官方常见问题解答中。这意味着当您拔下Raspberry Pi时,它会浪费时间。重新启动时,时间将初始化为1970年1月1日(又称Unix纪元)。该协议已在Internet上广泛使用,以确保计算机具有相同的时间,并具有高度的可靠性,因为某些计算机专用于使用原子钟进行时间计算。
后台)启动了启动时间,并负责使用NTP协议同步时间。可以使用文件ntpd配置ntpd。例如,您可以在此处设置服务器以请求时间。

评论


还不记得最后一次吗?我一周前关闭了Raspberry Pi,现在的日期显示该日期已经是一周了,我认为,昨天和今天的正常运行时间再加上几个小时(在昨天和今天重新启动之后)。 (Raspbian,对应于2015年中期)。

– Peter Mortensen
2015年12月11日14:46



运行cat /etc/fake-hwclock.data,您将看到上一次false-hwclock节省了时间(显然是在关机时)。在RPi上使用fake-hwclock来模拟真实时钟。我认为您在没有Internet访问或没有ntpd的情况下启动RPi来更新时间。你能确认吗?

–摩根·库尔贝(Morgan Courbet)
2015年12月11日的15:00

#5 楼

Raspbian Stretch:默认情况下未安装NTP
Raspbian Stretch似乎有所改变。简而言之,不再安装ntp。运行dpkg -l | grep ntp不会返回任何结果。
显然,Stretch放弃了ntp应用程序,转而使用systemd。检查man timesyncd条目以获取有关配置设置的详细信息。 timesyncd仍然使用ntp服务器来更新时间。如果要手动配置这些服务器,则可以在/etc/systemd/timesyncd.conf文件中进行配置。

评论


完成编辑后,通过sudo systemctl restart timesyncd重新启动服务,然后通过journalctl -u timesyncd -f检查日志,有时公司防火墙会阻止该端口。在这种情况下,请使用提供的公司ntp服务器URL。

–本征场
19年2月5日在19:01



我相信守护程序的正确名称是systemd-timesyncd,因此重新启动的命令将是systemctl restart systemd-timesyncd

–chb
19年8月2日在16:49

#6 楼

如果要记录或保留离线时的时间,则可能需要添加实时时钟芯片,例如DS1307。

评论


有相当合理的RTC解决方案可以购买例如cjemicros.co.uk/micros/individual/newprodpages/…

–皮尔兹
15年4月13日在12:09