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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

那么你会说,怎么检查我的硬件时间是不是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


转载于:https://my.oschina.net/doomred/blog/351273

你可能感兴趣的:(如何理解hwclock的输出与设置?)