在2006和2007年有一些国家改变了使用夏令时间(DST)的日期。最早的改变是2006年三月二十六日在澳洲和一部分的美国印地安那州使用夏令时间。(参考:http://aa.usno.navy.mil/faq/docs/daylight_time.html)
重点:
1. 在2006年,澳洲因为英联邦运动会把夏令时间的完结日期推迟了一周,由2006年三月二十五日淩晨3时改到2006年四月二日淩晨3时。
2. 执行2005年的美国能源法案。由2007年三月起,美国的夏令时间改由每年三月的第二个星期日开始,在十一月的第一个星期日完结。
3. 加拿大的魁北克省(QC),安大略省(ON),新斯科舍(NS),努纳武特(NU),萨斯喀彻温(SK),马尼托巴(MB),新不伦瑞克(NB),爱德华王子岛(PE),艾伯塔(AB),不列颠哥伦比亚(BC),纽芬兰与拉布拉多(NL),西北地区(NT)和育空(YK)将在2007年三月份跟随美国所作的夏令时间改变。
4. 西澳大利亚州正进行三年的夏令时间试验,在2006年十二月三日开始,在三月的最后一个星期日完结。有关详情可参考另一篇文章:http://kbase.redhat.com/faq/FAQ_61_9647.shtm
5. 巴哈马将在2007年三月份跟随美国所作的夏令时间改变。
Red Hat Enterprise Linux 2.1用户可以选择三个方法中的其中一个去令系统得到夏令时间的更新:
1. 把glibc软件包升级到以下版本:
glibc-2.2.4-32.23
glibc-common-2.2.4-32.23
glibc-devel-2.2.4-32.23
glibc-profile-2.2.4-32.23
nscd-2.2.4-32.23
执行 up2date -u <package-name> 命令能升级软件包。
然后执行system-config-date命令并选需要的时区。这样就会更新/etc/localtime文件。
2. 在2006年七月,Red Hat发布了glibc的升级,跟Red Hat Enterprise Linux 3和4一样把时区资料分别出来成为tzdata软件包。你可以升级以下的软件包:
tzdata-2006m-3.el2_1 glibc-common- 2.2.4-32.25
然后执行system-config-date命令并选需要的时区。这样就会更新/etc/localtime文件。
3. 手动升级tzdata文件 (不用rpm)
1. 用archive manager把tzdata-2006m-3.el2_1.rpm解压到一个目录。这样会创建出usr/share/的目录。 2. 用解压出来的的usr/share/zoneinfo目录替换系统中的整个/usr/share/zoneinfo目录。 3. 要设定本地时区,把适合的文件从/usr/share/zoneinfo抄到/etc/localtime文件。例如:你想把系统设定成纽约时区:
# cp /usr/share/zoneinfo/America/New_York /etc/localtime
如果系统是使用TZ环境变量,那么只需要更新/usr/share/zoneinfo就足够。
当更新完成后,所有依赖於/etc/localtime的程序都需要重启。最简单的方法是把整个系统重启,以确保所有程序都使用更新了的时区资料。
要测试系统有没有更新,可执行以下命令(假设你使用有DST改变的时区):
zdump -v /etc/localtime |grep 2007
如果显时DST改变的日期是正确,就代表更新成功。