我正在使用两台虚拟化服务器,由于某种原因,它们的计时非常差,因此一台服务器总是比另一台服务器快一点(最多 2 秒)。我遇到的问题是,我在一台服务器上“将来”构建软件包,然后另一台机器拒绝安装它们。构建-上传-安装是一个步骤,所以我可以添加延迟,但我宁愿不这样做。
有没有办法告诉 dpkg 忽略时间戳?
错误信息如下:
[exec] Command: sudo /usr/bin/dpkg -i /home/deploy/Media/Media_2011-09-06_100724.deb
[exec] Error: tar: ./control: time stamp 2011-09-06 10:07:47 is 2.68160212 s in the future
[exec] tar: ./control-template: time stamp 2011-09-06 10:07:46 is 1.681412205 s in the future
[exec] tar: ./postinst: time stamp 2011-09-06 10:07:46 is 1.681347869 s in the future
[exec] tar: .: time stamp 2011-09-06 10:07:47 is 2.681313485 s in the future
(它是 Ant 脚本的一部分)
答案1
最好的选择是安装该ntp
软件包以使时间同步正常工作,但除此之外,您可以通过安装该faketime
软件包并使用“-f +10s”运行它,欺骗其他系统的“dpkg”认为它生活在未来:
$ date +%H:%M:%S; faketime -f +10s date +%H:%M:%S
22:38:52
22:39:02