谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

物联网项目生命周期:大规模 OTA 更新的关键考虑因素

by Canonical on 7 March 2023

从信息娱乐到信息安全,如今自动化无处不在。智能设备在丰富我们生活的同时也在悄然改变我们的居家生活,使其变得更高效、更具价值、更加环保。

大多数嵌入式设备都采用 Linux 系统,且数量还在不断增长。当我们进入信息时代,屋内遍布存储个人信息,并配备摄像头和麦克风的智能设备,自由软件在推动这场信息革命中起到至关重要的作用。虽然我们坚信开源的力量可以释放创造力,但这一巨大的成功也给 Linux 社区带来了深远的责任。

传统的嵌入式系统基本上都互无连接,手动应用的更新最多仅包含功能修复。新一代的设备都已连接至网络,这使得黑客可利用漏洞攻破安全防线。当前的模式能否为现场的低功耗、不可访问且通常为远程管理嵌入式 Linux 设备提供安全可靠的软件更新?

传统更新机制不适用于物联网设备

多数更新依赖于 tarball 和 shell 脚本,类似于早期 Linux 发行版的演变,tarball 中存在没有依赖关系的软件包。脚本化的更新并不稳健,因为其缺乏原子性,无法在原始闪存中更新内核 [1]

像 dpkg 和 RPM 这样的现代工具和软件包管理器通过包含一组完整的依赖项来解决某些问题,但仍然提供非原子的增量更新。软件包管理器通常替换系统上现有的文件和二进制文件,这些文件常常处于相互依赖的长链中,可能会导致更新后的机器无法工作。如果手动选择软件包来搭建发行版,则需要特定的安装前/安装后脚本,可能导致系统不一致 [2]


使用传统的更新机制时,错误的更新可能会导致物联网设备异常,修复它们需要通过工程师现场操作或召回设备来进行昂贵的人工干预 

当需要恢复至先前的软件版本时,从软件包回收中下载旧版本并将其安装在损坏的系统上,可能需要软件包维护者提供一组复杂的脚本。开发人员通常获取较新或较旧版本的依赖软件包,来解决安装的库对特定软件具有依赖性的问题,这可能会进一步破坏兼容性,并将问题推向另一组软件包 [3]

此外,尽管 apt-get update 适用于安全环境中的服务器,但是现场设备间歇性断电、网络中断意味着更新可能会中断。无论是软件错误、电力中断或是文件系统问题,系统都可能变得不一致,需要花费高昂费用请专家进行手动干预才能恢复。而与标准 Linux 发行版的发布节奏相比,下一代物联网创新的发展日新月异。

OTA 更新的关键考虑因素

物联网设备需要稳健的产品级软件分发机制,能够传输无人监管的空中下载无线(OTA,Over-the-air)更新。OTA 更新不仅需要通过修复错误来保护设备在现场的安全,而且还需要部署新功能以提高设备性能

为 OTA 构建用于更新恢复的故障安全机制和可扩展的基础设施是非常昂贵且耗时的。此外,更新程序必须满足某些要求才能在规模上起效。首先,许多嵌入式设备的远程特性意味着:

  • 它们需要回滚以防错误的更新
  • 该服务需要提供稳健的自动更新 
  • 系统必须有足够的冗余来处理自动重构和无网络引导

提供关键更新也至关重要,因为设备可能需要在常规更新周期之外进行紧急错误修复和漏洞修补。此外,无人监管的更新必须为原子性,以防设备无法使用,并且它们需要保存用户数据。

解决物联网设备的软件更新问题

Canonical,我们如同站在巨人的肩膀上构建 Ubuntu。现在,我们正不断提高自由软件的可能性,同时确保以非凡的安全性进行交付。

通过 Ubuntu Core,我们为物联网设备构建了最简单、最安全的 Ubuntu 版本。由于 Ubuntu Core 是创新者首选的嵌入式 Linux 版本,因此我们致力于通过在第一天自动交付 OTA 更新来确保它的安全。

Ubuntu Core 的更新机制比基于软件包的传统物联网设备方法更快速、更高效且更可靠。Ubuntu Core 允许在系统中进行原子事务更新。内核、根文件系统和所有顶部应用程序都是事务性更新,可实现更快速、更可靠的更新。

系统尝试应用 OTA 增量差来节省带宽。它在成功时向前移动,失败时自动回滚。Ubuntu Core 可减少应用程序更新失败时的修改导致的数据损坏。它会在升级前维护原始数据,需要时允许进行无缝回滚。与替代或更传统的软件包管理器不同,失败的更新从不会让系统处于不可预测的状态。

此外,随着每个软件版本的发布,开发人员可将他们的物联网设备所需的所有内容捆绑到一个软件包中,消除了丢失依赖项的风险。

从最精简的设备到最繁重的 x86 服务器,开发人员现在可以制作原型、构建并发布可用于生产的设备,这些设备将自动更新至最新版本;以及带有所有他们期望从 Ubuntu 得到的安全补丁。Ubuntu Core 及其稳健 OTA 更新机制使得下一代安全、开放和可扩展的物联网设备成为可能,从机顶盒和家庭集线器再到机器人和无人机,推动一波新的创造力和创新浪潮。

延伸阅读

为什么 Linux 是物联网设备的首选操作系统?请参阅嵌入式应用 Linux 官方指南(中)

阅读我们关于物联网生命周期管理的白皮书(英),获取更多见解。

加入物联网话语交流会,讨论与物联网和紧密嵌入式互连设备相关的一切话题。

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Canonical 推出适用于 WSL 的 Ubuntu Pro

适用于 WSL 的 Ubuntu Pro 为 Windows 系统中运行的 Ubuntu 24.04 LTS WSL 实例提供一站式安全维护与企业级技术支持。该订阅服务还能为系统管理员提供全面的管理功能。 今日,Canonical 公司宣布适用于 WSL 的 Ubuntu Pro 服务正式全面上市,用户可通过 Microsoft Store 进行安装。源代码及测试版也可在 GitHub 获取。 Canonical 公司与 Microsoft 建立了良好的合作关系,携手打造优质的 WSL 使用体验。本次合作成果将惠及那些借助 WSL 开发生产级 Linux 解决方案的企业开发者。 Craig Loewen,Microsoft WSL 产品经理 Ubuntu Pro 为桌面端 […]

Ubuntu 正式登陆 Qualcomm Dragonwing™ IQ-9075 平台

Ubuntu 系统发行商 Canonical 公司 2025 年 12 月 1 日宣布,推出适用于 Qualcomm Dragonwing™ IQ-9075 平台的官方认证镜像。这款高性能工业平台现已全面适配 Ubuntu 24.04 LTS 的优化镜像并提供完整技术支持。该官方认证镜像同时适用于 Ubuntu 服务器版和桌面版,为开发者打造了坚实且安全的软件基础,可满足下一代工业自动化、机器人技术及边缘 AI 应用的开发需求。 本次发布是在 Ubuntu 全面适配 QCS6490 和 QCS5430 处理器的基础上推出的,也是 Canonical 公司为 Qualcomm Dragonwing™ 系列处理器提供技术支持的最新举措。 适用于边缘 AI 的高可靠性与高性能  […]

Canonical 发布针对 Thundercomm RUBIK Pi 3 的最新优化版 Ubuntu 镜像

Ubuntu 现已直接适配 Thundercomm RUBIK Pi 3 开发板——一款专为 AI 开发者打造、搭载高通 Dragonwing™ QCS6490 处理器的轻量型开发板。 Ubuntu 发行商 Canonical 2025 年 10 月 23 日正式宣布,推出针对 RUBIK Pi 3 开发板(一款基于 Dragonwing QCS6490 打造的强大 AI 开发板)的优化预装版 Ubuntu 镜像。此次新推出的优化版 Ubuntu 镜像即开即用,能有效缩短产品上市时间,同时提供 Canonical 官方长期技术支持。当前 RUBIK Pi 3 用户也可下载和安装新版 Ubuntu 镜像。  Ubuntu 提供驱动的快速 AI 开发平台 AI 行业发展瞬息万 […]