软件更新机制全解析与Mender实践
1. 软件更新机制概述
软件更新是确保系统安全、稳定和功能不断提升的重要手段。常见的软件更新机制有对称(A/B)镜像更新、非对称镜像更新和原子文件更新三种。
2. 对称镜像更新
- 原理 :系统存在操作系统的两个副本,分别标记为A和B,包含Linux内核、根文件系统和系统应用。引导加载程序有一个标志,初始设置为A,加载OS镜像A。更新时,更新程序覆盖OS镜像B,完成后将引导标志改为B并重启,下次更新则覆盖镜像A并改回标志A。若更新在引导标志更改前失败,引导加载程序继续加载正常的操作系统。
- 开源项目实现
- Mender客户端(独立模式) :后续会详细介绍其使用。
- SWUpdate :可接收CPIO格式包中的多个镜像更新,并部署到系统不同部分。支持用LUA语言编写插件进行自定义处理,支持MTD闪存分区、UBI卷和SD/eMMC存储。
- RAUC :支持原始闪存存储、UBI卷和SD/eMMC设备,可使用OpenSSL密钥对镜像进行签名和验证。
- 缺点
- 更新包大 :更新整个文件系统镜像,更新包体积大,对连接设备的网络基础设施造成压力。可通过对新文件系统与旧版本进行二进制差异比较,只发送更改
超级会员免费看
订阅专栏 解锁全文
7456

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



