嵌入式Linux系统-升级包中的脚本

简介: 嵌入式Linux系统-升级包中的脚本

脚本在Linux系统中具有很大的作用,在嵌入式Linux系统里,同样具有很大的作用,前面写过启动预留脚本、U盘自动运行脚本,今天介绍的是升级包中的脚本。


设计一个嵌入式Linux升级包


嵌入式Linux系统的升级包,可以升级内核、文件系统、应用程序、配置文件、资源文件等等,所以在设计升级包时,一定要考虑到可以升级多种文件载体,而不是只针对一种文件的升级。


记得刚毕业工作的时候,产品做升级功能,刚开始做了内核、文件系统、应用程序的升级包,后来由于客户需要,需要远程升级资源文件,然后就在升级类型中又加了一种类型,后来又要做配置升级,就又加了一种配置升级……这样导致平台上的远程升级方式有很多种,不利于使用和维护。


比较好的做法就是把升级的具体执行动作交给“升级包”,也就平台与设备之间,只是下载一个升级包就行了,至于是升级的内核、文件系统还是资源文件,平台和设备都不关注,具体的升级是由升级包自己完成的,那么这就需要升级包里有个“小的升级程序”,这也就是今天要讲的主角----升级包中的脚本。


那么这个升级包的基本结构配置就有了:


  1. 要升级的文件(镜像文件、配置文件、资源文件等等)
  2. 升级脚本


升级脚本


这个升级脚本就是这个升级包的关键,升级脚本的内容是根据升级的具体文件来定的,如果是升级内核,脚本里就写上升级内核的命令;如果升级文件系统,就写升级文件系统的命令,如果是升级资源文件,就写上替换资源文件的命令……这样就大大提高了升级包的灵活性。


脚本里包括以下几项基本内容:


  1. 启动升级命令
  2. 升级进度反馈
  3. 升级结果反馈
  4. 清除升级包临时文件


升级的进度和结果反馈,可以在系统里自己写一个和主程序通信的小程序,脚本可以调用这个小程序去反馈进度和执行结果。


升级执行流程


首先要制作一个升级包,升级文件和升级脚本打包添加校验和版本信息,参见前文介绍过的《制作一个嵌入式Linux的应用程序升级文件》,添加校验和版本信息,这样不用再添加额外的文件去记录这些信息了,便于传输和保存。


通过远程下载到设备或者U盘导入到系统里,然后通过主程序去校验升级文件和版本信息,然后解压升级包,启动升级脚本即可,剩下的升级过程就交给脚本去做了。


目录
相关文章
|
1天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
22 3
|
1天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
3天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。Linux系统
|
2天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
2天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
4天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
6月前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
1494 0
|
6月前
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
226 0
|
15天前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
|
2月前
|
Ubuntu Linux 网络安全
从头安装Arch Linux系统
本文记录了作者安装Arch Linux系统的过程,包括安装成果展示和遇到的疑难点及其解决方法,如硬盘不足、下载失败、设置时区、安装微码和配置无密码登录等。
从头安装Arch Linux系统