CN111831291A - 一种安装包转换构建及转换系统及方法 - Google Patents

一种安装包转换构建及转换系统及方法 Download PDF

Info

Publication number
CN111831291A
CN111831291A CN202010573620.XA CN202010573620A CN111831291A CN 111831291 A CN111831291 A CN 111831291A CN 202010573620 A CN202010573620 A CN 202010573620A CN 111831291 A CN111831291 A CN 111831291A
Authority
CN
China
Prior art keywords
installation
file
package
installation package
deb
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.)
Pending
Application number
CN202010573620.XA
Other languages
English (en)
Inventor
苗功勋
王金国
宋树达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD
Nanjing Zhongfu Information Technology Co Ltd
Zhongfu Information Co Ltd
Zhongfu Safety Technology Co Ltd
Original Assignee
BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD
Nanjing Zhongfu Information Technology Co Ltd
Zhongfu Information Co Ltd
Zhongfu Safety Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD, Nanjing Zhongfu Information Technology Co Ltd, Zhongfu Information Co Ltd, Zhongfu Safety Technology Co Ltd filed Critical BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD
Priority to CN202010573620.XA priority Critical patent/CN111831291A/zh
Publication of CN111831291A publication Critical patent/CN111831291A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种安装包转换构建及转换系统及方法,包括:解析模块、解压缩模块、构建模块以及执行模块;解析模块用于分别对rpm安装包和deb安装包进行解析,解析出rpm安装包的第一安装文件以及解析出deb安装包的第二安装文件;解压缩模块用于将第一安装文件和第二安装文件配置到缓存目录;构建模块用于将缓存目录中的第一安装文件和第二安装文件配置成通用安装文件;执行模块用于将安装卸载动作文件及缓存目录的通用安装文件组合成执行安装包。本发明使两种deb安装包进行构建组合可以适用不同的系统,满足系统的软件功能,通过不同的执行参数来选择不同参数实现不同的功能,以达到实现不同功能的目的。

Description

一种安装包转换构建及转换系统及方法
技术领域
本发明涉及Linux数据处理技术领域,尤其涉及一种安装包转换构建及转换系统及方法。
背景技术
RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写。RPM文件在Linux系统中的安装软件包。
标准的rpm安装包是由控制信息、签名信息、头文件、压缩文件四部分构成。通常rpm包的前96字节保存着它的“控制信息”,包含软件名、版本号、依赖信息、架构、描述等信息;在“控制信息”之后就是rpm的“签名信息”,它保存了rpm安装包的数字签名;“签名信息”之后就是“头文件”,“头文件”包含了rpm安装包内所有安装文件信息、安装卸载脚本等;“头文件”之后就是安装文件压缩包,以Linux标准压缩包的形式存在与rpm包最后面。
在操作系统的使用过程中,根据使用要求,有的需要配置deb格式的安装包,DEB是Debian软件包格式的文件扩展名,有的需要配置rpm安装包,而这两种安装模式无法适用不同的系统,有的系统无法适用rpm安装包,有的系统无法适用deb格式的安装包,这样影响了程序使用,也使得系统的软件功能无法进行扩展。
发明内容
为了克服上述现有技术中的不足,本发明提供一种安装包转换构建及转换系统,包括:解析模块、解压缩模块、构建模块以及执行模块;
解析模块用于分别对rpm安装包和deb安装包进行解析,解析出rpm安装包的第一安装文件以及解析出deb安装包的第二安装文件;
解压缩模块用于将第一安装文件和第二安装文件配置到缓存目录;
构建模块用于将缓存目录中的第一安装文件和第二安装文件配置成通用安装文件;
执行模块用于将安装卸载动作文件及缓存目录的通用安装文件组合成执行安装包。
基于上述系统本发明还提供一种安装包转换构建及转换方法,方法包括:
分别对rpm安装包和deb安装包进行解析,解析出rpm安装包的第一安装文件以及解析出deb安装包的第二安装文件;
将第一安装文件和第二安装文件配置到缓存目录;
将缓存目录中的第一安装文件和第二安装文件生成通用安装文件;
将安装卸载动作文件及缓存目录的通用安装文件组合成执行安装包。
从以上技术方案可以看出,本发明具有以下优点:
本发明可在Windows、Linux下使用,即可有GUI界面使用,也可以只在命令行无界面使用。可做单纯rpm、deb安装包信息解析展示、单纯安装文件提取使用。可做成所有Linux都可以安装运行的通用安装文件。
本发明使rpm安装包和deb安装包进行构建组合可以适用不同的系统,满足系统的软件功能,基于C/C++、Qt等开发完成,通过不同的执行参数来确定有/无GUI界面打开工具,在GUI界面下可手动选取rpm/deb安装包,并选择不同参数实现不同的功能。无界面下可手动传入rpm/deb安装包路径、命令参数,以达到实现不同功能的目的。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为安装包转换构建及转换系统示意图;
图2为安装包转换构建及转换方法流程图。
具体实施方式
本发明提供一种安装包转换构建及转换系统,如图1所示,包括:解析模块1、解压缩模块2、构建模块3以及执行模块4;
解析模块1用于分别对rpm安装包和deb安装包进行解析,解析出rpm安装包的第一安装文件以及解析出deb安装包的第二安装文件;
其中,解析模块解析出rpm包的spec信息,并将解析出的信息组合成生成deb安装包所需的DEBIAN文件、安装卸载动作脚本文件;
还解析出deb包的DEBIAN信息,并将解析出的信息组合成生成rpm安装包所需spec描述文件、安装卸载动作脚本文件。
解压缩模块2用于将第一安装文件和第二安装文件配置到缓存目录;
构建模块3用于将缓存目录中的第一安装文件和第二安装文件配置成通用安装文件;
具体的,构建模块根据spec描述文件,将缓存目录的第一安装文件生成rpm安装包;以及根据DEBIAN文件,将缓存目录的第二安装文件生成deb安装包。
执行模块4用于将安装卸载动作文件及缓存目录的通用安装文件组合成执行安装包。
本发明中基于上述方式,配置完成执行安装包,通过安装参数配置模块来进行储存及安装使用。
其中,安装参数监控配置模块对执行安装包的安装参数进行配置,并将配置的参数记录到数据库中;对执行安装包运行状态进行实时监控,对安装过程进行监控,安装过程中的异常信息及时发出告警,同时实时记录安装过程日志,方便问题的查找和解决安装过程问题。
也就是在执行安装过程中,对安装过程运行的各个参数进行监控,如果出现超值,或者某一参数运行超时长,或卡顿在某一个运行数据上,则及时进行报警提示。
对于本发明涉及的安装包转换构建以及安装过程可以基于操作模块提供GUI界面对转换构建及安装过程提供操作界面,或通过命令行基于无界面操作构建及安装过程。
基于上述系统本发明还提供一种安装包转换构建及转换方法,如图2所示,方法包括:
S11,分别对rpm安装包和deb安装包进行解析,解析出rpm安装包的第一安装文件以及解析出deb安装包的第二安装文件;
S12,将第一安装文件和第二安装文件配置到缓存目录;
S13,将缓存目录中的第一安装文件和第二安装文件生成通用安装文件;
S14,将安装卸载动作文件及缓存目录的通用安装文件组合成执行安装包。
本发明涉及的方法中,基于Redhat的Linux(如Readhat、CentOS、Fedora、Oracle),其通用软件管理器为RPM,安装包格式为.rpm;对于基于Debian的Linux(如Debian、Ubuntu、Mint等),其通用软件管理器为DPKG,安装包格式为.deb。
本发明可根据使用者选择,对标准rpm/deb安装包进行安装包信息提取、安装文件提取、rpm安装包转换成deb安装包、deb安装包转换成rpm安装包、rpm/deb安装包转换成通用安装包(.run安装包)五个操作功能。
作为本发明的一种实施例为,本发发明基于解析模块、解压缩模块、构建模块以及执行模块。
先解析出rpm包的spec信息,spec信息包括软件名、版本号、依赖信息、架构、描述、安装前执行脚本、安装后执行脚本、卸载前执行脚本、卸载后执行脚本等信息。
将解析出的信息组合成生成deb安装包所需的DEBIAN文件(control、preinst、postinst、prerm、postrm等文件)、安装卸载动作脚本文件。
再解析出deb包的DEBIAN信息,包括软件名、版本号、依赖信息、架构、描述、安装前执行脚本、安装后执行脚本、卸载前执行脚本、卸载后执行脚本等信息。
将解析出的信息组合成生成rpm安装包所需spec描述文件、安装卸载动作脚本文件。
解压rpm/deb安装包,提取安装文件到缓存目录。
根据spec描述文件,将缓存目录的安装文件生成rpm安装包。
根据DEBIAN文件,将缓存目录的安装文件生成deb安装包。
将安装卸载动作脚本文件及缓存目录的安装文件组合成run安装包,也就是执行安装包。
本发明可以基于c/c++实现,可以不依赖rpmbuild、rpm2cpio、dpkg-deb等工具进行安装包解析、解包、生成等功能。
本发明可在Windows、Linux下使用,即可有GUI界面使用,也可以只在命令行无界面使用。
本发明可做单纯rpm、deb安装包信息解析展示、单纯安装文件提取使用。
本发明可做成所有Linux都可以安装运行的通用安装包(run安装包)。
本发明涉及的安装包转换构建及转换系统及方法是deb安装包,相比rpm安装包,它更加简单,只有信息文件、控制包、数据包三部分组成。信息文件保存了deb安装包的二进制等信息;控制包是一个Linux标准压缩包,包含了control、preinst、postinst、prerm、postrm等脚本文件;数据包同样是一个Linux标准压缩包,解压后就是安装文件。
在获悉了rpm/deb安装包的结构信息后,将安装包压缩文件分离、解压到指定目录。而rpm安装包的控制信息、头文件、压缩包分别对应了deb安装包的信息文件、控制包、数据包,rpm的签名信息可根据安装文件生成,这样就可以编写代码进行转换,最后生成安装包。
run安装包的本质是一个标准Linux Shell脚本,它拼凑了rpm/deb安装包的安装卸载脚本,并将安装文件以压缩包的形式复合到一起,并保证了所有Linux均可执行。安装时只需赋予安装包可执行权限,安装包便可将安装文件重定向到压缩文件,解压后执行安装脚本进行安装。
作为本发明涉及的执行系统,可以是Qt。Qt是一个跨平台GUI库,利用Qt可做成Windows、Linux下具有相同展示GUI的程序。
本发明基于C/C++、Qt等开发完成,通过不同的执行参数来确定有/无GUI界面打开工具,在GUI界面下可手动选取rpm/deb安装包,并勾选不同参数实现不同的功能。无界面下可手动传入rpm/deb安装包路径、命令参数,以达到实现不同功能的目的。

Claims (8)

1.一种安装包转换构建及转换系统,其特征在于,包括:解析模块、解压缩模块、构建模块以及执行模块;
解析模块用于分别对rpm安装包和deb安装包进行解析,解析出rpm安装包的第一安装文件以及解析出deb安装包的第二安装文件;
解压缩模块用于将第一安装文件和第二安装文件配置到缓存目录;
构建模块用于将缓存目录中的第一安装文件和第二安装文件配置成通用安装文件;
执行模块用于将安装卸载动作文件及缓存目录的通用安装文件组合成执行安装包。
2.根据权利要求1所述的安装包转换构建及转换系统,其特征在于,
解析模块还用于解析出rpm包的spec信息,并将解析出的信息组合成生成deb安装包所需的DEBIAN文件、安装卸载动作脚本文件;
还解析出deb包的DEBIAN信息,并将解析出的信息组合成生成rpm安装包所需spec描述文件、安装卸载动作脚本文件。
3.根据权利要求1所述的安装包转换构建及转换系统,其特征在于,
构建模块还用于根据spec描述文件,将缓存目录的第一安装文件生成rpm安装包;
以及根据DEBIAN文件,将缓存目录的第二安装文件生成deb安装包。
4.根据权利要求1所述的安装包转换构建及转换系统,其特征在于,
还包括:安装参数配置模块;
安装参数监控配置模块用于对执行安装包的安装参数进行配置,并将配置的参数记录到数据库中;
对执行安装包运行状态进行实时监控,对安装过程进行监控,安装过程中的异常信息及时发出告警,同时实时记录安装过程日志,方便问题的查找和解决安装过程问题。
5.根据权利要求1所述的安装包转换构建及转换系统,其特征在于,
还包括:操作模块;
操作模块用于提供GUI界面对转换构建及安装过程提供操作界面,或通过命令行基于无界面操作构建及安装过程。
6.一种安装包转换构建及转换方法,其特征在于,方法包括:
分别对rpm安装包和deb安装包进行解析,解析出rpm安装包的第一安装文件以及解析出deb安装包的第二安装文件;
将第一安装文件和第二安装文件配置到缓存目录;
将缓存目录中的第一安装文件和第二安装文件生成通用安装文件;
将安装卸载动作文件及缓存目录的通用安装文件组合成执行安装包。
7.根据权利要求6所述的安装包转换构建及转换方法,其特征在于,方法还包括:
解析出rpm包的spec信息,并将解析出的信息组合成生成deb安装包所需的DEBIAN文件、安装卸载动作脚本文件;
解析出deb包的DEBIAN信息,并将解析出的信息组合成生成rpm安装包所需spec描述文件、安装卸载动作脚本文件。
8.根据权利要求6所述的安装包转换构建及转换方法,其特征在于,方法还包括:
根据spec描述文件,将缓存目录的第一安装文件生成rpm安装包;
以及根据DEBIAN文件,将缓存目录的第二安装文件生成deb安装包。
CN202010573620.XA 2020-06-22 2020-06-22 一种安装包转换构建及转换系统及方法 Pending CN111831291A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010573620.XA CN111831291A (zh) 2020-06-22 2020-06-22 一种安装包转换构建及转换系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010573620.XA CN111831291A (zh) 2020-06-22 2020-06-22 一种安装包转换构建及转换系统及方法

Publications (1)

Publication Number Publication Date
CN111831291A true CN111831291A (zh) 2020-10-27

Family

ID=72897909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010573620.XA Pending CN111831291A (zh) 2020-06-22 2020-06-22 一种安装包转换构建及转换系统及方法

Country Status (1)

Country Link
CN (1) CN111831291A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909569A (zh) * 2023-07-24 2023-10-20 中科驭数(北京)科技有限公司 deb软件包的制作方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145127A1 (en) * 2002-01-03 2003-07-31 Unice W. Kyle Method and computer program product for providing a device driver
CN103440156A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种能用于多种系统下的Linux软件包制作方法
CN104765618A (zh) * 2015-05-06 2015-07-08 山东中孚信息产业股份有限公司 一种Linux系统自解压安装包的制作及解压安装方法
CN106155765A (zh) * 2016-06-30 2016-11-23 国云科技股份有限公司 一种云平台linux系统的软件应用包制作方法
CN107741859A (zh) * 2017-11-03 2018-02-27 山东浪潮云服务信息科技有限公司 基于国产cpu和os的软件包管理方法、装置及系统
CN109634617A (zh) * 2018-10-25 2019-04-16 深圳壹账通智能科技有限公司 软件安装方法、用户设备、存储介质及装置
CN109976768A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 通用安装包确定方法、装置以及通用软件包安装方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145127A1 (en) * 2002-01-03 2003-07-31 Unice W. Kyle Method and computer program product for providing a device driver
CN103440156A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种能用于多种系统下的Linux软件包制作方法
CN104765618A (zh) * 2015-05-06 2015-07-08 山东中孚信息产业股份有限公司 一种Linux系统自解压安装包的制作及解压安装方法
CN106155765A (zh) * 2016-06-30 2016-11-23 国云科技股份有限公司 一种云平台linux系统的软件应用包制作方法
CN107741859A (zh) * 2017-11-03 2018-02-27 山东浪潮云服务信息科技有限公司 基于国产cpu和os的软件包管理方法、装置及系统
CN109976768A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 通用安装包确定方法、装置以及通用软件包安装方法
CN109634617A (zh) * 2018-10-25 2019-04-16 深圳壹账通智能科技有限公司 软件安装方法、用户设备、存储介质及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KISSRULE: "rpm与deb的区别", pages 1 - 2, Retrieved from the Internet <URL:https://www.cnblogs.com/longchang/p/12530697.html> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909569A (zh) * 2023-07-24 2023-10-20 中科驭数(北京)科技有限公司 deb软件包的制作方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US7673292B2 (en) Auto conversion of tests between different functional testing tools
US8140905B2 (en) Incremental problem determination and resolution in cloud environments
US20130111451A1 (en) Program Log Record Optimization
CN109089108B (zh) 测试方法及系统
JP5303795B2 (ja) アプリケーションの解析方法、解析システム及び解析プログラム
US10866803B2 (en) Generating interaction libraries
CN111966465B (zh) 一种实时修改宿主机配置参数的方法、系统、设备及介质
JP2010532502A (ja) リアルタイム統合管理情報データ変換及びモニタリング装置並びにその方法
CN112764792B (zh) 一种关联服务器版本应用升级方法、装置和电子设备
CN104503772A (zh) 基于虚拟机的操作系统安装、测试环境搭建的方法和装置
WO2007061241A1 (en) Error test method for mobile communication terminals
CN111831291A (zh) 一种安装包转换构建及转换系统及方法
CN110659210A (zh) 一种信息获取方法、装置、电子设备及存储介质
US20070078865A1 (en) Apparatus, system, and method for analyzing computer events recorded in a plurality of chronicle datasets
US20120185584A1 (en) Recording application consumption details
CN111290968A (zh) 一种自动测试的实现方法、装置、设备和存储介质
CN112068981B (zh) Linux操作系统中基于知识库的故障扫描恢复方法及系统
CN115017218B (zh) 分布式调用链的处理方法及装置、存储介质、电子设备
CN113821486B (zh) pod库之间依赖关系的确定方法及其装置、电子设备
CN115237399A (zh) 用于采集数据的方法、存储介质、处理器及工程车辆
CN115544518A (zh) 漏洞扫描引擎实现方法、装置、漏洞扫描方法及电子设备
CN110333964A (zh) 异常日志处理方法及装置、电子设备、存储介质
KR102122968B1 (ko) 애플리케이션 설치 정보 분석 시스템 및 방법
CN116383093B (zh) Windows测试环境部署方法、装置、可读存储介质及电子设备
CN114201149B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201027