System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种yum源完整性测试方法技术_技高网

一种yum源完整性测试方法技术

技术编号:40980113 阅读:2 留言:0更新日期:2024-04-18 21:26
本发明专利技术属于Linux软件管理技术领域,具体涉及一种yum源完整性测试方法,包括以下步骤:读取当前已有软件源中的所有软件包,分析每个软件包的依赖关系,找出具有冲突关系的软件包;将具有冲突关系的软件包放到不同的列表中,生成多个列表;从基础软件包列表中选择一个软件包,尝试在基础软件包列表的基础上安装该软件包;安装完成后,进行和update软件源的兼容性验证,并输出验证结果;其中,在变更软件时,调用冲突软件包分类子系统,确定要测试的软件包应在哪个列表中。该发明专利技术能够用于软件包升级、或者新软件包引入之后进行yum源的依赖完整性检查,避免上线之后软件包依赖关系被破坏导致软件无法安装或者安装失败。

【技术实现步骤摘要】

本专利技术属于linux软件管理,具体涉及一种yum源完整性测试方法


技术介绍

1、yum源作为ctyunos、openeuler、centos等操作系统原生开源软件提供远程开源软件仓库,当系统在使用过程中需要某个开源软件的时候,可以通过yum或者dnf命令进行联网安装软件并自动解决正在安装的软件间的依赖问题。

2、当前的yum源由各个操作系统厂商进行维护。随着仓库中开源软件数量的增加以及开源软件的版本升级,某个开源软件包的升级或者引入可能会打破原有仓库中软件包的依赖关系,这些包可能和当前软件包存在依赖、版本、文件上的冲突,最终导致引入的软件包无法安装或者源内其他软件包无法安装,而软件依赖关系检查通常在使用中遇到问题进行软件包的验证。现有技术主要通过单个软件包进行验证。如果没有出现软件包使用冲突问题则无法出现此问题,属于隐蔽性问题。客户在使用系统过程中出现此问题才会出现,降低了此用户体验。

3、针对最小化安装系统上开源软件包的安装测试比较容易,创建最小化安装的系统环境进行安装即可。当前软件源中的rpm软件包的数量当前在3000及以上,在进行测试的时候无法直接确认引入或者升级的软件包是否对每个软件包的影响。当前在linux操作系统中也没有软件包依赖关系完整性检查的工具。在引入或者升级软件包的时候可能会导致yum源中软件包依赖关系被破坏,从而导致用户无部分软件包无法安装,降低用户体验,增加软件源维护成本。


技术实现思路

1、本专利技术的目的是提供一种yum源完整性测试方法,能够用于软件包升级、或者新软件包引入之后进行yum源的依赖完整性检查,避免上线之后软件包依赖关系被破坏导致软件无法安装或者安装失败。

2、本专利技术采取的技术方案具体如下:

3、一种yum源完整性测试方法,包括以下步骤:

4、读取当前已有软件源中的所有软件包,分析每个软件包的依赖关系,找出具有冲突关系的软件包;

5、将具有冲突关系的软件包放到不同的列表中,生成多个列表,其中多个列表包括基础软件包列表、冲突软件包列表1、冲突软件包列表2、……冲突软件包列表n;

6、从基础软件包列表中选择一个软件包,尝试在基础软件包列表的基础上安装该软件包;

7、安装完成后,进行和update软件源的兼容性验证,并输出验证结果;

8、其中,在变更软件时,调用冲突软件包分类子系统,确定要测试的软件包应在哪个列表中;

9、根据确定的列表,调用软件包安装验证子系统进行安装兼容性验证,并输出验证结果。

10、在一种优选方案中,所述基础软件包列表中的软件包可以和任何冲突软件包列表中的软件包一起安装,冲突软件包列表中的软件包和其他冲突软件包列表中的软件包不能一起安装。

11、在一种优选方案中,所述软件包的冲突列表通过yum源中的repodata进行分析分类。

12、在一种优选方案中,所述软件包的冲突列表通过yum源中的repodata进行分析分类的方法如下:

13、获取everything的repoda,获取list1列表中的所有项目;

14、获取冲突软件包list2和list3列表中的所有项目;

15、将list2和list3列表中的软件包及其依赖项合并到一个总的软件包列表中;

16、从list1中移除对list2和list3的依赖;

17、安装并验证list1和整合后的list2,然后根据需要调整list2。

18、需要安装并验证list1和整合后的list3,然后根据需要调整list3。

19、完成验证。

20、在一种优选方案中,所述尝试在基础软件包列表的基础上安装该软件包前需进行基础软件包列表中软件包和各个冲突软件包列表中的软件包兼容性验证,是否可以在基础软件包列表基础上安装任意一个冲突软件包列表中的软件包。

21、在一种优选方案中,所述变更软件包括新软件包引入或升级软件包。

22、在一种优选方案中,所述冲突软件包分类子系统、软件包安装验证子系统和变更软件包测试子系统均集成在一个自动化的软件包管理系统中。

23、在一种优选方案中,所述变更软件包测试子系统还能够根据用户的选择,只对特定的冲突软件包列表进行验证。

24、本专利技术还提供了一种yum源完整性测试系统,其特征在于,应用于上述的yum源完整性测试方法,该系统包括:

25、冲突软件包分类子系统,所述冲突软件包分类子系统用于:

26、读取当前已有软件源中的所有软件包,分析每个软件包的依赖关系,找出具有冲突关系的软件包;

27、将具有冲突关系的软件包放到不同的列表中,生成多个列表:基础软件包列表、冲突软件包列表1、冲突软件包列表2、冲突软件包列表n;

28、软件包安装验证子系统,所述软件包安装验证子系统用于:

29、从基础软件包列表中选择一个软件包;

30、尝试在基础软件包列表的基础上安装该软件包;

31、安装完成后,进行和update软件源的兼容性验证;

32、输出验证结果;

33、变更软件包测试子系统:所述变更软件包测试子系统用于:

34、调用冲突软件包分类子系统,并确定要测试的软件包应在哪个列表中;

35、根据确定的列表,调用软件包安装验证子系统进行安装兼容性验证。

36、本专利技术还提供了一种计算机可读存储介质,其上存储有指令,当该指令被执行时,实现执行上述的yum源完整性测试方法。

37、本专利技术取得的技术效果为:通过分析yum源中的repodata,将软件包按照冲突关系进行分类,减少了人工干预的需求,且能使用户能够清楚地了解每个软件包的冲突关系,通过将具有冲突关系的软件包放到不同的列表中,可以避免不同冲突软件包列表中的软件包同时安装导致的问题,提高系统的稳定性,而基础软件包列表中的软件包可以和任何冲突软件包列表中的软件包一起安装,简化了用户的操作流程,提高了用户体验。

38、本专利技术的软件包安装验证子系统可以验证基础软件包列表中软件包和各个冲突软件包列表中的软件包的兼容性,确保在安装过程中不会出现问题,安装完成后,还可以完成与update软件源的兼容性验证,保证系统的稳定和安全性。

39、本专利技术的变更软件包测试子系统可以根据需要调用冲突软件包分类子系统确定软件包应在的列表,并进行相应的安装兼容性验证,方便进行变更管理。

本文档来自技高网...

【技术保护点】

1.一种yum源完整性测试方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述基础软件包列表中的软件包可以和任何冲突软件包列表中的软件包一起安装,冲突软件包列表中的软件包和其他冲突软件包列表中的软件包不能一起安装。

3.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述软件包的冲突列表通过yum源中的repodata进行分析分类。

4.根据权利要求3所述的yum源完整性测试方法,其特征在于:所述软件包的冲突列表通过yum源中的repodata进行分析分类的方法如下:

5.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述尝试在基础软件包列表的基础上安装该软件包前需进行基础软件包列表中软件包和各个冲突软件包列表中的软件包兼容性验证,是否可以在基础软件包列表基础上安装任意一个冲突软件包列表中的软件包。

6.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述变更软件包括新软件包引入或升级软件包。

7.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述冲突软件包分类子系统、软件包安装验证子系统和变更软件包测试子系统均集成在一个自动化的软件包管理系统中。

8.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述变更软件包测试子系统还能够根据用户的选择,只对特定的冲突软件包列表进行验证。

9.一种yum源完整性测试系统,其特征在于,应用于权利要求1-8中任一项所述的yum源完整性测试方法,该系统包括:

10.一种计算机可读存储介质,其上存储有指令,当该指令被执行时,实现执行权利要求1至8中任一项所述的yum源完整性测试方法。

...

【技术特征摘要】

1.一种yum源完整性测试方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述基础软件包列表中的软件包可以和任何冲突软件包列表中的软件包一起安装,冲突软件包列表中的软件包和其他冲突软件包列表中的软件包不能一起安装。

3.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述软件包的冲突列表通过yum源中的repodata进行分析分类。

4.根据权利要求3所述的yum源完整性测试方法,其特征在于:所述软件包的冲突列表通过yum源中的repodata进行分析分类的方法如下:

5.根据权利要求1所述的yum源完整性测试方法,其特征在于:所述尝试在基础软件包列表的基础上安装该软件包前需进行基础软件包列表中软件包和各个冲突软件包列表中的软件包兼容性验证,是否可以在基础软...

【专利技术属性】
技术研发人员:曹静波
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1