CN107577466A - 一种基于Linux系统的RPM软件包编译方法及系统 - Google Patents
一种基于Linux系统的RPM软件包编译方法及系统 Download PDFInfo
- Publication number
- CN107577466A CN107577466A CN201710865345.7A CN201710865345A CN107577466A CN 107577466 A CN107577466 A CN 107577466A CN 201710865345 A CN201710865345 A CN 201710865345A CN 107577466 A CN107577466 A CN 107577466A
- Authority
- CN
- China
- Prior art keywords
- rpm software
- rpm
- protos
- module
- test suite
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及计算机技术领域,提供一种基于Linux系统的RPM软件包编译方法及系统,方法包括:控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;当所述pxe系统安装完成时,对测试套件进行指定测试,从而实现对RPM软件包自动编译平台功能的扩展,将计算机系统的其他功能进行串联,形成完整的自动化编译平台,提升了计算机的整体品质。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种基于Linux系统的RPM软件包编译方法及系统。
背景技术
在Linux系统中,存在着许多软件的自动化编译平台,RPM软件包自动编译平台就是其中一个。RPM软件包是专门用来管理Linux各项套件的程序,由于其遵循GPL规则且功能强大方便,因而广受欢迎。RPM套件管理方式的出现,让Linux易于安装和升级,间接提升了Linux系统的适用度。
目前,RPM软件包自动编译平台一般只能进行软件包的自动化编译,平台的自动化编译任务完成后,无法实现后续的集成镜像等一系例操作,其功能比较单一,不利于整个Linux系统的使用扩展。
发明内容
本发明的目的在于提供一种基于Linux系统的RPM软件包编译方法,旨在解决现有技术中RPM软件包自动编译平台进行完自动化编译操作后,无法实现后续的集成镜像等一系例操作,其功能比较单一的问题。
本发明是这样实现的,一种基于Linux系统的RPM软件包编译方法,所述方法包括下述步骤:
控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;
当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;
当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;
当所述pxe系统安装完成时,对测试套件进行指定测试。
作为一种改进的方案,所述控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件的步骤具体包括下述步骤:
对预先设定的指定目录进行监控,监测所述指定目录是否有RPM软件包写入;
当所述指定目录有RPM软件包写入时,控制开始自动编译动作,生成生成二进制的RPM软件包文件。
作为一种改进的方案,所述当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作的步骤具体包括下述步骤:
判断二进制的RPM软件包文件是否生成;
若二进制的RPM软件包文件生成完成时,调用自动化脚本对现有的镜像中的RPM软件包进行替换;
当所有的新的RPM软件包替换完成后,执行系统ISO镜像集成动作,输出新版ISO镜像到对应目录下;
若二进制的RPM软件包文件生成未完成,则等待。
作为一种改进的方案,所述当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装的步骤具体包括下述步骤:
当系统ISO镜像集成操作完成时,调用cobbler软件对指定网卡mac地址的服务器进行pxe系统安装;
当pxe系统安装初步完成时,对系统安装完成后的IP进行监听;
当侦测到IP且所述IP处于可访问状态时,确认所述pxe系统最终安装完成。
作为一种改进的方案,所述当所述pxe系统安装完成时,对测试套件进行指定测试的步骤具体包括下述步骤:
调用expect命令,所述expect命令用于进行测试套件的全自动传输工作;
对远程服务器的指定目录进行监控,监测所述远程服务器的指定目录是否有待测试套件放入;
若所述远程服务器的指定目录有待测试套件放入,则控制开始运行测试套件,对所述测试套件执行指定测试。
本发明的另一目的在于提供一种基于Linux系统的RPM软件包编译系统,所述系统包括:
自动化编译模块,用于控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;
系统ISO镜像集成模块,用于当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;
pxe系统安装模块,用于当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;
指定测试模块,用于当所述pxe系统安装完成时,对测试套件进行指定测试。
作为一种改进的方案,所述自动化编译模块具体包括:
第一目录监控模块,用于对预先设定的指定目录进行监控,监测所述指定目录是否有RPM软件包写入;
二进制文件生成模块,用于当所述指定目录有RPM软件包写入时,控制开始自动编译动作,生成生成二进制的RPM软件包文件。
作为一种改进的方案,所述系统ISO镜像集成模块具体包括:
判断模块,用于判断二进制的RPM软件包文件是否生成;
软件包替换模块,用于若二进制的RPM软件包文件生成完成时,调用自动化脚本对现有的镜像中的RPM软件包进行替换;
新版ISO镜像输出模块,用于当所有的新的RPM软件包替换完成后,执行系统ISO镜像集成动作,输出新版ISO镜像到对应目录下;
若二进制的RPM软件包文件生成未完成,则等待。
作为一种改进的方案,所述pxe系统安装模块具体包括:
安装模块,用于当系统ISO镜像集成操作完成时,调用cobbler软件对指定网卡mac地址的服务器进行pxe系统安装;
IP监听模块,用于当pxe系统安装初步完成时,对系统安装完成后的IP进行监听;
确认模块,用于当侦测到IP且所述IP处于可访问状态时,确认所述pxe系统最终安装完成。
作为一种改进的方案,所述指定测试模块具体包括:
命令调用模块,用于调用expect命令,所述expect命令用于进行测试套件的全自动传输工作;
第二目录监控模块,用于对远程服务器的指定目录进行监控,监测所述远程服务器的指定目录是否有待测试套件放入;
测试套件运行模块,用于若所述远程服务器的指定目录有待测试套件放入,则控制开始运行测试套件,对所述测试套件执行指定测试。
在本发明实施例中,控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;当所述pxe系统安装完成时,对测试套件进行指定测试,从而实现对RPM软件包自动编译平台功能的扩展,将计算机系统的其他功能进行串联,形成完整的自动化编译平台,提升了计算机的整体品质。
附图说明
图1是本发明提供的基于Linux系统的RPM软件包编译方法的实现流程图;
图2是本发明提供的控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件的实现流程图;
图3是本发明提供的当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作的实现流程图;
图4是本发明提供的当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装的实现流程图;
图5是本发明提供的当所述pxe系统安装完成时,对测试套件进行指定测试的实现流程图;
图6是本发明提供的基于Linux系统的RPM软件包编译系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明提供的基于Linux系统的RPM软件包编译方法的实现流程图,其具体包括下述步骤:
在步骤S101中,控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件。
在步骤S102中,当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作。
在步骤S103中,当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装。
在步骤S104中,当所述pxe系统安装完成时,对测试套件进行指定测试。
其中,上述各个步骤的具体实现如下述实施例所记载,具体为:
其中,图2示出了本发明提供的控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件的实现流程图,其具体包括下述步骤:
在步骤S201中,对预先设定的指定目录进行监控,监测所述指定目录是否有RPM软件包写入。
在步骤S202中,当所述指定目录有RPM软件包写入时,控制开始自动编译动作,生成生成二进制的RPM软件包文件。
图3示出了本发明提供的当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作的实现流程图,其具体包括下述步骤:
在步骤S301中,判断二进制的RPM软件包文件是否生成,是则执行步骤S302,否则执行步骤S304。
在步骤S302中,若二进制的RPM软件包文件生成完成时,调用自动化脚本对现有的镜像中的RPM软件包进行替换。
在步骤S303中,当所有的新的RPM软件包替换完成后,执行系统ISO镜像集成动作,输出新版ISO镜像到对应目录下。
在步骤S304中,若二进制的RPM软件包文件生成未完成,则等待,等待二进制的RPM软件包文件生成完成时,执行步骤S302。
图4示出了本发明提供的当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装的实现流程图,其具体包括下述步骤:
在步骤S401中,当系统ISO镜像集成操作完成时,调用cobbler软件对指定网卡mac地址的服务器进行pxe系统安装。
在步骤S402中,当pxe系统安装初步完成时,对系统安装完成后的IP进行监听。
在步骤S403中,当侦测到IP且所述IP处于可访问状态时,确认所述pxe系统最终安装完成。
图5示出了本发明提供的当所述pxe系统安装完成时,对测试套件进行指定测试的实现流程图,其具体包括下述步骤:
在步骤S501中,调用expect命令,所述expect命令用于进行测试套件的全自动传输工作。
在步骤S502中,对远程服务器的指定目录进行监控,监测所述远程服务器的指定目录是否有待测试套件放入。
若没有待测试套件放入,则只需监测。
在步骤S503中,若所述远程服务器的指定目录有待测试套件放入,则控制开始运行测试套件,对所述测试套件执行指定测试。
上述给出了图1所示的实施例的各个步骤的具体实现过程,在此不再赘述,但不用以限制本发明。
图6示出了本发明提供的基于Linux系统的RPM软件包编译系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分,其中,该基于Linux系统的RPM软件包编译系统为内置于计算机软硬件环境的系统。
基于Linux系统的RPM软件包编译系统包括:
自动化编译模块11,用于控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;
系统ISO镜像集成模块12,用于当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;
pxe系统安装模块13,用于当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;
指定测试模块14,用于当所述pxe系统安装完成时,对测试套件进行指定测试。
其中,自动化编译模块11具体包括:
第一目录监控模块15,用于对预先设定的指定目录进行监控,监测所述指定目录是否有RPM软件包写入;
二进制文件生成模块16,用于当所述指定目录有RPM软件包写入时,控制开始自动编译动作,生成生成二进制的RPM软件包文件。
系统ISO镜像集成模块12具体包括:
判断模块17,用于判断二进制的RPM软件包文件是否生成;
软件包替换模块18,用于若二进制的RPM软件包文件生成完成时,调用自动化脚本对现有的镜像中的RPM软件包进行替换;
新版ISO镜像输出模块19,用于当所有的新的RPM软件包替换完成后,执行系统ISO镜像集成动作,输出新版ISO镜像到对应目录下;
若二进制的RPM软件包文件生成未完成,则等待。
在该实施例中,pxe系统安装模块13具体包括:
安装模块20,用于当系统ISO镜像集成操作完成时,调用cobbler软件对指定网卡mac地址的服务器进行pxe系统安装;
IP监听模块21,用于当pxe系统安装初步完成时,对系统安装完成后的IP进行监听;
确认模块22,用于当侦测到IP且所述IP处于可访问状态时,确认所述pxe系统最终安装完成。
在本发明实施例中,指定测试模块14具体包括:
命令调用模块23,用于调用expect命令,所述expect命令用于进行测试套件的全自动传输工作;
第二目录监控模块24,用于对远程服务器的指定目录进行监控,监测所述远程服务器的指定目录是否有待测试套件放入;
测试套件运行模块25,用于若所述远程服务器的指定目录有待测试套件放入,则控制开始运行测试套件,对所述测试套件执行指定测试。
上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;当所述pxe系统安装完成时,对测试套件进行指定测试,从而实现对RPM软件包自动编译平台功能的扩展,将计算机系统的其他功能进行串联,形成完整的自动化编译平台,提升了计算机的整体品质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Linux系统的RPM软件包编译方法,其特征在于,所述方法包括下述步骤:
控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;
当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;
当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;
当所述pxe系统安装完成时,对测试套件进行指定测试。
2.根据权利要求1所述的基于Linux系统的RPM软件包编译方法,其特征在于,所述控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件的步骤具体包括下述步骤:
对预先设定的指定目录进行监控,监测所述指定目录是否有RPM软件包写入;
当所述指定目录有RPM软件包写入时,控制开始自动编译动作,生成生成二进制的RPM软件包文件。
3.根据权利要求1所述的基于Linux系统的RPM软件包编译方法,其特征在于,所述当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作的步骤具体包括下述步骤:
判断二进制的RPM软件包文件是否生成;
若二进制的RPM软件包文件生成完成时,调用自动化脚本对现有的镜像中的RPM软件包进行替换;
当所有的新的RPM软件包替换完成后,执行系统ISO镜像集成动作,输出新版ISO镜像到对应目录下;
若二进制的RPM软件包文件生成未完成,则等待。
4.根据权利要求1所述的基于Linux系统的RPM软件包编译方法,其特征在于,所述当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装的步骤具体包括下述步骤:
当系统ISO镜像集成操作完成时,调用cobbler软件对指定网卡mac地址的服务器进行pxe系统安装;
当pxe系统安装初步完成时,对系统安装完成后的IP进行监听;
当侦测到IP且所述IP处于可访问状态时,确认所述pxe系统最终安装完成。
5.根据权利要求1所述的基于Linux系统的RPM软件包编译方法,其特征在于,所述当所述pxe系统安装完成时,对测试套件进行指定测试的步骤具体包括下述步骤:
调用expect命令,所述expect命令用于进行测试套件的全自动传输工作;
对远程服务器的指定目录进行监控,监测所述远程服务器的指定目录是否有待测试套件放入;
若所述远程服务器的指定目录有待测试套件放入,则控制开始运行测试套件,对所述测试套件执行指定测试。
6.一种基于Linux系统的RPM软件包编译系统,其特征在于,所述系统包括:
自动化编译模块,用于控制进行RPM软件包自动化编译,生成二进制的RPM软件包文件;
系统ISO镜像集成模块,用于当生成所述RPM软件包文件时,控制执行系统ISO镜像集成动作;
pxe系统安装模块,用于当所述系统ISO镜像集成动作完成时,控制进行pxe系统的安装;
指定测试模块,用于当所述pxe系统安装完成时,对测试套件进行指定测试。
7.根据权利要求6所述的基于Linux系统的RPM软件包编译系统,其特征在于,所述自动化编译模块具体包括:
第一目录监控模块,用于对预先设定的指定目录进行监控,监测所述指定目录是否有RPM软件包写入;
二进制文件生成模块,用于当所述指定目录有RPM软件包写入时,控制开始自动编译动作,生成生成二进制的RPM软件包文件。
8.根据权利要求6所述的基于Linux系统的RPM软件包编译系统,其特征在于,所述系统ISO镜像集成模块具体包括:
判断模块,用于判断二进制的RPM软件包文件是否生成;
软件包替换模块,用于若二进制的RPM软件包文件生成完成时,调用自动化脚本对现有的镜像中的RPM软件包进行替换;
新版ISO镜像输出模块,用于当所有的新的RPM软件包替换完成后,执行系统ISO镜像集成动作,输出新版ISO镜像到对应目录下;
若二进制的RPM软件包文件生成未完成,则等待。
9.根据权利要求6所述的基于Linux系统的RPM软件包编译系统,其特征在于,所述pxe系统安装模块具体包括:
安装模块,用于当系统ISO镜像集成操作完成时,调用cobbler软件对指定网卡mac地址的服务器进行pxe系统安装;
IP监听模块,用于当pxe系统安装初步完成时,对系统安装完成后的IP进行监听;
确认模块,用于当侦测到IP且所述IP处于可访问状态时,确认所述pxe系统最终安装完成。
10.根据权利要求6所述的基于Linux系统的RPM软件包编译方法,其特征在于,所述指定测试模块具体包括:
命令调用模块,用于调用expect命令,所述expect命令用于进行测试套件的全自动传输工作;
第二目录监控模块,用于对远程服务器的指定目录进行监控,监测所述远程服务器的指定目录是否有待测试套件放入;
测试套件运行模块,用于若所述远程服务器的指定目录有待测试套件放入,则控制开始运行测试套件,对所述测试套件执行指定测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865345.7A CN107577466A (zh) | 2017-09-22 | 2017-09-22 | 一种基于Linux系统的RPM软件包编译方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710865345.7A CN107577466A (zh) | 2017-09-22 | 2017-09-22 | 一种基于Linux系统的RPM软件包编译方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107577466A true CN107577466A (zh) | 2018-01-12 |
Family
ID=61038636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710865345.7A Pending CN107577466A (zh) | 2017-09-22 | 2017-09-22 | 一种基于Linux系统的RPM软件包编译方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577466A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108427559A (zh) * | 2018-03-14 | 2018-08-21 | 新华三技术有限公司 | 一种脚本文件生成和调用方法以及装置 |
CN108459852A (zh) * | 2018-01-30 | 2018-08-28 | 美通云动(北京)科技有限公司 | 脚本处理方法及装置、存储介质、电子设备 |
CN108762766A (zh) * | 2018-06-08 | 2018-11-06 | 山东超越数控电子股份有限公司 | 一种飞腾1500a平台下银河麒麟系统支持万兆网卡的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283218A1 (en) * | 2013-09-18 | 2016-09-29 | G-Cloud Technology Ltd | Method for distributing large-sized Linux software packages |
CN106569802A (zh) * | 2016-10-17 | 2017-04-19 | 汉柏科技有限公司 | 防火墙iso安装镜像的制作方法及装置 |
CN106897223A (zh) * | 2017-02-24 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种基于持续集成的软件包交付方法及装置 |
-
2017
- 2017-09-22 CN CN201710865345.7A patent/CN107577466A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283218A1 (en) * | 2013-09-18 | 2016-09-29 | G-Cloud Technology Ltd | Method for distributing large-sized Linux software packages |
CN106569802A (zh) * | 2016-10-17 | 2017-04-19 | 汉柏科技有限公司 | 防火墙iso安装镜像的制作方法及装置 |
CN106897223A (zh) * | 2017-02-24 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种基于持续集成的软件包交付方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459852A (zh) * | 2018-01-30 | 2018-08-28 | 美通云动(北京)科技有限公司 | 脚本处理方法及装置、存储介质、电子设备 |
CN108427559A (zh) * | 2018-03-14 | 2018-08-21 | 新华三技术有限公司 | 一种脚本文件生成和调用方法以及装置 |
CN108762766A (zh) * | 2018-06-08 | 2018-11-06 | 山东超越数控电子股份有限公司 | 一种飞腾1500a平台下银河麒麟系统支持万兆网卡的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740222B (zh) | 一种针对汽车网联化场景的测试装置和系统 | |
US20140059199A1 (en) | Transaction-level health monitoring of online services | |
CN107577466A (zh) | 一种基于Linux系统的RPM软件包编译方法及系统 | |
CN103634592A (zh) | 智能电视自动化测试方法及系统 | |
CN108270837B (zh) | 一种利用闲置资源的分布式任务调度方法及系统 | |
CN113485918B (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN111858336B (zh) | 一种软件自动化测试方法以及系统 | |
CN113094081B (zh) | 软件发布方法、装置、计算机系统和计算机可读存储介质 | |
CN112379963B (zh) | 远程应用窗口控制方法、装置及计算机设备 | |
CN114168471A (zh) | 测试方法、装置、电子设备及存储介质 | |
JP2007082078A (ja) | データ中継装置 | |
CN111124781A (zh) | 一种显卡测试方法、装置及电子设备和存储介质 | |
CN103699485A (zh) | 应用程序调试方法和装置 | |
CN107590062B (zh) | 一种多客户端交互的测试方法和装置 | |
CN109783261B (zh) | 终端应用的崩溃处理方法及装置、电子设备、存储介质 | |
CN116662193A (zh) | 页面测试方法和装置 | |
CN108153671B (zh) | 一种面向atml信号的运行时服务的测试系统及方法 | |
CN103235728B (zh) | Android终端中预置第三方应用的安装方法和装置 | |
CN112596751A (zh) | 应用程序安装包的编译方法、终端、服务器及存储介质 | |
CN107220149B (zh) | 在Windows下对Linux系统中无线通讯模块调试数据抓取方法和系统 | |
CN111949536A (zh) | 基于字节码技术的java应用程序测试方法及系统 | |
CN112685006A (zh) | 流程管理方法、装置、电子设备及存储介质 | |
CN112083939A (zh) | 批量升级方法、装置、系统及介质 | |
CN116627824A (zh) | 一种软件测试方法、装置、电子设备及存储介质 | |
CN112882908B (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: 20180112 |
|
RJ01 | Rejection of invention patent application after publication |