樹莓派系統時間同步


樹莓派系統時間不對

在《初識樹莓派》一文最后一張截圖中其實隱藏了一個我沒有太在意的時間問題,今天在開發樹莓派監控程序的時候才發現。

從圖中我們可以知道上次登錄時間是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

 

后記

保證計算機的時間准確性是一個非常重要的事情,特別是我們基於樹莓派還開發一些開關或者數據監控應用,如果時間不准確,可能會引發一些不必要的問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM