Cnbeta 前天 07:57
Debian开始全面切换到64位架构 以避免Y2K38灾难
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Debian Linux发行版正着手解决即将到来的Y2K38问题,即32位Unix时间戳在2038年1月19日将发生溢出。鉴于Debian悠久的历史及其在32位架构上运行的敏感计算,开发人员选择提前行动,而非等到最后一刻。从Debian 13“Trixie”开始,将统一采用64位time_t格式,即使在32位架构上也是如此,以确保系统在2038年后的正常运行。此举将影响大量软件包,并可能对部分应用程序带来兼容性挑战,因此鼓励用户进行测试。

👴Y2K38问题源于32位Unix时间戳的符号表示将在2038年1月19日03:14:07 (UTC)时溢出,这可能导致依赖此格式的软件出现错误,类似于1999年人们对千年虫的担忧。

💻Debian发行版因其悠久历史以及许多敏感计算仍在32位架构上运行,正主动解决Y2K38问题。开发人员希望避免类似Y2K那样在最后一刻仓促解决的情况。

🚀从Debian 13“Trixie”开始,Debian将为所有架构(包括32位)采用64位time_t格式,以确保系统能够正确处理2038年后的日期和时间。

🔧这一改变影响广泛,Debian维护人员在检查中发现了6,429个软件包使用了time_t变量。虽然i386移植将保留32位time_t以兼容现有二进制文件,但提议创建新的“i686”架构以支持64位时间。

⚠️对于部分应用程序而言,time_t变量的切换可能是一个重大更改,因此强烈建议用户利用Debian wiki上的测试程序来评估其应用程序对time_t变量开关的响应情况,以确保平稳过渡。

上了岁数的人可能还记得千年虫问题 (Y2K)。当时,人们普遍认为,一旦进入2000年,飞机就会从天上掉下来。这主要是因为当时许多软件应用程序通常只使用年份的最后两位数字来存储年份数据,这意味着2000年与1900年难以区分。幸运的是,由于众多软件供应商和工程师的不懈努力,我们得以避免2000年问题。现在,距离类似的问题还有几年的时间,Linux发行版Debian似乎正试图在其自己的操作系统中解决这个问题。

而较旧的 32 位架构将在 2038 年面临 Y2K38 问题。这是因为 Unix 日期时间值的带符号表示将溢出 32 位空间,从而导致相关软件出现错误。Debian 是一个相当古老的发行版,其第一个版本可以追溯到 1993 年,因此维护人员表示,许多敏感计算仍在 32 位架构上进行。尽管距离 2038 年还有大约 13 年的时间,但据The Register报道,开发人员希望主动解决这个问题,而不是像 Y2K 问题那样在最后一刻仓促解决。

Y2K38 的另一个名称是Unix 末日 (Unix Epochalypse),因为它会影响在有符号 32 位空间中以 Unix 格式存储日期时间值的系统。2038 年 1 月 19 日 03:14:07 (UTC),该空间将溢出。

因此,从Debian 13 “Trixie”版本开始,Debian 维护人员即使在 32 位架构上也将使用64 位 time_t格式。这可不是个小改动,因为维护人员在 6,429 个软件包中随机发现了time_t变量的使用。维护人员继续说道

i386 移植将保留现有的 32 位 time_t,作为现有 x86 二进制文件的兼容架构。如果大家对将 32 位 x86 引入其目前非常有限的发展空间充满热情,那么可以创建一个新的“i686”x86 ABI/架构,该架构使用 64 位时间以及可能更新的 ISA 特性。hurd-i386 移植将不会进行切换,因为其内核缺乏支持,目前正在努力切换到 hurd-amd64。

对于某些应用程序来说,这可能是一个重大更改,因此,利用 Debian wiki测试程序对 time_t 变量开关的响应非常重要。有趣的是,Y2K38 也可能影响某些较旧的 Windows 程序和不再受支持的 Windows 操作系统。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Debian Y2K38 时间戳 Linux 操作系统
相关文章