资源描述:
《Linux NTP配置详解 (Network Time Protocol)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、NetworkTimeProtocol(NTP)也是RHCE新增的考试要求.学习的时候也顺便复习了一下如何设置Linux的时间,现在拿出来和大家分享设置NTP服务器不难但是NTP本身是一个很复杂的协议.这里只是简要地介绍一下实践方法和上次一样,下面的实验都在RHEL5上运行1.时间和时区如果有人问你说现在几点?你看了看表回答他说晚上8点了.这样回答看上去没有什么问题,但是如果问你的这个人在欧洲的话那么你的回答就会让他很疑惑,因为他那里还太阳当空呢.这里就有产生了一个如何定义时间的问题.因为在地球环绕太阳旋转
2、的24个小时中,世界各地日出日落的时间是不一样的.所以我们才有划分时区(timezone)的必要,也就是把全球划分成24个不同的时区.所以我们可以把时间的定义理解为一个时间的值加上所在地的时区(注意这个所在地可以精确到城市)地理课上我们都学过格林威治时间(GMT),它也就是0时区时间.但是我们在计算机中经常看到的是UTC.它是CoordinatedUniversalTime的简写.虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC那么假如
3、现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式20:00CST12:00UTC这里的CST是ChineseStandardTime,也就是我们通常所说的北京时间了.因为中国处在UTC+8时区,依次类推那么也就是12:00UTC了.为什么要说这些呢(呵呵这里不是地理论坛吧...)第一,不管通过任何渠道我们想要同步系统的时间,通常提供方只会给出UTC+0的时间值而不会提供时区(因为它不知道你在哪里).所以当我们设置系统时间的时候,设置好时区是首先要做的工作第二,很多国家都有夏令时(我记得小时候中国
4、也实行过一次),那就是在一年当中的某一天时钟拨快一小时(比如从UTC+8一下变成UTC+9了),那么同理到时候还要再拨慢回来.如果我们设置了正确的时区,当需要改变时间的时候系统就会自动替我们调整现在我们就来看一下如何在Linux下设置时区,也就是timezone2.如何设置LinuxTimeZone在Linux下glibc提供了我们事先编译好的许多timezone文件,他们就放在/usr/share/zoneinfo这个目录下,这里基本涵盖了大部分的国家和城市代码:#ls-F/usr/share/zonei
5、nfo/Africa/Chile/FactoryIcelandMexico/posix/UniversalAmerica/CST6CDTGBIndian/Mideast/posixrulesUS/Antarctica/CubaGB-EireIranMSTPRCUTCArctic/EETGMTiso3166.tabMST7MDTPST8PDTWETAsia/EgyptGMT0IsraelNavajoright/W-SUAtlantic/EireGMT-0JamaicaNZROCzone.tabAustrali
6、a/ESTGMT+0JapanNZ-CHATROKZuluBrazil/EST5EDTGreenwichKwajaleinPacific/SingaporeCanada/Etc/HongkongLibyaPolandTurkeyCETEurope/HSTMETPortugalUCT在这里面我们就可以找到自己所在城市的timezone文件.那么如果我们想查看对于每个timezone当前的时间我们可以用zdump命令代码:#zdumpHongkongHongkongFriJul606:13:572007HKT那
7、么我们又怎么来告诉系统我们所在timezone是哪个呢?方法有很多,这里举出两种第一个就是修改/etc/localtime这个文件,这个文件定义了我么所在的localtimezone.我们可以在/usr/share/zoneinfo下找到我们的timezone文件然后拷贝去到/etc/localtimezone(或者做个symboliclink)假设我们现在的timezone是BST(也就是英国的夏令时间,UTC+1)代码:#dateThuJul523:33:40BST2007我们想把timezone换成上
8、海所在的时区就可以这么做代码:#ln-sf/usr/share/zoneinfo/posix/Asia/Shanghai/etc/localtime#dateFriJul606:35:52CST2007这样时区就改过来了(注意时间也做了相应的调整)第二种方法也就设置TZ环境变量的值.许多程序和命令都会用到这个变量的值.TZ的值可以有多种格式,最简单的设置方法就是使用tzselect命令代码:#tzselect..