Linux下时钟同步问题:Clock skew detected原因分析及解决方法
参考方法一:
出现问题:
warning: Clock skew detected. Your build may be incomplete...
由于时钟同步问题,出现 warning: Clock skew detected. Your build may be incomplete.这样的警告。
具体原因:
in regards to the below warning...
Warning message: Clock skew detected. Your build may be incomplete.
These warnings can occur when the clock on the build machine is out of sync with the timestamps on the source warning
iis7站长之家. Other errors, apparently unrelated but in fact caused by the clock skew, can occur along with the clock skew warnings. These secondary errors may tend to obscure the fact that the true root cause of the problem is an out-of-sync clock. For example, an out-of-sync clock has been known to cause an old version of javac to be used to compile some files, resulting in errors when the pre-1.4 compiler ran across the new assert keyword in the 1.4 source code.
If you see these warnings, reset the clock on the build machine, run "gnumake clobber" or delete the directory containing the build output, and restart the build from the beginning.
解决办法:
find . -type f | xargs -n 5 touch
make clean
make
参考方法二:
在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,这就是问题的原因。如果要确保修改生效可以执行如下命令。
修改时区:
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#clock -w
这个命令强制把系统时间写入CMOS。
参考方法三
在刀片服务器上有两个Linux的服务器,我在上面安装一些软件。结果安装了几个常用的软件像libpng freetype在Make的时候都报一个错误:make:warning:clock skew detected .Your build may be imcompleted。
一看意思肯定跟时间有关。
自己用date查看发现时间严重错误:是2003年的时间。我再ll我的解压出来的文件都是2006年的。如果说安装文件是在2003年之前也许不会报错。就跟以前一样,虽然时间不是很准确但也可以安装。
就想怎么用date来改时间。命令是不记得了。又到网上一查,只有改钟点的,改年月日的找了半天才看有
date -s 2007-7-12 ##改年月日,现在的时间为00:00:00
date -s 18:19:00 ##改时分秒
clock -w ##写入CMOS,这样下次重启才不会回去。
参考方法四
在Linux下编译代码提示:
make: warning: Clock skew detected. Your build may be incomplete
这个错误是由于系统时间比文件修改时间早造成的,一般可以通过修改系统时间来消除错误:
date命令查看当前系统时间
date -s 5/18/2011 命令可以修改系统日期
date -s 16:10:59命令可以修改系统时间
总之保证系统时间与文件修改时间迟或新,那么上面的编译警告就不存在了。
以上方法均搜集自网络,核心方法均为通过date修改时间即可(www.169it.com)。