资源描述:
《linux配置ntp讲解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.时间和时区如果有人问你说现在几点?你看了看表回答他说晚上8点了.这样回答看上去没有什么问题,但是如果问你的这个人在欧洲的话那么你的回答就会让他很疑惑,因为他那里还太阳当空呢.这里就有产生了一个如何定义时间的问题.因为在地球环绕太阳旋转的24个小时中,世界各地日出日落的时间是不一样的.所以我们才有划分时区(timezone)的必要,也就是把全球划分成24个不同的时区.所以我们可以把时间的定义理解为一个时间的值加上所在地的时区(注意这个所在地可以精确到城市)地理课上我们都学过格林威治时间(GMT),它也就是0时区时间.但是我们在计算机中经常看到的是
2、UTC.它是CoordinatedUniversalTime的简写.虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC那么假如现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式20:00CST、12:00UTC这里的CST是ChineseStandardTime,也就是我们通常所说的北京时间了.因为中国处在UTC+8时区,依次类推那么也就是12:00UTC了为什么要说这些呢(呵呵这里不是地理论坛吧...)第一,不管通过任何渠道我们想要同步系统的时间,通常提供方只会给出U
3、TC+0的时间值而不会提供时区(因为它不知道你在哪里).所以当我们设置系统时间的时候,设置好时区是首先要做的工作第二,很多国家都有夏令时(我记得小时候中国也实行过一次),那就是在一年当中的某一天时钟拨快一小时(比如从UTC+8一下变成UTC+9了),那么同理到时候还要再拨慢回来.如果我们设置了正确的时区,当需要改变时间的时候系统就会自动替我们调整现在我们就来看一下如何在Linux下设置时区,也就是timezone 2.如何设置LinuxTimeZone在Linux下glibc提供了我们事先编译好的许多timezone文件,他们就放在/usr/sha
4、re/zoneinfo这个目录下,这里基本涵盖了大部分的国家和城市。代码:#ls-F/usr/share/zoneinfo/Africa/ Chile/ Factory Iceland Mexico/ posix/ UniversalAmerica/ CST6CDT GB Indian/ Mideast/ posixrules US/Antarctica/ Cuba GB-Eire Iran MST PRC UTCArctic/ EE
5、T GMT iso3166.tab MST7MDT PST8PDT WETAsia/ Egypt GMT0 Israel Navajo right/ W-SUAtlantic/ Eire GMT-0 Jamaica NZ ROC zone.tabAustralia/ EST GMT+0 Japan NZ-CHAT ROK ZuluBrazil/ EST5EDT Gree
6、nwich Kwajalein Pacific/ SingaporeCanada/ Etc/ Hongkong Libya Poland TurkeyCET Europe/ HST MET Portugal UCT在这里面我们就可以找到自己所在城市的timezone文件.那么如果我们想查看对于每个timezone当前的时间我们可以用zdump命令,代码:#zdumpHongkongHongkong FriJul 606:13:572007HKT那么我们又怎么来告诉系统我
7、们所在timezone是哪个呢?方法有很多,这里举出两种第一个就是修改/etc/localtime这个文件,这个文件定义了我么所在的localtimezone.我们可以在/usr/share/zoneinfo下找到我们的timezone文件然后拷贝去到/etc/localtimezone(或者做个symboliclink)假设我们现在的timezone是BST(也就是英国的夏令时间,UTC+1),代码:#dateThuJul 523:33:40BST2007我们想把timezone换成上海所在的时区就可以这么做代码:#ln-sf/usr/share
8、/zoneinfo/posix/Asia/Shanghai/etc/localtime#dateFriJul 606:35