谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭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 官方指南(中)

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

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

订阅博客文章

订阅您感兴趣的主题

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

查看更多内容

使用 MAAS 部署 VMware 虚拟机管理程序

多数现代数据中心本身均为异构架构。VMware 环境常与容器平台、数据库及其他裸机业务负载共存,多年运行于同一套硬件之上。服务器一次性采购,但会随业务需求变化调整承载业务。 然而,ESXi(VMware 虚拟机管理程序)的配置通常由独立流程负责。主机通过 VMware 工具、自定义脚本或专为将部署 ESXi 到机器中开发的自动化程序完成安装。这些工作流单独运行虽行之有效,却未必能与物理基础设施的其他部分实现统一的追踪与管理。 由此导致了脱节:即便归属同一硬件资源池,ESXi 主机的管理方式仍与数据中心其他设备脱离。随着环境规模扩大、架构日趋多元化,这种割裂式管理会形成业务瓶颈。 将 ESXi 纳入统一裸机平台进行统筹管理将是更具扩展性的方案。这使得 ESXi 的配置流程, […]

什么是 Ubuntu Pro?与标准版有不同吗?功能及内容详解

Ubuntu Pro 是 Canonical 推出的全方位订阅服务,提供开源安全防护、技术支持与合规保障。从长达 15 年的安全维护、全天候技术支持,到面向 IT 管理员的自动化加固工具,深入了解 Ubuntu Pro 订阅包含的全部服务。 Ubuntu Pro 具备哪些功能? Ubuntu Pro 是一套安全合规订阅服务,可为操作系统、应用程序及 IT 运维各层级及时提供补丁与安全维护。它助力企业及其工程师保障软件与系统安全,并通过加固工具、自动化流程及一系列其他功能,为企业满足安全标准合规铺平道路。 了解关于 Ubuntu Pro 的更多信息 › Ubuntu Pro 与标准版 Ubuntu 有何不同? 很多人存在误区,误以为 Ubuntu Pro 是独立版本或全新操 […]

代码热风险 – 软件供应链视角下,容器交付前要先“冷却”

已遭遇的安全漏洞,与即将到来的威胁 2025 年 9 月,npm 软件仓库中包括 chalk 和 debug 在内的数十个热门 JavaScript 软件包遭入侵。这些软件包应用极为广泛,几乎无处不在:前端应用、后端微服务以及 CI 工具中均有使用。开发人员并无任何失误操作,他们只是执行了一贯使用的命令:npm install chalk。但恶意软件却悄无声息地侵入了。 这并非操作系统中的漏洞。也不是某台笔记本电脑上的病毒。这是一次供应链攻击:攻击者在开发者构建软件所使用的组件中植入了恶意代码。手段并不复杂,仅仅是一名开发者遭到钓鱼攻击、一次恶意发布,数百万下游用户便因看似是合法更新而将恶意代码引入系统。 而这确实是一次合法的更新。发布者并非有意植入恶意软件,也对此毫不知 […]