ubuntu 系统时间和硬件时间的几点认识

 1. 针对装有ubuntu10.04系统的工控机与服务器校时的问题,采用了crontab任务调度,定时同指定服务器同步时间,ntpdate 10.121.106.11,不过该服务器要开启时间服务的,windows2003和其他版本一般不是默认的,要修改几个注册表的值:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters] (如果不存在,可以新建)
  "LocalNTP"=dword:00000001
 

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer] 
  "Enabled"=dword:00000001 

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] 
  "AnnounceFlags"=dword:00000005 

   如果还不行的话,需要关闭该服务器的防火墙了。

    2. 好多文章都有说,系统时间和硬件时间,Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。操作系统在正常关闭时会将系统时间写入cmos,而在启动时从cmos读取时间。然后系统时钟就会独立的运作。

    1) 查看和修改系统时间,CST(China Standard Time)中国标准时间;UTC(Coordinated Universal Time)世界标准时间,该时间接近于格林尼治时间。

root@enjoyor-desktop:~# date
2013年 09月 11日 星期三 10:21:08 CST
root@enjoyor-desktop:~# date -u
2013年 09月 11日 星期三 02:21:35 UTC
root@enjoyor-desktop:~# date -s '2013-09-11 10:23:00'
2013年 09月 11日 星期三 10:23:00 CST

    2) 硬件时间

    /etc/default/rcS中的UTC=yes是默认值,表示硬件时间是UTC时间,此时,本地时间与hwclock --utc相同,hwclock --localtime输出世界标准时间。而如果UTC=no,本地时间应该与hwclock --localtime相同,hwclock --utc时间无效(好多文档这么说,个人还不太确定,不过它的值也确实离谱)。

root@enjoyor-desktop:~# cat /etc/default/rcS
#
# /etc/default/rcS
#
# Default settings for the scripts in /etc/rcS.d/
#
# For information about these variables see the rcS(5) manual page.
#
# This file belongs to the "initscripts" package.


TMPTIME=0
SULOGIN=no
DELAYLOGIN=no
UTC=yes
VERBOSE=no
FSCKFIX=no
root@enjoyor-desktop:~# hwclock --utc
2013年09月11日 星期三 10时39分59秒  -0.934954 seconds
root@enjoyor-desktop:~# hwclock --localtime
2013年09月11日 星期三 02时40分03秒  -0.575275 seconds
root@enjoyor-desktop:~# date
2013年 09月 11日 星期三 10:40:09 CST
root@enjoyor-desktop:~# hwclock 
2013年09月11日 星期三 10时41分37秒  -0.899745 seconds

    系统时间更新到cmos,如果UTC=yes,将系统时间更新到utc:hwclock --systohc --utc;而UTC=no,更新到localtime,hwclock --systohc --localtime。这样就OK了。

    3. 时区

    查看两个文件

cat /etc/timezone #时区信息
cat /etc/localtime #可以从/usr/share/zoneinfo下面拷贝

    使用命令 dpkg-reconfigure tzdata,可以修改这两个文件。


你可能感兴趣的:(linux)