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,运维,服务器)