linux 8小时时差 bios hwclock 解决 utc localtime

news/2024/5/20 5:45:32 标签: linux, variables, 服务器, windows, solaris, function
比如“上海”

运行命令:tzselect

然后cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

同步时间

ntpdate cn.pool.ntp.org

cn.pool.ntp.org是位于中国的公共NTP服务器,用来同步你的时间。

禁止系统时间设为UTC

编辑 /etc/default/rcS

# Default settings for the scripts in /etc/rcS.d/
#
# For information about these variables see the rcS(5) manual page.
#
# This file belongs to the "initscripts" package.

TMPTIME=0
SULOGIN=no
DELAYLOGIN=no
UTC=yes //把yes改为no
VERBOSE=no
FSCKFIX=no

什么是UTC?

Local vs. UTC
首先重要的问题是你使用utc还是local time.
UTC(Universal Time Coordinated)=GMT(Greenwich Mean Time)
Local time 是你手表上的时间

传统的POSIX计算机(Solaris,bsd,unix)使用UTC格式
linux可以处理UTC时间和蹩脚的Windows所使用的local time

到底是使用UTC还是local time可以这样来确定:
如果机器上同时安装有Linux和Windows,建议使用local time
如果机器上只安装有Linux,建议使用utc

设置时间:

一、使用命令与互联网时间同步,然后再写入硬件(也就是CMOS)
ntp服务器同步时间
代码:
sudo ntpdate cn.pool.ntp.org
将调整后的时间写入cmos
代码:
sudo hwclock --systohc
二、这一种方法与第一种有异曲同工的效果,只是不用与ntp服务器同步
设置系统当前时间
#date -s '2008-6-8 09:19:00'
#date -s '09:19:00'
#date -s '09:19'
写入硬件

#hwclock -w --localtime














方法2依然可行

今天我测试网页的发邮件功能,RHEL6.1系统已经安装的Postfix,而且也随系统启动了,但就是发不出来邮件,于是就开始查找原因,虽然目前还没有找到邮件不能发送的原因。(现在已经写出POSTFIX的问题解决方法了关于postfix发邮件No route to host和Connection refused错误的解决方法)但却发现了系统的时间不正确。按网上的资料也没有解决我的问题,不知道大家是如何解决的,那今天就把我解决的方法给大家共享出来,供大家参考学习。

先来看看问题是什么样的:

1、系统的BISO时间是完全正确的

2、用hwclock -r查看的系统时间

[plain]  view plain copy
  1. [root@yufei ~]# hwclock -r  
  2. Wed 13 Jul 2011 05:50:55 AM CST  -0.868339 seconds  

而现在的北京时间是7月12号21:50。正好相差8小时。

3、用hwclock -D来调试的结果是

[plain]  view plain copy
  1. [root@yufei ~]# hwclock -D  
  2. hwclock from util-linux-ng 2.17.2  
  3. Using /dev interface to clock.  
  4. Last drift adjustment done at 1310506688 seconds after 1969  
  5. Last calibration done at 1310506688 seconds after 1969  
  6. Hardware clock is on UTC time  
  7. Assuming hardware clock is kept in UTC time.  
  8. Waiting for clock tick...  
  9. ...got clock tick  
  10. Time read from Hardware Clock: 2011/07/12 21:44:52  
  11. Hw clock time : 2011/07/12 21:44:52 = 1310507092 seconds since 1969  
  12. Wed 13 Jul 2011 05:44:52 AM CST  -0.315375 seconds  

发现能正确读取到BIOS的时间,但用date命令还是不正确,依然相差8小时,还是Wed 13 Jul 2011 05:44:52

4、折腾了半天也没有设置正确,希望大家别和我一样啊!!哈哈……

下面是我的解决方法

1、我已经忘记了我的系统在安装的时候有没有开启UTC,这一点,我们先忽略。(因为按网上的关掉UTC设置方法,不能解决问题)

2、因为网上资料都基本上雷同,所以我就看hwclock的帮助,想从中找到解决的办法,结果真让我给找到了。

3、使用 hwclock –help查看帮助内容,这个命令大家一定要注意他的使用方法。这样才能找到原因。下面我就把几个重要的内容摘录出来,给大家做个解释。

[plain]  view plain copy
  1. [root@yufei ~]# hwclock --help  
  2. hwclock - query and set the hardware clock (RTC)  
  3.   
  4. Usage: hwclock [function] [options...]  
  5. 这里需要大家特别注意:先是函数后是参数,只用其中一个是没有用的,这是解决问题的关键  
  6.   
  7. Functions:  
  8.   -r | --show         read hardware clock and print result #读取硬件(BIOS)时间,并显示出来  
  9.   -s | --hctosys      set the system time from the hardware clock #把目前系统时间调整为硬件时间  
  10.   -w | --systohc      set the hardware clock to the current system time #把硬件时间调整为目前系统的时间  
  11.        --systz        set the system time based on the current timezone #把系统时间设置为当时时区的时间  
  12.   
  13. Options:  
  14.   -u | --utc          the hardware clock is kept in UTC #设置硬件为的UTC时间  
  15.        --localtime    the hardware clock is kept in local time #设置硬件为本地时间  

hwclock的使用方法很关键,有了上面的解释后,综合一下,就得到了解决问题的方法了。

[plain]  view plain copy
  1. [root@yufei ~]# hwclock -s --localtime  

这一句命令解决所有问题。

注意:

1、确保你的时区要设置正确/etc/sysconfig/clock

2、确保你的系统中的BIOS时间正确

关于如何关闭UTC啊,如何设置时区啊,大家可以参考http://www.opsers.org/linux-home/base/8-hour-time-difference-on-the-linux-incorrect-solution.html



http://www.niftyadmin.cn/n/1141114.html

相关文章

p4(command line) and p4v(ui) client and server 快速入门 fr net

[SCM]源码管理 - perforce快速入门 Perforce是目前比较流行的集中式的源代码管理工具,在很多的欧美跨国公司被广泛的使用。他能够运行于Windows,Linux,Mac几乎所有的平台,支持客户端,命令行,IDE集成&#…

LTORG

RISC CPU是众多CPU中的一种. RISC是精简指令集的CPU. 也就是说, 它的指令系统一般都十分简洁.本文将要介绍的是RISCCPU中目前十分普遍的ARMCPU。目前很多的RISC CPU均是使用的32BIT长度的指令. 也就是每个指令长度为32BIT(注意:包括操作码和操作数一共32…

技术不是用来“混”饭吃的

转自:http://forum.eet-cn.com/FORUM_POST_10008_1200246150_0.HTM?click_from8800100117,9950118665,2012-12-20,EECOL,FORUM_ALERT 前些天在网上看到有篇文章《不要一辈子靠技术混饭吃》,看了之后总想写点什么。 《不要一辈子靠技术混饭吃》中的观点…

mplayer code中libavformat 和 libavcodec frnet

为什么需要两个库文件 libavformat 和 libavcodec :许多视频文件格式(AVI就是一个最好的例子)实际上并没有明确指出应该使用哪种编码来解析音频和视频数据;它们只是定义了音频流和视频流(或者,有可能是多个…

虚拟地址—来由

源地址&#xff1a;http://bbs.eetop.cn/thread-144555-1-1.html 关于ARM9中虚拟地址的问题??<谢谢赐教> 驱动程序, 触摸屏, 编译器, 操作系统, LinuxARM中MMU负责虚拟地址到物理地址的转换&#xff0c;这中间的一系列变换都能理解 有疑问的是&#xff1a;虚拟地址是如…

T264 X264 JM frnet

首先你要弄清三种编码器的关系 1、JM是JVT给出的参考模型&#xff0c;用于验证和演示各种功能&#xff0c;其优化于功能&#xff1b; 2、X264是fenrir于学习H.264时产生的副产品&#xff0c;其优化于算法的简介&#xff0c;主要用于验证目前可以实现的技术&#xff1b; 3、T…

MVA疑问

参考&#xff1a;http://zhidao.baidu.com/question/177781156.html#answer-1290686116 关于ARM的CPU中&#xff0c; VA 到MVA转换的疑惑 2010-08-23 21:00VA转换成MVA,cache、MMU使用MVAVA->MVA的方法(硬件自动完成&#xff09;&#xff1a;if(VA<32M)MVAVA|(PID<<…

ffmpeg API FR NET

ffmpeg API 笔记&#xff1a;使用libavcodec/libavformat/libswscale December 11, 2009Update 2010.1.5: 其实研究ffmpeg不用找什么教程&#xff0c;第一步应该是下载ffmpeg的源码包。下面提到的An FFmpeg and SDL Tutorial确实有讲解&#xff0c;但是教程总是跟不上代码的变化…