IT之家 7 月 8 日消息,和其他许多操作系统一样,安卓也使用开源的 Linux 内核。Linux 内核有多种发布版本,但对安卓最重要的是长期支持 (LTS) 版本,因为 LTS 版本会定期更新重要错误修复和安全补丁。2017 年,Linux LTS 版本的支持期限从两年延长到六年,但这一延长政策在去年初被取消了。不过,现在谷歌宣布了一个好消息:他们将自己为 LTS 内核提供长达四年的支持。这对于保障安卓设备安全至关重要。
图源 Pexels
据 AndroidAuthority 报道,安卓设备使用的 Linux 内核大多源自谷歌的 Android 通用内核 (ACK) 分支,这些 ACK 分支是在上游发布新的 LTS 版本时从安卓主线内核分支创建的。例如,当内核版本 6.6 被宣布为最新的 LTS 版本后,不久就会出现 android15-6.6 的 ACK 分支,名称中的“android15”指代了该内核对应的安卓版本(在本例中是安卓 15)。
谷歌维护自己的一套 LTS 内核分支主要有三方面的原因。首先,谷歌可以将上游尚未发布的功能通过反向移植或挑选的方式集成到 ACK 分支中,从而满足安卓特定的需求。其次,谷歌可以在 ACK 分支中提前加入一些正在上游开发中的功能,使其尽早用于安卓设备。最后,谷歌还可以加入一些供应商或原始设备制造商 (OEM) 的功能,供其他安卓合作伙伴使用。
创建完成后,谷歌会继续更新 ACK 分支,不仅包含针对安卓特定代码的漏洞修复,还会集成上游内核分支的 LTS 合并内容。例如,2024 年 7 月的安卓安全公告中披露的 Linux 内核漏洞,就会通过这些更新得到修复。
然而,区分漏洞修复和其他 bug 修复并非易事,因为修复 bug 的补丁程序也可能意外堵塞了提交者不知道或选择不披露的安全漏洞。谷歌会尽力识别这种情况,但难免有遗漏,导致上游 Linux 内核的漏洞修复早于安卓设备几个月发布。因此,谷歌一直敦促安卓厂商定期更新 LTS 内核,以免因意外披露的安全漏洞而措手不及。
显然,Linux 内核 LTS 版本对于安卓设备的安全至关重要,它能帮助谷歌和厂商应对已知和未知的安全漏洞。支持期限越长,谷歌和厂商就越能及时为设备提供安全更新。
遗憾的是,虽然延长支持期限对谷歌和厂商有利,但却给许多为 Linux 内核贡献的开发者和维护人员带来了巨大压力,其中许多人都是无偿的志愿者。此外,除去安卓和嵌入式设备,运行老旧 Linux 版本的设备数量也并不多。
出于以上原因,Linux 维护者决定不再为 LTS 内核提供长达六年的支持,而是将期限缩短回两年。这一消息于 2023 年初公布,让许多观察人士担心安卓生态会受到怎样的影响。一些人认为这会迫使厂商开始进行重大内核版本升级以保持最新,另一些人则认为谷歌或芯片厂商会自行延长 LTS 支持。
谷歌做出了后一种选择。在 ACK 的开发者页面上,谷歌写道:“从内核 6.6 开始,稳定内核的支持期限为 4 年。”之前的一句话也提到,“ACK 的支持期限可能会长于 kernel.org 上对应的上游稳定内核。在这种情况下,谷歌会提供延长的支持,直到本节所述的终止支持 (EOL) 日期为止。”内核到达 EOL 日期后,不仅会停止谷歌的官方支持,更重要的是,“运行该内核的设备将被视为存在安全漏洞”。
以前长达六年的 Linux LTS 生命周期允许安卓厂商在内核生命周期的第一年、第二年甚至第三年发布设备,仍然可以享受几年的上游支持。
然而,由于谷歌现在只为新的 ACK 分支提供四年支持,厂商就无法再这么做了。因此,从安卓 15 开始,设备只能搭载 android14-6.1 或 android15-6.6 这两个最新的内核版本。其中前者会支持到 2029 年 7 月,后者会支持到 2028 年 7 月,这意味着今年发布的设备即使使用这些内核版本,也能在未来三到五年内获得支持。
展望未来,谷歌表示将只为每个内核版本提供一个新的 ACK 分支,这也是为什么没有推出 android15-6.1 分支的原因。这在一定程度上简化了流程,但最终,如果厂商想要承诺更长久的手机更新策略,就需要开始进行重大内核版本升级了。
热门跟贴