2038年1月19日凌晨3点14分,全球32位Linux设备集体死机倒计时只剩13年,Debian抢先动手了。
当年Y2K靠加班修代码过关,这次直接换64位时间戳,连根拔起。
Debian 13 Trixie开始,所有32位包默认塞进64位time_t,6429个软件包连夜翻修,连老掉牙的i386也留了个32位兼容壳。
32位系统最大只能数到2147483647秒,对应2038年1月19日。
时间一过,带符号整数瞬间变负,系统日期跳回1901年,日志、证书、数据库全乱套。
手机、路由器、车载中控、工业机床,凡是用老内核的都可能黑屏。
Debian的做法分三步:先把自家仓库里所有time_t换成64位,再让i386继续跑32位兼容层,最后把hurd-i386扔进冷宫,全力转hurd-amd64。
实测发现,九成软件重新编译就能跑,剩下一成需要改代码,主要是把int换成time_t。
老机器不是唯一受害者。
Windows XP及更早版本、部分嵌入式RTOS、银行ATM里的精简系统,同样躲不过。
微软早在Win8就切到64位时间,可ATM厂商为了省钱还在用XP Embedded,到时候取钱可能提示“1901年余额不足”。
13年听起来很长,但设备生命周期比想象久。
你家十年前的NAS、小区门禁、甚至某些高铁信号模块,固件更新早就停更。
Debian提前动手,是给整个Linux生态打样:别等死线whatsapp网页版,先动手。
个人用户现在就能自查。
打开终端输入date -d @2147483647,如果系统没报错,说明已经是64位时间。
手机用户更简单,安卓5.0以上基本都安全whatsapp登录,真正危险的是藏在角落里的路由器、摄像头、智能插座。
企业更得紧张。
工业现场一堆跑Debian 7的工控机,升级一次要停产一周。
Debian官方给出迁移脚本,先跑测试环境whatsapp网页版,再分批替换,能省不少半夜抢修的钱。
换架构不是终点。
64位时间戳也只能撑到2920亿年,够人类用到宇宙热寂。
真正的问题是,还有多少设备厂商愿意为未来13年负责。
Debian这次抢先,等于把压力甩给上游:跟不跟?
不跟就等着2038年一起加班。