[发明专利]一种定制镜像中软件包依赖的解决方法有效
申请号: | 202110934204.2 | 申请日: | 2021-08-16 |
公开(公告)号: | CN113391826B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 石培;程向璐;金奇才 | 申请(专利权)人: | 统信软件技术有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/75 |
代理公司: | 北京瀚方律师事务所 11774 | 代理人: | 周红力 |
地址: | 100176 北京市大兴区北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定制 镜像中 软件包 依赖 解决方法 | ||
本发明公开了一种定制镜像中软件包依赖的解决方法,涉及计算机领域,方法包括:确定目标软件包的所有依赖软件包,作为第一软件包;在定制镜像过程中,遍历任一第一软件包;若从第一存储装置中查找到当前遍历的第一软件包的数据,则从第一存储装置中获取当前遍历的第一软件包的数据;若未从第一存储装置中查找到当前遍历的第一软件包的数据,则下载当前遍历的第一软件包由上述内容可知,本发明实现了在定制镜像过程中依赖原始操作系统已安装的软件包,遍历目标预装软件包所缺失的依赖,由于基于原始操作系统中已安装的软件包确定缺失依赖,从而能够在定制镜像过程中准确识别目标预装软件包所缺失的依赖。
技术领域
本发明涉及计算机领域,特别涉及一种定制镜像中软件包依赖的解决方法、计算设备及存储介质。
背景技术
软件包是指具有特定的功能,用来完成特定任务的一个程序或一组程序。Linux操作系统的软件包依赖关系复杂,例如,软件包A依赖于软件包B1、B2、B3等,而软件包B1又依赖于软件包C1、C2、C3等,也即,一个软件包和其依赖软件包实际上可以理解为一个多叉树形结构。
预装软件包,即在计算设备出厂时已安装的软件包。在定制镜像(即在原始操作系统之上复制一个操作系统)过程中,如果要将一个预装软件包定制到镜像操作系统中且能正常运行,需要在镜像操作系统中安装该预装软件包的所有依赖软件包。目前,主要通过分析工作计算设备(即定制镜像过程中所使用的计算设备)已下载的软件包,下载预装软件包所缺失的依赖软件包,但是,原始操作系统的软件包安装情况与工作计算设备的往往不同,容易造成缺少依赖软件包的情况。因此,通过上述方法定制镜像后,由于缺少依赖软件包,使得预装软件包无法正常运行。也即,通过已有的预装软件包的依赖软件包解决方法无法准确识别所缺失的依赖软件包,使得预装软件包无法在镜像操作系统上正常运行。
发明内容
为此,本发明提供一种定制镜像中软件包依赖的解决方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种定制镜像中软件包依赖的解决方法,在计算设备中执行,计算设备与第一存储装置通信连接,其中,第一存储装置存储有定制镜像的原始操作系统上已安装的所有软件包的数据,所述方法包括:确定目标软件包的所有依赖软件包,作为第一软件包,其中,所述目标软件包为任一预装软件包;在定制镜像过程中,遍历任一第一软件包;若从第一存储装置中查找到当前遍历的所述第一软件包的数据,则从第一存储装置中获取当前遍历的第一软件包的数据;若未从第一存储装置中查找到当前遍历的第一软件包的数据,则下载当前遍历的第一软件包。
可选地,计算设备还与第二存储装置通信连接,所述方法还包括步骤:将已下载的第一软件包的数据存储至第二存储装置。
可选地,下载当前遍历的第一软件包的步骤包括:判断第二存储装置中是否存储有当前遍历的第一软件包的数据,若是,从第二存储装置中获取当前遍历的第一软件包的数据,若否,下载当前遍历的第一软件包。
可选地,还包括步骤:通过已获取的第一软件包的数据、或者已下载的第一软件包的数据确定当前遍历的第一软件包的所有依赖软件包;遍历第一软件包的任一依赖软件包。
可选地,还包括步骤:获取原始操作系统的第一预定文件;从第一预定文件中读取原始操作系统上已安装的所有软件包的数据;将已读取的所有软件包的数据存储至第一存储装置。
可选地,通过深度优先算法遍历任一第一软件包。
可选地,第一存储装置存储的任一已安装软件包的数据包括:已安装软件包名称、已安装软件包版本号和依赖软件包信息,所述依赖软件包信息包括:依赖软件包的名称、版本号和版本号类型,以及备选依赖软件包的版本号、名称以及本版号类型。
可选地,第二存储装置存储的任一已下载软件包的数据包括:已下载软件包的名称、版本号、版本号类型和第二预定文件的路径,第二预定文件中包括已下载软件包的所有依赖的名称、版本号、版本号类型以及备选依赖软件包的名称、版本号和版本号类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于统信软件技术有限公司,未经统信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110934204.2/2.html,转载请声明来源钻瓜专利网。