Linux下Clock skew detected的解决办法 && Linux时间戳和标准时间的互转

        在Linux下编译安装软件包时提示:make: warning: Clock skew detected. Your build may be incomplete。修改系统的日期与时间然后重新编译安装,则错误消失。方法如下:

  [root@server vsftpd-2.0.5]# date

  Sat Jan 26 04:33:07 CST 2002

  [root@server vsftpd-2.0.5]# date -s 12/11/2006

  Mon Dec 11 00:00:00 CST 2006

  [root@server vsftpd-2.0.5]# date -s 14:42:50

  Mon Dec 11 14:42:50 CST 2006

  [root@server vsftpd-2.0.5]# date

  Mon Dec 11 14:43:00 CST 2006

  [root@server vsftpd-2.0.5]# clock -w

  [root@server vsftpd-2.0.5]# date

  Mon Dec 11 14:43:33 CST 2006

然后重新make 则正常。在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致 性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令:#clock -w,这个命令强制把系统时间写入CMOS。

        也可以对提示有这问题的文件,用touch执行一次后,就没有编译警告了。比如:touch mediatek/custom/common/uboot/lcm/nt35510/nt35510.c,再编译就不会有问题。

 ===========================================================================================================

        在LINUX系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数。date和date +%s显示当前的时间和时间戳

如何从时间戳转换成标准时间呢?格式诸如date -d "@1438761111"

利用这个时间戳,可以将内核流程与安卓操作流程对应起来,但如果安卓时间已网络同步到最新,两者没有对应关系。

 

 

参考原文:http://linux.ctocio.com.cn/22/8916022.shtml

你可能感兴趣的:(Date,linux,server,Build)