Linux的时间有两种,一是系统时间,另外是硬件时间(BIOS时间)。
系统每次启动时会读出BIOS时间,将之赋给系统时间。之后系统时间将独立运行,而BIOS时间不会变化。
在BIOS时间中,有两种表示形式。一种是以localtime表示的,一种是以UTC表示的。具体查看的方式可以通过hwclock –debug,该命令可以输出当前硬件时间的表示形式。
安装完centos后,发现时间与本地时间不匹配,在网上找了好多的办法,但是一直没有奏效,重启之后,又恢复为原来的时间。很是纳闷。最后抱着试一试的心态加上了这句指令: ln -sf /usr/share/zoneinfor/Asia/Shanghai /etc/localtime 重启之后,竟然修改过来了,长舒了一口气。下面将详细的指令列出来,希望能够对你有所帮助。
1: 显示系统时间:#date
修改系统时间: date -s '2012-08-02 12:00' #设置系统时间为本地时间
2:显示硬件时间:#hwclock --show
设置硬件时间:#hwclock --set --date ‘08/02/2012 12:00:00’
3:这就是硬件时间同步系统时间:hwclock --hctosys
4:这个命令强制把系统时间写入CMOS:clock -w
如果你只需要上面4步,在重启之后,修改就生效的话,那就恭喜你,不用看下面一步了,如果还不生效的话,那你就必须得用这关键的第5步了。
5: ln -sf /usr/share/zoneinfor/Asia/Shanghai /etc/localtime #更改时区
再重启,你会发现已经修改过来了。
我们在安装完Centos Linux操作系统之后,点击系统的时间发现与现在所使用的时间不一致,相差有8小时,而在安装系统的时候我们选择的时区是上海,但是CentOS Linux默认的bios时间是utc时间(UTC是协调世界时(Universal Time Coordinated)英文缩写,是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。),所以我们在时间上面相隔了8个小时。这个时候bios的时间和系统的时间当然是不一致,一个代表 utc 时间,一个代表cst(+8时区),即上海的时间。
让我们动手将操作系统的时间进行同步吧!
在CentOS Linux中终端命令中执行以下命令:
1、vi /etc/sysconfig/clock #编辑时间配置文件
ZONE="Asia/Shanghai"
UTC=false #设置为false,硬件时钟不于utc时间一致
ARC=false
2、ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #linux的时区设置为上海时区
3、ntpdate 192.43.244.18 #对准时间
如果没有安装ntp服务器,刚需要先执行以下命令:
yum install ntp #安装ntp服务器
4、/sbin/hwclock --systohc #设置硬件时间和系统时间一致并校准
好了,我们的CentOS linux系统时间和计算机硬件时间终于都是cst时间了,并且都是上海时区,终于是正常啦