zoukankan      html  css  js  c++  java
  • linux下的clock skew detected

    今天在虚拟机上用GCC编译一个程序的时候,出现了下面的错误:

    1. make: warning: Clock skew detected. Your build may be incomplete

      试了make clean后再make,仍然是同样的问题,并且make clean/make时,一直循环不停止。最后发现这个错误的原因在于系统时间比文件修改时间早,看了下我的系统时间竟然还是2012-01-13,而今天都已经是2012-01-31呢,于是修改时间后重新编译,问题解决。

    Linux下用date命令可查询和修改系统时间(root权限才可修改)

    1. date    查询系统时间
    2. date -s 1/31/2012   命令可以修改系统日期
    3. date -s 22:34:50    命令可以修改系统时间

    在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 并 make install则安装正常。

      注意,这里说的是系统时间,是linux由操作系统维护的。

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

      #clock -w

      这个命令强制把系统时间写入CMOS。

  • 相关阅读:
    【leetcode】Sum Root to Leaf Numbers(hard)
    【leetcode】First Missing Positive(hard) ☆
    【leetcode】Next Permutation(middle)
    【好玩的应用】QQ连连看辅助工具
    【leetcode】Binary Tree Preorder Traversal (middle)★
    【leetcode】Reverse Words in a String(hard)☆
    【leetcode】Same Tree(easy)
    【leetcode】Factorial Trailing Zeroes(easy)
    【leetcode】Maximum Gap(hard)★
    Behavioral模式之Chain of Responsibility模式
  • 原文地址:https://www.cnblogs.com/chunlifang-luck/p/3184290.html
Copyright © 2011-2022 走看看