分享
 
 
 

FreeBSD连载(23):配置系统时间

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

配置系统时间对于网络操作系统来讲,由于要向多个客户提供服务,因此必须拥有一个精确的系统时间。可以使用date命令来显示当前的时间:

$ date

1999年 4月10日 星期六 18时51分39秒 CST

date命令按中文方式输出的前提是指定环境变量LC_ALL为zh_CN.EUC,这是用于本地化的一种标准方式。

由于用于Internet上的网络操作系统的客户可能来自世界的不同地区,因此时间系统必须能标识出不同的时区。计算机中的CMOS时间能设置为两种不同的时间,一种是将CMOS时间设置为格林威治标准时间,使用时区修正给出本地时区的正确时间,另一种方法是将CMOS时间设置为本地时区时间,再使用本地时区修正得到格林威治标准时间。这样系统和其他计算机通信时就能使用标准时间,避免不同时区的计算机时间的差异。

系统安装程序在进行时区设置时将询问用户使用那种时间设置方式及时区设置,系统安装完成之后,也可以直接使用tzsetup命令来设置时区信息。所有的时区信息保存在/usr/share/zoneinfo目录中,而本机的时区设置信息保存在/etc/localtime文件中。此外,每个用户也可以使用环境变量TZ来设置与系统不同的时区,这个设置将覆盖系统的设置。

root用户可以使用带参数date来更改系统时间,例如以下命令将时间设置为1999年3月1日,下午1点54分。

# date 9903011354

1999年 3月 1日 星期一 13时54分00秒 CST

可以看出时间格式为年、月、日、时、分,每个各占两个数字,其形式即为yymmddhhmm,大部分情况下是对时间进行小调整,可以略去前面的年月日部分,而仅使用四位数字表示时、分,形如hhmm。

通过Internet同步时间

手工设置时间一方面不方便,另一方面也依赖于本地管理员的时钟的正确性,那么网络上不同的管理员管理的计算机时间必然有偏差,不同计算机的时间偏差就会对一些要求时间同步的服务产生影响。解决这种问题的方法很简单,连接到一个能提供精确时间的服务器上进行时间同步。

当计算机连接到了Internet之后,那么就能同Internet上存在的很多时间服务器通信,以获得精确的时间。TCP/IP协议中,用于同步时间的协议为ntp协议,在Internet上提供ntp服务的站点有clepsydra.dec.com 、ben.cs.wisc.edu、truechimer.waikato.ac.nz等,虽然ntp协议本身考虑了网络延迟,然而网络延迟毕竟会对时间的精确性造成影响,因此应该选用一个离本地计算机最近的时间服务器。

使用/stand/sysinstall也能设定时间同步,可以根据地域来选择合适的时间服务器,然而由于网络连接并不一定和地域相一致,因此不能完全根据地域的远近来选择时间服务器。

使用ntp协议更新自己计算机上的时间的一个简单的应用程序为ntpdate,同样这也需要使用root权限执行:

# ntpdate clepsydra.dec.com

10 Apr 19:26:49 ntpdate: step time server 204.123.2.5 offset 517.837146

ntpdate运行过之后就退出了,为了保持时间的正确性,就要每隔一段时间自动进行时间同步,可以将ntpdate放入cron中,每隔一段时间就执行一次。然而系统提供了另一个守护进程,xntpd,能够自动周期进行时间同步的工作,这更为适合与Internet有永久连接的计算机。为了运行xntpd守护进程,首先要创建/etc/ntp.conf文件,其中应包括时间服务器的名字和一个临时文件名。

server clepsydra.dec.com

driftfile /etc/ntp.drift

然后就需要运行这个守护进程,进行时间同步。

# xntpd -c /etc/ntp.conf -p /var/run/xntpd.pid

其中-c参数指定了ntp.conf作配置文件,用xntpd.pid记录xntpd的进程标识序号。ntpdate和xntpd都可以通过更改rc.conf中的选项,在启动时自动执行。

xntpd_enable="YES" # Run xntpd Network Time Protocol (or NO).

xntpd_program="xntpd" # path to xntpd, if you want a different one.

xntpd_flags="-c /etc/ntp.conf -p /var/run/xntpd.pid" # Flags to xntpd (if enabled).

如果要想让本地网络上的多台计算机都进行时间同步,那么每个计算机都与外部时间服务器连接的方法并不是一个好主意。更好的想法是使用一个计算机与外部时间服务器同步,那么它的时间就成为了标准时间,可以用作本地时间服务器,而其他计算机与这台本地时间服务器同步就可以了。xntpd就是设计为这个目的,它能够用作提供时间的ntp服务器。用作时间服务器的xntpd的配置文件应该为:

server clepsydra.dec.com

driftfile /etc/ntp.drift

broadcast 192.168.1.255

其中增加了一项广播地址:192.168.1.255,定期向局域网上的其他计算机广播正确的时间。这个广播地址要根据自己的网络进行修改,或者使用对应于NTP协议的D类组播(multicast)网址224.0.1.1,但用户的网络必须支持组播能力。由于使用了广播或组播,这样网络内的其他计算机可以不配置ntp.conf,直接启动xntpd,xntpd就能通过听服务器的广播信息来得到精确的时间。当然也可以不设定广播地址,而配置每个计算机中的ntp.conf文件,指定所有的计算机都访问这台时间服务器。

未完,待续。。。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有