fedora专题

如何管理好“linux的时间”

本文将介绍如何设置你的计算机的时钟、时区、以及和时间相关的选项,还会介绍如何保持“时钟更新”。

简单概述

你的计算机有两个时间,一个是由钮扣电池维持的一个总是运行着的时间,也叫做硬件时间、BIOS时间或CMOS时间;另一个是有你所安装的操作系统维持着的时间,也叫做系统时间

硬件时间主要用于操作系统启动时设置系统时间,也可以理解为“硬件时间决定系统时间”。就在设置的那个时刻,直到系统关机为止,都是由系统时间来管理整个操作系统的时间了。

在Linux系统中,你可以选择以UTC/GMT或者本地时间为依据来更新硬件时间,也就是说有UTC/GMT和本地时间两种更新依据。推荐的方案 是以UTC/GMT为依据。选择UTC/GMT唯一的不好之处就在于:当你多用户启动一个操作系统时,由硬件时间所设置的本地时间总是会有错误。

什么是UTC?

UTC是协调世界时(Universal Time Coordinated)英文缩写,是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子 午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为 例,UTC时间是零点,北京时间为1999年1月1日早上8点整。

设置你的时区

在linux中,时区记录在/etc/localtime文件中,这个文件和/usr/share/zoneinfo目录下的“所设时区”文件构成 符号链接,也就是“localtime -> /usr/share/zoneinfo/XXXX”。(在某些旧的linux操作系统中,时区信息所在目录有可能是/usr/lib/zoneinfo /)

举例来说,如果你是中国人,你生活在首都北京,那么你首先应该到/usr/share/zoneinfo文件夹的Asia目录下去找shanghai这个文件(因为shanghai和beijing在一个时区喽~),然后做一个符号链接到localtime,即

ln -sf ../usr/share/zoneinfo/Aisa/Shangha /etc/localtime

UTC还是本地时间?

当你的Linux系统系统(我用的是fedora9,其他发行版也一样^_^),启动脚本中有一个步骤就是执行/sbin/hwclock程序,将当前的硬件时间赋给系统时间。hwclock命令会“武断的”认为硬件时间就是本地时间,除非使用选项开关–utc。

当然,修改启动脚本不是一个容易的和好玩的事情,与其修改启动脚本,还不如而且强烈推荐修改/etc/sysconfig/clock文件(这个路径是fedora的路径)。在这个文件中,添加UTC=true或UTC=false。

设置系统时间

在linux中,是用date命令来设置系统时间。

我想设置当前的时间和日期为2月12号晚上的23点12分(那天是我生日^_^),那么就这样写:

# date 02122312

如果你还想改变年份为2006年(那年世界杯,我的意大利队夺冠):

# date 021223122002

如果还想设置秒数(当然,大多数人没这么精确吧…):

# date 021223122002.33

# date 02122312.33

设置硬件时间

首先要知道,查看硬件时间的方法是hwclock(无参数即可查询)。

设置硬件时间,我的做法是首先设置系统时间,然后将系统时间赋给硬件时间,用这个命令:/sbin/hwclock –systohc

或者/sbin/hwclock –systohc –utc

其他相关命令

rdate,这个命令的作用是从远程获取一个正确的系统时间。具体去man一下:)

其他

如果对GMT和UTC感兴趣,可以看看这个帖子:

http://zhidao.baidu.com/question/9365015.html?fr=qrl

结论-你的时间方案

如果你的linux的时间不正确,那么就这样吧:

第一步:date 现在时间

第二步:hwclock –systohc

OK!

[原稿:http://www.linuxsa.org.au/tips/time.html]

over~

1条评论

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *