嵌入式Linux系统软件更新基础与方法
1. 软件更新涉及的组件
在设备的软件更新中,主要涉及以下几类组件:
- 系统应用程序 :是设备的主要负载,实现设备的主要功能。为修复漏洞和添加新特性,它们可能会频繁更新。系统应用程序可以与根文件系统捆绑在一起,不过为了便于更新,以及区分通常为开源的系统文件和常为专有软件的应用程序文件,也常将其放在单独的文件系统中。
- 设备特定数据 :由运行时修改的文件组合而成,包括配置设置、日志、用户提供的数据等。这类数据不常更新,但在更新过程中需要保留,因此需要存储在单独的分区中。
- 需要更新的组件 :更新可能包括内核、根文件系统和系统应用程序的新版本。而设备的其他分区,如设备运行时数据所在分区,不应在更新中受到影响。
2. 软件更新的基本要求
软件更新看似简单,只需用新文件覆盖旧文件,但实际会面临诸多问题,如更新时断电、更新存在未发现的漏洞导致部分设备无法启动、第三方发送虚假更新使设备加入僵尸网络等。因此,软件更新机制至少要满足以下要求:
- 健壮性 :确保更新不会使设备无法使用。
- 故障安全 :在出现问题时有回退模式。
- 安全性 :防止设备被安装未经授权更新的人劫持。
3. 使更新具备健壮性
与服务器不同,设备常部署在偏远地区,面临间歇性供电和网络连接不佳的问题,更新易中断,且修复故障更新的成本高昂。所以,嵌入
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



