如何设定与维持准确的电脑时钟

2016-01-29 19:40 14 1 收藏

如何设定与维持准确的电脑时钟,如何设定与维持准确的电脑时钟

【 tulaoshi.com - Linux 】

  作者: Ron Bean, rbean@execpc.com
译者: Da-Wei Chiang, dawei@sinica.edu.tw
v, December 1996 翻译日期: 2-16 July 1998 
--------------------------------------------------------------------------------

1. 介绍
个人电脑(甚至於昂贵的工作站)主机板上所使用的 real-time-clock 晶片不够准确是众所皆知的事情. 然而 Linux 作业系统提供了一个简单的方法来校正这个不准确的电脑时钟, 使得电脑时钟就算是不倚赖外面的校时源也可以达到 *相当* 准确的地步. 但是似乎大多数人都还不知道有这个方法, 其原因如下: 


在一般 ``如何设定 linux 作业系统'' 的文件中并未述及这个方法, 而且在安装作业系统时很难自动地完成设定 (但是理论上并不是不可能的, 如果你有一台数据机的话). 
若你使用``man clock''来查看设定时钟的说明时, 你可能会取得非预期的 clock(3) 说明内容. (试著使用``man 8 clock''). 
似乎大多数人并不在意现在的正确时刻是多少. 
那些少数在意的人往往会采用 louie.udel.edu 所提供的 xntpd 程式集以便与外面的校时源, 例如网路校时伺服器或无线电时钟信号, 取得同步. 
如果各位对本文所讲述的低阶的时钟设定方法有著极高度的兴趣, 我强烈建议各位花些时间来浏览网页 http://www.eecis.udel.edu/~ntp/ , 这个网页有著各类你所感兴趣的内容,例如有关於 xntpd 的完整资讯以及 NIST 与 USNO 等站台的超连结. (我在本文後面也对 xntpd 作了些许的简介.) 


注意
如果你在同一台机器上跑多个作业系统, 你应该只让其中一个来重新设定 CMOS 时钟, 如此它们□不会相互影响而导致混乱. 假使你平常在同一台机器上跑 Linux 和 Windows 二种作业系统, 而当你要寻找一些共享的校时程式便时可以忽略 Windows 作业系统的部分 (参考前面所说网页的超连结). 


--------------------------------------------------------------------------------
-------------------------------------------------------------------------------

2. 使用``clock''程式
所有你须要知道的内容都在 clock(8) 的说明中, 而本文将带领各位完成整个设定程序. 


注意
要执行``clock''或是其它会影响到系统时间和 CMOS 时钟的程式, 你必须拥有 root 的权限. 

2.1 检查你的作业系统 
检查你作业系统的开机执行档中是否有类似``clock -a''或 ``clock -ua''的命令. 这个命令可能放在 /etc/rc.local ,或 /etc/rc.d/rc.sysinit , 或其它类似的地方, 这要看你安装的是那一套 Linux 作业系统. 

如果找到的命令是 ``clock -s'' 或 ``clock -us'' , 请将 ``s'' 更改成 ``a'' , 接著检查看看是否有 /etc/adjtime 这个档案, 该档案的内容只有一行看起来像是这样: 

0.000000 842214901 0.000000

这些数字依序是校正因子 (每天偏差的秒数), 上一次校正时钟的时间 (由 Jan 1, 1970 开始起算的秒数), 上一次校正所扣除的秒数. 如果你找不到这个档案, 请以 root 的身份产生此档案, 其内容只有一行看起来像是这样 (全部是零): 

0.0 0 0.0

然後透过 shell 手动执行 ``clock -a'' 或 ``clock -ua'' 以便更新第二个数字 (如果你的时钟被设定成协调国际时间而不是本地时间你得使用 ``u''这个参数). 

2.2 量测时钟的偏差率 
首先你得知道现在到底是几点钟 :-). 你机器的本地时间可能是不准确的. 我最喜欢的方法是拨电话到 WWV 的 (303)499-7111 电话报时台 (这是个付费电话). 如果你能够与网路校时伺服器连上线, 你也可以使用 xntpd 程式集所提供的 ntpdate 程式来校时 (使用 -b 选项以避免系统弄乱 CMOS 时钟). 或者使用 ``date -s hh:mm:ss'' 以手动方式设定系统时钟, 不论那一种方法最後都得使用 ``clock -w'' 将系统时间写入 CMOS 时钟. 你必须记得最後一次设定时钟的日期, 所以你得将该日期写下来放在不会遗失的地方. 如果你使用的是 ntpdate 程式, 执行 ``date +%s'' 然後写下自从 Jan 1,1970 算起到该程式执行的秒数. 

然後等待几天或几个星期後之後再回来看看时钟到底偏差了多少时间. 如果你以手动的方式设定时钟, 建议至少得等待二个星期之後, 再来计算时钟偏差率将可得到趋近 .1 sec/day 的结果. 几个月之後偏差率应该会趋近 .01 sec/day (有些人宣称应该更准确, 但是我个人持保留的态度). 如果你使用 ntpdate 程式来设定时钟你可能不必等待太久的时间, 然而不论使用那种方式之後都得做些微调的工作. 

你可以使用 cron 在一定的时间周期内执行 ``clock -a'' 以便系统时间能够与 (校正过的) CMOS时间维持一致性. 其实在你每次开机的时候都会从开机执行档来执行这个命令, 然而只要常常做上面这

来源:http://www.tulaoshi.com/n/20160129/1509885.html

延伸阅读
Climate Clock天气与时钟完美结合 Climate Clock天气时钟应用虽然看起来非常简单,但是它的功能却十分丰富。目前,该应用可在苹果App Store应用商店下载安装,售价0.99美元。 相信每一个领域的每一位设计师肯定都十分熟悉形式与功能的阴阳两面。像家居装修设计师Frank Lloyd Wright,他在对家居进行装修设计时,通常会比较注重外...
给你们的关系定下一些原则和规定 在一份对异地关系的研究中,格雷格*居德纳博士发现70%的异地夫妻没有设定原则,或者处理变化,于是在半年内分道扬镳了。这就意味着双方设定些指导你们异地关系的原则是及其重要的。这包括双方同意不能跟其他人约会,每天都交流,至少两三个月要见一面。 每天都交流交流 异地不异心这是基本的...
标签: 老年人
如何保证血脂检查的准确 编者按: 血脂高了,将对身体健康造成影响,实时监控血脂的高低是非常有必要的,但是你知道如何保证血脂化验结果的正常吗? 验血脂也叫血脂分析,在心血管疾病的诊断、治疗和预防中,有着重要的参考价值。为了保证化验结果的真实可信,化验前,应注意五点: 1.当心药物干扰 某...
  小弟之做,希望大家指教。QQ:51738793 #includemath.h #includedos.h #includegraphics.h #define CENTERX 320 #define CENTERY 175 #define CLICK 100 #define CLICKDELAY 30 #define HEBEEP 10000 #define LOWBEEP 500 #define BEEPDELAY 200int Mrk_1[8]={-5,-160,5,-160,5,-130,-5,-130, }...
了解Linux的时钟 由于Linux时钟和Windows时钟从概念的分类、使用到设置都有很大的不同,所以,搞清楚Linux时钟的工作方式与设置操作,不仅对于Linux初学者有着重大意义,而且对于使用Linux服务器的用户来说尤为重要。 Linux时钟的分类 Windows时钟大家可能十分熟悉了,Linux时钟在概念上类似Windows时钟显示当前系统时间,但在时钟分类和设置...

经验教程

409

收藏

65
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部