Debian采取积极措施解决2038年的问题

尽管2038年可能看起来很遥远,但Debian开发团队最近的更新揭示了他们为解决臭名昭著的“2038年问题”所做的积极努力。

然而,在深入研究之前,重要的是向我们的观众准确解释这个问题意味着什么。

什么是“2038年问题”?

“2038年问题”,也称为Y2K38或Unix千禧漏洞,是一个潜在的计算问题,预计将在2038年1月19日或之后影响计算机系统。

之所以会出现这种情况,是因为它们中的许多使用了一种时间格式,该格式计算自Unix epoch(1970年1月1日00:00:00UTC)以来的秒数,并将该值存储为带符号的32位整数。但是,带符号的32位整数可以表示的最大值为2147483647(2^31–1)。

因此,当在2038年1月19日03:14:07 UTC达到此限制时,计数器将溢出,导致时间值换行并被解释为1901年12月13日,在将计数器解释为带符号值的系统中,或在对其进行不同解释的系统中解释为其他错误日期的系统中。

这种溢出可能会导致依赖时间和日期计算的应用程序和系统(如数据库、财务系统和关键基础设施系统)出现各种错误。问题可能包括不正确的计算、系统崩溃以及其他取决于时间和日期函数的不可预测行为。

Debian的Devs采取主动措施

Debian已经开始实施关键更新,以解决即将到来的“2038年问题”GCC 13和GCC 14的实验版本已上传到不稳定分支,并成功解决了最后已知的阻断剂。

Debian向64位过渡的主动措施
时间_t
对于防止与Y2K38相关的潜在问题,确保系统长期保持功能和可靠性至关重要。

关于这一点,建议开发商在未来几天谨慎行事,特别是那些软件包受到
时间_t
ABI过渡。

最后,考虑到64位
时间_t
已经处于Debian不稳定回购中,它必须通过测试库,并(最终)最终进入稳定的Debian 13“Trixie”版本,预计将于2025年年中发布。

尽管2038年1月19日这一关键日期距离未来只有14年——到那时,不仅Debian 13的“Trixie”,而且随后的几个主要版本都将长期得不到支持——但开发人员的积极行动并不令人惊讶。

考虑到这是Debian,一个以致力于稳定而闻名的项目,将所有相关事项放在首位是理所当然的。

有关这方面的更多信息,请访问Debian的邮件列表公告。