码迷,mamicode.com
首页 > 其他好文 > 详细

树莓派系统时间同步

时间:2015-04-06 18:34:41      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

树莓派系统时间不对

在《初识树莓派》一文最后一张截图中其实隐藏了一个我没有太在意的时间问题,今天在开发树莓派监控程序的时候才发现。

技术分享

从图中我们可以知道上次登录时间是1970年1月1日星期四的00:03:17分,由此我们可以推断,新安装系统的树莓派默认系统时间应该是1970年1月1日开始的。

很明显,这个时间与我们期望的当前时间是不符的。我们需要将系统时间修改为和当前时间同步。

第一步:启用网络时间协议

为了保证时间的准确性,推荐使用NTP网络时间协议来同步时间。对的,跟windows中的 Internet 时间同步是一样一样的。

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。NTP可以使计算机时钟与 Internet 时间服务器同步。 这意味着可以更新计算机上的时钟,以与时间服务器上的时钟匹配,这有助于确保计算机上的时钟是准确的。它的用途是把计算机的时钟同步到世界协调时间UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

运行以下命令,启用NTP:

sudo timedatectl set-ntp true

启用NTP以后,时间就是正常的吗?我们来通过date命令来查看当前时间:

ubuntu@localhost:/etc$ date
Mon Apr  6 08:45:50 UTC 2015

年月日都对了,但是现在是16点啊,系统时间显示的确是08点,相差8个小时。

这个时候,多年的开发经验告诉我们,天朝时间比标准时间早8个小时。

我们还想date命令出来的时间与我们的时间完全保持一致,就需要进行第二步操作修改时区。

第二步:修改时区

使用以下命令修改本地时区:

sudo dpkg-reconfigure tzdata

技术分享

在“Configuring tzdata”中,依次选择Asia、Chongqing,回车确认,出现了以下提示信息:

cp: cannot create regular file /etc/localtime.dpkg-new: Read-only file system                                  

Current default time zone: Asia/Chongqing
Local time is now:      Mon Apr  6 08:49:52 UTC 2015.
Universal Time is now:  Mon Apr  6 08:49:52 UTC 2015.

debconf: DbDriver "config": could not write /var/cache/debconf/config.dat-new: Read-only file system

简单来说,就是文件系统是只读的,不能创建etc/localtime.dpkg-new文件和不能写config.dat-new文件。

当前默认的时区是已经改成了我们想要的‘Asia/Chongqing‘,但是本地时间和世界时间还是一样的,这里还有问题,应该就是只读文件系统造成时区没有完全配置。

第三步:使文件系统可写

通过askubuntu找到了Read-only file system问题的解决办法,运行以下命令使得文件系统可写。

sudo mount -o rw,remount /

第四步:重复第二步修改时区

这一次重新配置时区就比较顺利了。本地时间变成了CST时间,也就是China Standard Time UTC+8:00 中国沿海时间(北京时间)。

Current default time zone: Asia/Chongqing
Local time is now:      Mon Apr  6 16:55:50 CST 2015.
Universal Time is now:  Mon Apr  6 08:55:50 UTC 2015.

ubuntu@localhost:/etc$ date
Mon Apr  6 17:19:56 CST 2015
ubuntu@localhost:/etc$ timedatectl status
      Local time: Mon 2015-04-06 17:36:36 CST
  Universal time: Mon 2015-04-06 09:36:36 UTC
        RTC time: n/a
       Time zone: Asia/Chongqing (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

 

后记

保证计算机的时间准确性是一个非常重要的事情,特别是我们基于树莓派还开发一些开关或者数据监控应用,如果时间不准确,可能会引发一些不必要的问题。

 

树莓派系统时间同步

标签:

原文地址:http://www.cnblogs.com/scaleworld/p/4396292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!