CN113204351B - 一种嵌入式***包管理方法及其使用方法 - Google Patents
一种嵌入式***包管理方法及其使用方法 Download PDFInfo
- Publication number
- CN113204351B CN113204351B CN202110759306.5A CN202110759306A CN113204351B CN 113204351 B CN113204351 B CN 113204351B CN 202110759306 A CN202110759306 A CN 202110759306A CN 113204351 B CN113204351 B CN 113204351B
- Authority
- CN
- China
- Prior art keywords
- package
- installation package
- installation
- embedded system
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种嵌入式***包管理方法及其使用方法,所述嵌入式***包管理方法包括:S1:编译并生成固定封装格式的安装包;S2:搭建所述安装包的包管理服务器;S3:创建所述安装包的设备端包管理工具。本发明所提供的嵌入式***包管理方法及其使用方法,以解决在现有的使用Buildroot构建的根文件***中增删应用程序流程步骤过于繁琐、不支持软件包在线升级且支持的软件包不够丰富的问题。
Description
技术领域
本发明涉及嵌入式技术领域,具体涉及一种嵌入式***包管理方法及其使用方法。
背景技术
目前的嵌入式根文件***构建方式主要包含四种,分别是Buildroot、YoctoProject、Openwrt,和使用发行版Linux的Rootfs进行定制,即Desktop Distros,如Ubuntu等。
这四种嵌入式根文件***构建方式中,Buildroot方式构建嵌入式根文件***是最为优越的方式。Buildroot支持源码级构建;Bulidroot资源开销较小且优于YoctoProject和Desktop Distros;Bulidroot支持的功能丰富程度优于Desktop Distros;Buildroot框架学习成本低,优于Yocto Project和Desktop Distros;Buildroot产业化程度高,优于Openwrt和Desktop Distros。Buildroot唯一的不足是不支持包管理机制,而Yocto Project和Openwrt同样不支持包管理机制。
发明内容
本发明的目的在于提供一种嵌入式***包管理方法及其使用方法,以解决现有的Buildroot构建的根文件***中增删应用程序流程步骤过于繁琐、不支持软件包在线升级且支持的软件包不够丰富的问题。
本发明解决上述技术问题的技术方案如下:
本发明提供一种嵌入式***包管理方法,所述嵌入式***包管理方法包括:
S1:编译并生成固定封装格式的安装包;
S2:搭建所述安装包的包管理服务器;
S3:创建所述安装包的设备端包管理工具。
可选择地,所述步骤S1包括以下分步骤:
S11:定义所述安装包的封装格式;
S12:按照所述封装格式将所述安装包生成软件包。
可选择地,所述步骤S11包括以下分步骤:
S111:定义所述安装包的封装信息,其中,所述封装信息包括软件自身信息、软件版本信息、安装步骤信息和启动脚本;
S112:将待安装的所有文件按照目录依次存放入所述安装包。
可选择地,所述步骤S12包括以下分步骤:
S121:按照所述封装格式生成开源软件包;
S122:按照所述封装格式生成自研软件包。
可选择地,所述步骤S121中,生成所述开源软件包之前,还包括:
A1:将所述安装包拷贝至嵌入式***的独立位置;
A2:梳理所述安装包与其他安装包之间的依赖关系;
A3:构建打包工具,以用于将所有安装内容打包,其中,所述所有安装内容包括所述安装包、所述步骤A1和所述步骤A2中的全部内容。
可选择地,所述步骤S2中,搭建所述安装包的包管理服务器用于:
提供所述安装包的url供设备端访问;和/或
对所述安装包中具体某个子安装包提供url供设备端下载,和/或
按需增加下载验证机制。
可选择地,所述步骤S3中,所述设备端包管理工具支持离线管理和在在线管理,所述离线管理包括:在无网络的状态下下载所述安装包。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具用于:安装已经存在磁盘上的所述安装包;和/或卸载所述安装包中已制定名称的软件包;和/或更新所述安装包中已经安装的软件包;和/或查看所述安装包的信息。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具还用于:
配置所述安装包的源地址;和/或支持从所述源地址获取该源支持的所有安装包信息,所述所有安装包信息包括所述安装包信息与所述安装包的具体下载url;和/或支持将所述安装包从url中下载到本地磁盘;和/或支持查找源中是否包含某个子安装包的功能。
基于上述技术方案,本发明还提供一种根据上述的嵌入式***包管理方法的使用方法,所述使用方法包括:
B1:将需要的包编译并生成固定封装格式的初始安装包;
B2:通过离线安装的方式调试所述初始安装包的正确性,得到调试好的安装包;
B3:将所述调试好的安装包上传至包管理服务器中;
B4:通过工具命令查找所述包管理服务器中调试好的安装包中的某个子安装包;
B5:通过工具命令安装所述某个子安装包;
B6:运行所述某个子安装包中包含的二进制程序或动态库。
本发明具有以下有益效果:
1、简化Buildroot构建的根文件***中增删应用程序的流程步骤;
2、在Buildroot构建的根文件***中,支持软件包的在线升级;
3、提升Buildroot构建的根文件***中,支持的软件包丰富程度与数量,包括支持自研软件包的安装与各类开源软件包的重新封装打包以及安装。
附图说明
图1为本发明所提供的嵌入式***包管理方法的流程图;
图2为图1中步骤S1的分步骤流程图;
图3为图2中步骤S11的分步骤流程图;
图4为图2中步骤S12的分步骤流程图;
图5为图4中步骤S121之前所述嵌入式***包管理方法的分步骤流程图;
图6为本发明所提供的嵌入式***包管理方法的使用方法的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例
本发明解决上述技术问题的技术方案如下:
本发明提供一种嵌入式***包管理方法,参考图1所示,所述嵌入式***包管理方法包括:
S1:编译并生成固定封装格式的安装包;这个过程可以是由开发者来操作的,具体来说,参考图2,所述步骤S1包括以下分步骤:
S11:定义所述安装包的封装格式;这里,参考图3,定义安装包的封装格式又包括:
S111:定义所述安装包的封装信息,其中,所述封装信息包括软件自身信息、软件版本信息、安装步骤信息和启动脚本;软件自身信息又具体包括安装包对应的CPU架构、版本号、软件名和编译名称等,安装步骤信息包括说明该安装包如何安装到嵌入式***中的,启动脚本用于***启动时启动该安装包中的软件。
S112:将待安装的所有文件按照目录依次存放入所述安装包,以用于安装时将对应的文件安装到相应的位置。
S12:按照所述封装格式将所述安装包生成软件包,具体的,安装包包括两部分:开源软件包,也就是编译框架自带的包;以及自研软件包,也就是通过编译框架与编译脚本实现将用户自己开发的软件一键生成软件安装包,参考图4,因而步骤S12包括以下分步骤:
S121:按照所述封装格式生成开源软件包;
生成开源软件包,主要是指将Buildroot中内置的包转换为本发明所定义的封装格式的安装包。这里需要对Buildroot框架进行修改,在编译完成某个包的时候,将其生成的有效文件自动生成一个指定封装格式的安装包。因此,所述步骤S121中,生成所述开源软件包之前,参考图5,还包括:
A1:将所述安装包拷贝至嵌入式***的独立位置;
A2:梳理所述安装包与其他安装包之间的依赖关系;
A3:构建打包工具,以用于将所有安装内容打包,其中,所述所有安装内容包括所述安装包、所述步骤A1和所述步骤A2中的全部内容。
S122:按照所述封装格式生成自研软件包。
S2:搭建所述安装包的包管理服务器;
这里,搭建所述安装包的包管理服务器用于:
提供所述安装包的url供设备端访问;和/或对所述安装包中具体某个子安装包提供url供设备端下载,和/或按需增加下载验证机制。本领域技术人员可结合本发明以及实际情况对包管理服务器的功能进行选择性设置及使用,本发明不做具体限制。
S3:创建所述安装包的设备端包管理工具。
可选择地,所述步骤S3中,所述设备端包管理工具支持离线管理和在线管理,所述离线管理包括:在无网络的状态下下载所述安装包。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具用于:安装已经存在磁盘上的所述安装包;和/或卸载所述安装包中已制定名称的软件包;和/或更新所述安装包中已经安装的软件包;和/或查看所述安装包的信息。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具还用于:
配置所述安装包的源地址;和/或支持从所述源地址获取该源支持的所有安装包信息,所述所有安装包信息包括所述安装包信息与所述安装包的具体下载url;和/或支持将所述安装包从url中下载到本地磁盘;和/或支持查找源中是否包含某个子安装包的功能。
基于上述技术方案,本发明还提供一种根据上述的嵌入式***包管理方法的使用方法,参考图6,所述使用方法包括:
B1:将需要的包编译并生成固定封装格式的初始安装包;
B2:通过离线安装的方式调试所述初始安装包的正确性,得到调试好的安装包;
B3:将所述调试好的安装包上传至包管理服务器中;
B4:通过工具命令查找所述包管理服务器中调试好的安装包中的某个子安装包;
B5:通过工具命令安装所述某个子安装包;
B6:运行所述某个子安装包中包含的二进制程序或动态库。
本发明具有以下有益效果:
1、简化Buildroot构建的根文件***中增删应用程序的流程步骤;
2、在Buildroot构建的根文件***中,支持软件包的在线升级;
3、提升Buildroot构建的根文件***中,支持的软件包丰富程度与数量,包括支持自研软件包的安装与各类开源软件包的重新封装打包以及安装。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种嵌入式***包管理方法,其特征在于,所述嵌入式***是基于Buildroot构建的根文件***,且所述嵌入式***包管理方法包括:
S1:编译并生成固定封装格式的安装包;
S2:搭建所述安装包的包管理服务器;
S3:创建所述安装包的设备端包管理工具;
所述步骤S2中,搭建所述安装包的管理服务器用于:
提供所述安装包的url供设备端访问;和/或
对所述安装包中具体某个子安装包提供url供设备端下载,和/或
按需增加下载验证机制;所述步骤S1包括以下分步骤:
S11:定义所述安装包的封装格式;
S12:按照所述封装格式将所述安装包生成软件包;
所述步骤S12包括以下分步骤:
S121:按照所述封装格式生成开源软件包;
S122:按照所述封装格式生成自研软件包;
所述步骤S3中,创建所述安装包的设备端包管理工具用于:
安装已经存在磁盘上的所述安装包;和/或
卸载所述安装包中已制定名称的软件包;和/或
更新所述安装包中已经安装的软件包;和/或
查看所述安装包的信息;
所述步骤S3中,创建所述安装包的设备端包管理工具还用于:
配置所述安装包的源地址;和/或
支持从所述源地址获取该源的所有安装包信息,其中,所述源地址包括所述源,所述所有安装包信息包括所述安装包信息与所述安装包的具体下载url;和/或
支持将所述安装包从url中下载到本地磁盘;和/或支持查找源中是否包含某个子安装包的功能。
2.根据权利要求1所述的嵌入式***包管理方法,其特征在于,所述步骤S11包括以下分步骤:
S111:定义所述安装包的封装信息,其中,所述封装信息包括软件自身信息、软件版本信息、安装步骤信息和启动脚本;
S112:将待安装的所有文件按照目录依次存放入所述安装包。
3.根据权利要求1所述的嵌入式***包管理方法,其特征在于,所述步骤S121中,生成所述开源软件包之前,还包括:
A1:将所述安装包拷贝至嵌入式***的独立位置;
A2:梳理所述安装包与其他安装包之间的依赖关系;
A3:构建打包工具,以用于将所有安装内容打包,其中,所述所有安装内容包括所述安装包、所述步骤A1和所述步骤A2中的全部内容。
4.根据权利要求1所述的嵌入式***包管理方法,其特征在于,所述步骤S3中,所述设备端包管理工具支持离线管理和在线管理,所述离线管理包括:在无网络的状态下下载所述安装包。
5.一种根据权利要求1-4中任意一项所述的嵌入式***包管理方法的使用方法,其特征在于,所述嵌入式***是基于Buildroot构建的根文件***,且所述使用方法包括:
B1:将需要的包编译并生成固定封装格式的初始安装包;
B2:通过离线安装的方式调试所述初始安装包的正确性,得到调试好的安装包;
B3:将所述调试好的安装包上传至管理服务器中;
B4:通过工具命令查找所述管理服务器中调试好的安装包中的某个子安装包;
B5:通过工具命令安装所述某个子安装包;
B6:运行所述某个子安装包中包含的二进制程序或动态库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110759306.5A CN113204351B (zh) | 2021-07-06 | 2021-07-06 | 一种嵌入式***包管理方法及其使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110759306.5A CN113204351B (zh) | 2021-07-06 | 2021-07-06 | 一种嵌入式***包管理方法及其使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204351A CN113204351A (zh) | 2021-08-03 |
CN113204351B true CN113204351B (zh) | 2021-10-22 |
Family
ID=77022763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110759306.5A Active CN113204351B (zh) | 2021-07-06 | 2021-07-06 | 一种嵌入式***包管理方法及其使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204351B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301908B (zh) * | 2023-05-24 | 2023-08-22 | 北京中科网威信息技术有限公司 | 基于申威架构的Buildroot本地编译方法及*** |
CN117194239A (zh) * | 2023-09-06 | 2023-12-08 | 上海欣诺通信技术股份有限公司 | 一种网络嵌入式***的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461567A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 软件包的发布方法及*** |
CN105786511A (zh) * | 2016-02-29 | 2016-07-20 | 四川长虹电器股份有限公司 | 终端设备Web应用管理的实现方法 |
CN110569040A (zh) * | 2019-09-17 | 2019-12-13 | 深圳市优创亿科技有限公司 | 一种在嵌入式***内安装、运行应用程序的方法 |
CN110795113A (zh) * | 2019-10-15 | 2020-02-14 | 平安科技(深圳)有限公司 | 一种Redis集群服务的安装方法、服务器和介质 |
CN111930402A (zh) * | 2020-08-27 | 2020-11-13 | 中山市天启智能科技有限公司 | 集群服务器的固件升级方法和集群服务器 |
CN112328296A (zh) * | 2020-11-30 | 2021-02-05 | 北京百度网讯科技有限公司 | 针对跨平台应用的软件更新方法、装置、设备和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185889B2 (en) * | 2007-06-19 | 2012-05-22 | Red Hat, Inc. | Methods and systems for porting software packages from one format to another |
CN103795786A (zh) * | 2014-01-20 | 2014-05-14 | 杭州百富电子技术有限公司 | 具有web服务功能的嵌入式集中器*** |
US11586358B2 (en) * | 2014-12-17 | 2023-02-21 | Red Hat, Inc. | Building file system images using cached logical volume snapshots |
CN108702386B (zh) * | 2017-06-14 | 2020-09-11 | 华为技术有限公司 | 一种嵌入式通用集成电路卡配置文件的管理方法及装置 |
CN111258595B (zh) * | 2020-03-13 | 2023-08-01 | 超越科技股份有限公司 | 一种基于PyInstaller的python源代码封装方法 |
-
2021
- 2021-07-06 CN CN202110759306.5A patent/CN113204351B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461567A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 软件包的发布方法及*** |
CN105786511A (zh) * | 2016-02-29 | 2016-07-20 | 四川长虹电器股份有限公司 | 终端设备Web应用管理的实现方法 |
CN110569040A (zh) * | 2019-09-17 | 2019-12-13 | 深圳市优创亿科技有限公司 | 一种在嵌入式***内安装、运行应用程序的方法 |
CN110795113A (zh) * | 2019-10-15 | 2020-02-14 | 平安科技(深圳)有限公司 | 一种Redis集群服务的安装方法、服务器和介质 |
CN111930402A (zh) * | 2020-08-27 | 2020-11-13 | 中山市天启智能科技有限公司 | 集群服务器的固件升级方法和集群服务器 |
CN112328296A (zh) * | 2020-11-30 | 2021-02-05 | 北京百度网讯科技有限公司 | 针对跨平台应用的软件更新方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113204351A (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577475B (zh) | 一种数据中心集群***的软件包管理方法及*** | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
US8185889B2 (en) | Methods and systems for porting software packages from one format to another | |
US8566819B2 (en) | Apparatus and method for providing software configurations on a plurality of platforms | |
CN113204351B (zh) | 一种嵌入式***包管理方法及其使用方法 | |
US20060161898A1 (en) | Method and system for project library dependency management | |
CN109491695A (zh) | 一种集成安卓应用的增量更新方法 | |
CN104793946A (zh) | 基于云计算平台的应用部署方法和*** | |
US20050010915A1 (en) | Network-based server code auto upgrade method and system | |
US20070282801A1 (en) | Dynamically creating and executing an application lifecycle management operation | |
US20050204351A1 (en) | Dynamic addressing (DA) using a centralized DA Manager | |
CN101645009A (zh) | Web服务集成开发***和方法 | |
US20050216537A1 (en) | Dynamic addressing (DA) using a centralized DA manager | |
KR20140113685A (ko) | 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷 | |
CN102768628A (zh) | 一种预安装第三方应用的方法及装置 | |
US8719812B1 (en) | Methods, systems, and computer readable media for dynamically modifying and utilizing a software package description for software installation | |
CN115421765A (zh) | 一种应用于国产化操作***的大数据管理部署方法 | |
CN117707543A (zh) | 一种应用安装包制作和安装方法、计算设备及存储介质 | |
US7921417B2 (en) | Method and computer system for activation of source files | |
CN116069366A (zh) | 客户端应用程序更新方法及装置、存储介质及电子设备 | |
WO2005074621A2 (en) | Dynamic addressing (da) using a centralized da manager | |
CN112947956B (zh) | 一种应用软件升级方法 | |
CN115145604A (zh) | 一种容器化的电力营销***部署方法 | |
CN113791809A (zh) | 应用异常处理方法、装置以及计算机可读存储介质 | |
CN113220303A (zh) | 一种内核模块的编译方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |