![为什么当时钟不同步时 apt 更新源有时会失败?](https://linux22.com/image/937656/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BD%93%E6%97%B6%E9%92%9F%E4%B8%8D%E5%90%8C%E6%AD%A5%E6%97%B6%20apt%20%E6%9B%B4%E6%96%B0%E6%BA%90%E6%9C%89%E6%97%B6%E4%BC%9A%E5%A4%B1%E8%B4%A5%EF%BC%9F.png)
这个问题困扰了我好几个月,现在成了一个学术问题。我有一个可行的解决方案,但想了解“为什么”。为什么当系统时钟错误时,sources.list 中的某些源有时会无法以以下方式更新:
E: Release file for http://archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease is not valid yet (invalid for another 9h 14min 16s). Updates for this repository will not be applied.
有时同一个源会更新正常。我知道解决方法,但其明显的随机性令人困惑。Release 文件是否经常更新,以及时间戳是否被检查,因为……?
有关该问题和解决方案的更多详细信息,但没有关于正在发生的事情的详细解释:
答案1
如果你查看位于的文件http://archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease您将看到这是一条 PGP 签名消息。如果您检查签名,则日期为 2021 年 5 月 15 日 4:10:29 UTC。
签名验证的一部分包括检查签名当前是否有效,即计算机时钟指示的当前时间不在签名创建之前也不在签名过期之后。