树莓派系统时间同步

树莓派系统时间不对

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

从图中我们可以知道上次登录时间是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命令来查看当前时间:

[email protected]:/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.

[email protected]:/etc$ date
Mon Apr  6 17:19:56 CST 2015
[email protected]:/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

后记

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

时间: 2024-11-19 19:28:30

树莓派系统时间同步的相关文章

linux系统时间同步

1.linux系统时间同步[[email protected] ~]# /usr/sbin/ntpdate ntp1.aliyun.com2.linux系统定时同步[[email protected] ~]# echo "#time sync by xuegod62 at 2016-12-10" >> /var/spool/cron/root[[email protected] ~]# echo "*/5 * * * * /usr/sbin/ntpdate ntp

让CentOS系统时间同步

CentOS系统时间同步的步骤如下: 新装的CentOS系统服务器可能设置了错误的,需要调整时区并调整时间. 如下是CentOS系统使用NTP来从一个时间服务器同步cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimentpdate us.pool.ntp.org 很简单吧! 下面解析一下,第一句是把当前时区调整为上海就是+8区,想改其他时区也可以去看看/usr/share/zoneinfo目录; 然后第二句是利用ntpdate同步标准时间. 没有

linux系统时间同步,硬件时钟和系统时间同步,时区的设置

1.时间同步(手动): date -s "2015-07-15 22:13:30" hwclock --systohc   (表示系统时间同步到硬件时钟) hwclock --hctosys (表示硬件时钟同步到系统时间) 2.根据互联网时间同步: 首先查看linux是否有ntp这个软件: rpm -qa | grep ntp 如果没安装继续查找: yum search ntp 然后通过上面查找的信息提示来安装这个ntp: yum install ntp.i386 完成安装后:输入nt

简单几步让CentOS系统时间同步(转)

在使用CentOS系统的时候,我们可能会遇到时间不准的问题,那我们如何解决这个我问题呢,下面就来教大家一个CentOS系统时间同步的方法,希望大家可以解决自己所存在的疑问. CentOS系统时间同步的步骤如下: 新装的CentOS系统服务器可能设置了错误的,需要调整时区并调整时间. 如下是CentOS系统使用NTP来从一个时间服务器同步cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimentpdate us.pool.ntp.org 很简单吧!

CentOS系统时间同步(NTP)

CentOS系统时间同步的步骤如下: 新装的CentOS系统服务器可能设置了错误的,需要调整时区并调整时间. 如下是CentOS系统使用NTP来从一个时间服务器同步把当前时区调整为上海就是+8区,想改其他时区也可以去看看/usr/share/zoneinfo目录: cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 用ntpdate同步标准时间: ntpdate us.pool.ntp.org 备注: 没有安装ntpdate的可以yum一下:

Win2003系统日志,时间服务有 86400 秒没有与系统时间同步

Win2003系统日志内有一些来源为:W32Time,事件ID为:36,事件描述为: 时间服务有 86400 秒没有与系统时间同步,因为没有一个时间服务提供程序 提供可用的时间戳.时间服 务将不再是同步的,也不能为其它客户端提供 时间或者更新系统时钟.请查看事件查看器中显示的系统 事件,以确认没有发生更严重的问题. WinXP和Win2003系统的时间同步更新频率默认为7天,对于WinXP系统来说,这个频率比较正常,但 对于要求时间精确性相对高一些的服务器 系统Windows2003来说似乎有点

简单几步让CentOS系统时间同步

在使用CentOS系统的时候,我们可能会遇到时间不准的问题,那我们如何解决这个我问题呢,下面就来教大家一个CentOS系统时间同步的方法,希望大家可以解决自己所存在的疑问. CentOS系统时间同步的步骤如下: 新装的CentOS系统服务器可能设置了错误的,需要调整时区并调整时间. 如下是CentOS系统使用NTP来从一个时间服务器同步 #cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #ntpdate us.pool.ntp.org 很简

Linux中系统时间同步ntpdate简介

Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步.所以同步操作有两种方法:一.date命令:date :查看当前时间,结果如下:Tue Mar 4 01:36:45 CST 2014date -s 09:38:40 :设置当前时间,结果如下:Tue Mar 4 09:38:40 CST 2014 二.ntpdate命令:ntpdate -u 210.

Linux定时任务工具crontab详解及系统时间同步

linux下定时执行任务的方法  在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出. 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为"crontab",是"cron table"的简写. 一.cron在3个地方查找配