装完win7和Linux双系统后,进入Linux后再进入Windows,你会惊奇的发现
时间不对了,差了有8个小时。 导致这样的原因是Winows和 Linux 对硬件时间的处理方法不同,Windows将硬件时间作为本地时间,而Linux则将硬件时间处理为UTC时间。因此在中国UTC+8
时区的情况下使用 Windows 和 Linux 会有八个小时的差异。 解决方案: Linux命令: hwclock可以查看硬件时间, timedatectl可以查看本地时间、UTC时间、时区、是否开启时间同步等信息。 思路: 将两个系统对硬件时间的处理统一化,统一将硬件时间做为本地时间。 Windows时间不做处理,在Linux下处理时间 timedatectl set-local-rtc命令可以将硬件时间 设置为本地时间或UTC时间 如果经过上述设置之后时间显示不正确了,可以通过下列命令同步时间。对于许多与系统相关的任务和进程,使用正确的时区是必不可少的。例如,cron守护进程使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。 环境 Centos 8检查现在的时区timedatectl是一个 命令 行实用程序,允许您查看和更改系统的时间和日期。 [root@localhost ~]# timedatectl Local time: Tue 2020-03-31 16:35:23 CST Universal time: Tue 2020-03-31 08:35:23 UTC RTC time: Tue 2020-03-31 08:35:23 Time zone: Asia/Shanghai (CST, +0800) System clock synchronized: yes NTP service: active RTC in local TZ: no更改时区在更改时区之前,您需要找出要使用的时区名称。要列出所有可用时区,请使用下面的 命令 : [root@localhost ~]# timedatectl list-timezones … Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Srednekolymsk … 然后使用set-timezone选项更改时区,比如更改为Europe/Berlin: [root@localhost ~]# timedatectl set-timezone Europe/Berlin使用创建链接的方式更改时区如果运行的是旧版本的Centos,比如Centos6之前的版本,并且系统上不存在timedatectl命令,则可以通过将/etc/localtime符号链接到/usr/share/zoneinfo目录中的时区文件来更改时区。 查看一下/usr/share/zoninfo下面的时区文件, [root@localhost ~]# ls /usr/share/zoneinfo/ [root@localhost ~]# ls /usr/share/zoneinfo/Asia/ 现在替换时区文件。 [root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime [root@localhost ~]# date Tue Mar 31 16:53:59 CST 2020 可以看到已经切换到了CST中国标准时间总结在本文中,使用了两种方式修改时区。一种是使用timedatectl,另一种方式使用创建链接的方式。让我们先查看/etc/sysconfig/clock的内容:
[root@www/root]#cat/etc/sysconfig/clock
ZONE=Asia/Shanghai/usr/share/zoneinfo下面的文件。
UTC=false硬件时钟是否为UTC或者说GMT时钟。
ARC=false如果是在Alpha机器上,则设置为true。
把硬件时钟设置为UTC的好处就是他能自动设置夏时制,缺点时,在安装有多重 *** 作系统启动的机器上,在另外的 *** 作系统上时钟会错误。
Linux的时钟设置文件为:/etc/localtime,实际上这个文件是/usr/share/zoneinfo目录下对应文件的符号连接。假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。
ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
Linux启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行/sbin/hwclock程序,把当前的硬件时钟复制为系统时间。hwclock假定硬件时钟已经设置为本地时钟,除非带有--utc参数。脚本文件会读取/etc/sysconfig/clock文件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了,根据需要把其中的UTC行,设置为true或者false。
设置硬件时钟时,首先使用date命令("dateMMDDhhmmYYYY.ss")设置好系统时钟,然后使用"/sbin/hwclock--systohc"把硬件时钟设置为和当前系统时间一致。
如果你在某些应用下面的时间是错误的,那么你在运行RedHatLinux5.0或5.1,解决的办法是建立/usr/lib/zoneinfo到/usr/share/zoneinfo的符号连接:
ln-s/usr/share/zoneinfo/usr/lib/zoneinfo
小结:时钟设置的问题本身比较简单,但是它涉及到几个基本的配置文件:
/etc/rc.d/rc.sysinit
/etc/sysconfig/clock
/etc/localtime
对初学者来说,确实需要一定的基本功才可以对以上的几个文件了如指掌。但是仔细阅读hwclock的man手册,相信这些问题都能迎刃而解。
评论列表(0条)