您的位置:首页 > 运维架构 > Linux

如何理解hwclock的输出与设置?

2014-12-02 08:11 369 查看
那么你会说,怎么检查我的硬件时间是不是utc时间呢??

hwclock --localtime


#如果上面这条命令的输出和UTC(GMT)时间同样的话,那就对啦,否则,还是看看下文吧。

有些操作系统会很傻逼的不分hwclock与localtime(是M$, 如果你没听出来我指的是谁的话),当然了,我们的先进多用户操作系统是不会这么干的,通常来说一台POSIX机器总是会把机器内部时钟调整到UTC(也就是格林威治(GMT)时间),然后再通过hwclock这个工具在启动时,由内核读取转换为sysclock,通常来说x86平台下,sysclock要比hwclock更精准。

背景知识说了那么多,到底怎么将hwclock设置为UTC时间呢?

一、离线手动调

sudo cp /usr/share/zoneinfo/UTC /etc/localtime


#上面这命令,将UTC时间设为本地时间,以便设置hwclock

sudo date MMDDhhmm[YEAR][.SS]


#上面这命令中时间需要是格林治时间(或者称为UTC时间)

sudo hwclock --systohc --utc


#上面这命令,将sysclock同步到硬件时间(就是BIOS里面的时间),同时指定硬件时间需要是UTC时区

sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


#上面这命令,将本地时间设为北京时间(没错,没有beijing这个zoneinfo),不信自己tzselect

date


#上面这命令,将检查本地时间,是不是改回CST时区来了。

#很让人无语的是,man手册也里关于--localtime的说明,实际上仅仅是和--set --systohw --ajust开关同时用的。实事证明:

hwclock --localtime #硬件被设定的时间
hwclock --utc       #显示的是当硬件时间为utc时,的真“本地时间”


参考资料: http://www.linuxfromscratch.org/hints/downloads/files/time.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hwclock linux UTC GMT