Linux教程Linux
首页
基础知识
Linux业界
Linux系统
Linux人物
Linux文化
Linux资讯
Linux综合
当前位置:
Linux教程
-
Linux
- 配置系统时间和时间服务器
配置系统时间和时间服务器
对于网络操作系统来讲,由于要向多个客户提供服务,因此必须拥有一个精确的系统时间。可以使用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 e
nabled).
如果要想让本地网络上的多台计算机都进行时间同步,那么每个计算机都与外部时间服务器连接的方法并不是一个好主意。更好的想法是使用一个计算机与外部时间服务器同步,那么它的时间就成为了标准时间,可以用作本地时间服务器,而其他计算机与这台本地时间服务器同步就可以了。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文件,指定所有的计算机都访问这台时间服务器。
发布人:netbull 来自:JJ的Linux世界
x86平台的Debian Linux2.0 安装指南
Windows 9X中访问Linux分区
中小企业服务器配置方案 第三章(1)
Linux下的入侵监测系统LIDS--五、其它
一个SYN攻击的代码分析
Linux V2.2.X (i386体系结构)进程管理分析
读核日记(五)(下)
物理定律也适用於电脑软件!
在liunx下构建磁盘阵列(下篇)
Linux中文社区风云人物榜
几种linux的比较
UNIX系统关机方法五种
构造Linux的图形化安装程序(2)
hancom word的破解
Linux下的广播程序制作
站点导航
Linux教程
Php
Linux
非技术类
指令大全
Shell
安装启动
Xwindow
Kde
Gnome
输入法类
美化汉化
网络配置
存储备份
杂项工具
编程技术
网络安全
内核技术
速度优化
Apache
Email
Ftp服务
Cvs服务
代理服务
Samba
域名服务
网络过滤
其他服务
Nfs
Oracle
Dhcp
Mysql
Ldap
RedHat
赞助商链接