别担心,你的32位软件包在2038年后不会出现问题,因为Debian团队已经开始处理这个问题了。

为了未来保护这个“通用操作系统”,Debian项目正在积极修补32位软件,以适应2038年后的日期,这是一个臭名昭著的时间问题。从历史上看,Unix和类Unix系统,包括Linux,在表示时间时使用了一个32位整数,从1970年开始计算秒数。然而,这种方法在2038年达到极限,对于依赖32位架构的系统来说,这是一个挑战。

Debian项目的倡议是更广泛转型的一部分,64位time_t的转型正在Debian实验中进行。主要目标是在即将发布的Debian 13 “Trixie”版本中为32位架构提供处理2038年后时间戳的能力。这次转型的目标是尽可能不干扰现有的32位系统。

实施计划在debian-devel邮件列表上讨论,涉及大规模的非维护者上传(NMU),用于调整超过1200个库软件包,以适应预计会导致ABI破坏的变化。截至最新更新,已经有大约500个库已经上传到实验分支。

计划进一步包括将dpkg上传到不稳定版本,并默认启用“abi=time64”。随后,将会启动对不稳定版本的NMU,以解决一开始由于版本冲突而无法上传到实验版本的任何软件包。一旦构建完成,将会为所有反向依赖项触发二进制NMU。

这次转型的一个值得注意的方面是包括了一些库软件包,它们的ABI受到64位time_t转变的影响尚未被明确证明。将这些软件包包含在内的决定源自于实用主义的方法,优先考虑效率而不是详尽的分析,鉴于对每个软件包进行彻底分析的工程成本。

如果你受到影响或者评估了你的项目的影响,请访问邮件列表中的官方帖子。你也可以在debian-devel中发帖询问任何问题。

发表回复