然後等待几天或几个星期後之後再回来看看时钟到底偏差了多少时间. 如果你以手动的方式设定时钟, 建议至少得等待二个星期之後, 再来计算时钟偏差率将可得到趋近 .1 sec/day 的结果. 几个月之後偏差率应该会趋近 .01 sec/day (有些人宣称应该更准确, 但是我个人持保留的态度). 如果你使用 ntpdate 程式来设定时钟你可能不必等待太久的时间, 然而不论使用那种方式之後都得做些微调的工作.
你可以使用 cron 在一定的时间周期内执行 ``clock -a"" 以便系统时间能够与 (校正过的) CMOS时间维持一致性. 其实在你每次开机的时候都会从开机执行档来执行这个命令, 然而只要常常做上面这个动作就可以达到你准确机器时间的目的.
注意如果系统时间的修正一次超过一秒或是时间往回修正, 有些系统的 clock 程式可能会无法执行. 如果你有这方面的问题, 则可以使用 xntpd 或 ntpdate 程式来逐步地修正时间.
2.3 实例
设定时间
签入系统并成为 root. 拨电话至 (303)499-7111 (语音), 来聆听报时的内容. 然後使用键盘打出下面几个字:
date -s hh:mm:ss
一直等到哔的一声□按下 enter 键. (如果在此处使用 ``ntpdate"" 程式, 则你可以省略拨电话的动作) 这个步骤在设定 ``系统时间"". 接著执行:
clock -w
这个步骤将系统时间写回 CMOS 时钟让二者时间一致. 接著执行:
date%j
(如果在前面使用 ``ntpdate"" 程式你得执行 ``date%s"") 将其执行的结果记录下来.
重新设定时间与检查偏差率
找出你上次写下来日期. 签入系统并成为 root. 然後执行:
clock -a
这个步骤将 CMOS 时间写入系统时钟让二者时间一致. 拨电话至 (303)499-7111 (语音), 来聆听报时的内容. 接著使用键盘打出下面几个字:
date
一直等到哔的一声□按下 enter 键, 但是当你等待的时候, 写下报时的内容, 并且还不要挂上电话. 这个动作是让你知道目前真正的时间是几点, 而此时相对你的机器上的时间是几点. 现在使用键盘打出下面几个字:
date -s hh:mm:00
其中分针部分所设定的数字就是目前报时内容 *之後的* 下一分钟, 一直等到哔的一声□按下 enter 键 (现在可以挂上电话了). 而 hh 的部分则使用机器本地的时针数字即可. 这个步骤在设定 ``系统时间"". 然後执行:
clock -w
将新的 (校正过的) 系统时间写回 CMOS 时钟. 然後执行:
date%j
(或是执行 ``date%s"" )
你现在手上有三个数字 (二个校正日期及一个正确时间) 於是你可以开始计算偏差率了.
计算校正因子
当你在某一分钟执行 ``date"" 程式时, 你机器的本地时间是慢还是快呢? 如果是快了, 你必须将之减去一些秒数以符合正确时间, 所以你应该写下一个负的偏差数值. 如果是慢了,你必须将之加上一些秒数以符合正确时间, 所以你应该写下一个正的偏差数值.
现在将二个校正日期相减. 如果之前你使用的是 ``date%j"", 则数值所代表意义为一年的第几天 (1-365, 或 1-366 如果是闰年). 如果自从你上一次设定时钟到现在经过1 月1 日你还须要将第二个校正日期加 365 (或 366) 如果之前你使用的是 ``date%s"" 则数值的单位为秒数, 你必须将之除以 86400 以便取得日数.
如果你的档案 /etc/adjtime 中已经有校正因子, 你必须将先前已校正过的秒数考虑进来, 如果你校正过度, 这个校正因子的正负号将与你量测到偏差数值相反; 如果你校正不足则二者正负号相同. 将旧的校正因子乘以日数, 然後加上新获得的偏差秒数 (附注-- 如果二者正负号相同, 你将取得一个较大的偏差数值, 如果二者正负号相反, 你将取得一个较小的偏差数值).
推荐阅读
- 爱情与花的经典语录
- 如何防治草鱼细菌性与病毒性出血病
- 如何追到不爱说话的女孩
- 养老保险缴费基数怎么核算
- 微信如何更新
- 吃羊腰子的功效与作用 吃羊腰子的功效
- 华为智慧屏如何取消视频会员包月
- Linux 核心--17.关于Linux的Web与FTP站点 --18.作者简介
- 同学与朋友有区别吗
- 股票如何分红