centos中时间修改后重启后无效的问题解决办法

作者:袖梨 2022-06-30

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时间了,并且都是上海时区,终于是正常啦

相关文章

精彩推荐