[发明专利]一种用于Linux系统构建的方法与设备有效
申请号: | 202011080369.X | 申请日: | 2020-10-10 |
公开(公告)号: | CN112214221B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 韦帅 | 申请(专利权)人: | 上海上讯信息技术股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/65;G06F8/71 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 王奎宇;朱永海 |
地址: | 201203 上海市浦东新区自*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 linux 系统 构建 方法 设备 | ||
本申请通过一种用于Linux系统构建的方法与设备,首先获取多个软件包,其中,所述软件包用于构建所述Linux系统,接着基于预设运行依赖检测规则,确定每个软件包之间的运行依赖关系,然后基于预设编译依赖检测规则,确定每个软件包之间的编译依赖关系,再接着基于每个软件包之间的编译依赖关系及运行依赖关系,确定每个软件包之间的编译顺序,最后基于所述每个软件包之间的编译顺序,递归编译对应的软件包,以构建所述Linux系统。通过该方法,使得用于构建Linux系统的软件包可基于明确的软件包依赖关系获得确定的编译环境,以构建可控的Linux系统,可以满足在构建Linux系统过程中编译环境可控的要求。
技术领域
本申请涉及计算机操作系统技术领域,尤其涉及一种用于Linux系统构建的技术。
背景技术
Linux系统是一个开源系统,通常由成百上千的软件包组成,这些软件包之间存在错综复杂的依赖关系,由世界各地不同程序员进行开发和维护。在Linux操作系统的构建过程中,软件包的编译是最重要的步骤。影响软件包的运行及编译结果的因素包括:编译环境、软件代码以及编译参数,例如,软件包A是软件包B的运行依赖,如果软件包A出现问题,则会导致软件包B也不可用;如果软件包C是软件包D的编译依赖,如果编译环境中没有软件包C,则就无法正常编译软件包D。
传统的Linux操作系统构建方法是对已有的基础软件包进行编译,并添加新的软件包后集合为新的Linux操作系统,但是,构建过程中只能保证软件代码和编译参数是明确可控的,而对编译环境无法保证可控。
发明内容
本申请的目的是提供一种用于Linux系统构建的方法与设备,用以解决现有Linux系统构建过程中编译环境不可控的技术问题。
根据本申请的一个方面,提供了一种用于Linux系统构建的方法,其中,所述方法包括:
获取多个软件包,其中,所述软件包用于构建所述Linux系统;
基于预设运行依赖检测规则,确定每个软件包之间的运行依赖关系;
基于预设编译依赖检测规则,确定每个软件包之间的编译依赖关系;
基于每个软件包之间的编译依赖关系及运行依赖关系,确定每个软件包之间的编译顺序;
基于所述每个软件包之间的编译顺序,递归编译对应的软件包,以构建所述Linux系统。
可选地,其中,所述基于预设运行依赖检测规则,确定每个软件包之间的运行依赖关系包括:
基于预设运行依赖检测规则,获取每个软件包的所有运行依赖信息;
基于每个软件包的所有运行依赖信息,获得该软件包运行依赖的相关软件包信息,遍历所述多个软件包,以确定每个软件包之间的运行依赖关系。
可选地,其中,所述基于预设运行依赖检测规则,获取每个软件包的所有运行依赖信息还包括:
对获取的每个软件包的所有运行依赖信息进行处理,以去除其中的无用信息。
可选地,其中,所述软件包的所有运行依赖信息至少包括:
运行所述软件包所依赖的文件信息,其中,所述文件信息包括动态链接库文件名及其保存路径;
相关软件包信息,其中,所述相关软件包是所述软件包运行所依赖的。
可选地,其中,所述基于预设编译依赖检测规则,确定每个软件包之间的编译依赖关系包括:
基于预设编译依赖检测规则,获取每个软件包的所有编译依赖信息;
基于每个软件包的所有编译依赖信息,获得该软件包编译依赖的相关软件包信息,遍历所述多个软件包,以确定每个软件包之间的编译依赖关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海上讯信息技术股份有限公司,未经上海上讯信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011080369.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:采用螺旋传动的链式桅杆
- 下一篇:一种农业大棚用铺膜装置