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

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

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

订阅博客文章

订阅您感兴趣的主题

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

查看更多内容

Edge Computing Examples

您应当知道的 5 个边缘计算示例 在日新月异的科技世界中,创新是保持领先地位的关键。在企业追求效率、速度和实时数据处理能力的趋势下,人们越来越关注边缘计算。  边缘计算代表了数据处理和分析方式的范式转变。与将数据处理集中在远程数据中心的传统云计算不同,边缘计算是将数据处理带到了更接近数据源的地方。这样不仅减少了延迟,而且为各行各业开辟了一个充满可能性的世界。 我很高兴通过本篇博客跟大家一起来探讨这项尖端技术的示例及各种应用和用例,文中将特别着重于探讨 Canonical 的 MicroCloud 如何无缝地适应这一转变格局。 各行各业边缘计算示例 智慧城市和城市规划 边缘计算在智慧城市的发展中起着至关重要的作用。通过在整个城市环境中部署传感器、摄像头等边缘设备,数据可以就 […]

Canonical 发布 Ubuntu 24.04 LTS Noble Numbat

Canonical 的第 10 个长期支持版本树立了在性能工程、企业安全和开发人员体验方面的新标准。 伦敦,2024 年 4 月 25 日 Canonical 今日正式发布 Ubuntu 24.04 LTS,代号“Noble Numbat”(尊贵的袋食蚁兽),用户可前往 https://ubuntu.com/download 下载并安装。 Ubuntu 24.04 LTS 建立在前三个中期版本的进步以及世界各地开源开发人员的贡献之上,只为确保一个安全、优化和具有前瞻性的平台。 Canonical 首席执行官 Mark Shuttleworth 称:“Ubuntu 24.04 LTS 在性能工程和机密计算方面迈出了大胆的一步,实现了一个企业级创新平台,支持期限至少为 12 […]

Canonical 从 Ubuntu 14.04 LTS 开始将安全支持期限延长至 12 年

Canonical 全面推出 Ubuntu Pro 附加组件 Legacy Support,并将 Ubuntu LTS 版本的安全支持延至 12 年。该附加组件将适用于 Ubuntu 14.04 LTS 及之后的版本。 长期支持的 Ubuntu 版本可享受针对主要 Ubuntu 资源库的五年标准安全维护。Ubuntu Pro 将针对主要资源库和总体资源库的这一安全维护承诺期限延至 10 年,为企业和最终用户等提供了一个巨大的安全开源软件库。订阅还可享受电话和工单等支持服务。Ubuntu Pro 付费客户可以购买新推出的 Legacy Support 附加组件,享受额外两年的安全维护和支持服务。 Canonical 支持工程全球副总裁 Maximilian Morgan 称 […]