CN102880466A - 一种Linux操作系统软件包依赖关系检测方法 - Google Patents

一种Linux操作系统软件包依赖关系检测方法 Download PDF

Info

Publication number
CN102880466A
CN102880466A CN2012103245567A CN201210324556A CN102880466A CN 102880466 A CN102880466 A CN 102880466A CN 2012103245567 A CN2012103245567 A CN 2012103245567A CN 201210324556 A CN201210324556 A CN 201210324556A CN 102880466 A CN102880466 A CN 102880466A
Authority
CN
China
Prior art keywords
software package
operating system
analyzed
relation
hierarchical dependency
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.)
Granted
Application number
CN2012103245567A
Other languages
English (en)
Other versions
CN102880466B (zh
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.)
China Standard Software Co Ltd
Original Assignee
China Standard Software 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 China Standard Software Co Ltd filed Critical China Standard Software Co Ltd
Priority to CN201210324556.7A priority Critical patent/CN102880466B/zh
Publication of CN102880466A publication Critical patent/CN102880466A/zh
Application granted granted Critical
Publication of CN102880466B publication Critical patent/CN102880466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种Linux操作系统软件包依赖关系检测方法。该方法包括如下步骤:构建参考操作系统的所有软件包的依赖关系数据;基于所述依赖关系数据,依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系;基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图,其中所述分层依赖关系图中的各节点表示与所述特定软件包存在依赖或被依赖关系的软件包。本发明的方法能够较快速地全面检测某个特定软件包的依赖关系的Linux操作系统软件包依赖关系。

Description

一种Linux操作系统软件包依赖关系检测方法
技术领域
本发明涉及一种Linux操作系统领域,尤其涉及Linux操作系统软件包依赖关系检测方法。
背景技术
当前操作系统的软件包依赖关系主要通过系统内置的命令进行依赖文件的查询,如“rpm-q--provide或--requires+软件包包名”,每次只能查询软件包与软件包之间的直接依赖,即只能查询某个软件包所直接依赖或直接提供的文件,而不能查询某个软件包与软件包之间的间接依赖关系。例如,当软件包A依赖于软包B,而软件包B又依赖于软件包C时,软件包A间接依赖于软件包C,但上述的rpm命令则无法很好地查询这种依赖关系并友好地显示给用户。
需要说明的是,对于Linux操作系统分发端而言,检测各软件包是否满足依赖性至关重要,否则只能通过安装及反复测试来判断要发布的操作系统是否满足依赖性。加之,随着Linux操作系统的个性化发展,往往发布Linux操作系统的企业要同时开发众多定制的Linux操作系统,每种定制Linux操作系统又有众多的版本。因此,如何较快速地检测Linux操作系统软件包依赖关系以提高Linux操作系统发布者的工作效率显得越来越重要。
存在一种从冲突的角度出发通过排除与软件包关联的冲突来对Linux分发端的软件包依赖完整性进行检查的软件包依赖关系检测方法,但是这种关注软件包依赖关系冲突的检查方法一般只强调依赖树的概念来解决判断依赖性,而忽视了软件包之间的多层依赖关系。这种方法对于特定软件包而言,只能分析出该特定软件包的下层的依赖关系。
因此,需要一种能够更全面检测某个特定软件包的依赖关系检测方法,使得在Linux操作系统进行裁剪或添加新功能时,能够较快速地检测操作系统的软件包是否满足依赖关系。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够较快速地全面检测某个特定软件包的依赖关系的Linux操作系统软件包依赖关系检测方法。
为了解决上述技术问题,本发明提供了一种Linux操作系统软件包依赖关系检测方法。该方法包括如下步骤:
构建参考操作系统的所有软件包的依赖关系数据;
基于所述依赖关系数据,依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系;
基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图;其中,
所述分层依赖关系图中的各节点表示与所述特定软件包存在依赖或被依赖关系的软件包。
根据本发明又一方面,所述构建参考操作系统的所有软件包的依赖关系数据的步骤进一步包括:获取所述参考操作系统的所有软件包;利用Linux系统内置的createrepo命令,生成软件包的依赖关系数据库,作为所述依赖关系数据。
根据本发明又一方面,所述参考操作系统所包括的软件包是所述待检测操作系统中软件包的子集,所述参考操作系统满足软件包依赖性。
根据本发明又一方面,所述设定的分层逻辑包括基于所述参考操作系统的如下步骤:
b10)、将所述特定软件包作为待分析软件包;
b11)、确定所述待分析软件包的唯一标识;
b12)、依据所述待分析软件包的唯一标识确定所述待分析软件包提供的文件;
b13)、基于所述待分析软件包提供的文件,确定依赖于所述待分析软件包所提供的文件的软件包的唯一标识;
b14)、将与所述软件包的唯一标识对应的软件包确定为所述待分析软件包的上层软件包;
b15)、将所述待分析软件包的上层软件包作为所述待分析软件包,返回子步骤b11),以进一步确定所述待分析软件包的上层软件包的上层软件包。
根据本发明又一方面,所述设定的分层逻辑包括基于所述参考操作系统的如下步骤:
b20)、将所述特定软件包作为待分析软件包;
b21)、基于所述参考操作系统确定所述待分析软件包的唯一标识;
b22)、基于所述参考操作系统,依据所述待分析软件包的唯一标识确定所述待分析软件包所依赖于的文件;
b23)、基于所述待分析软件包所依赖于的文件,确定提供所述待分析软件包所依赖于的文件的软件包的唯一标识;
b24)、将与所述软件包的唯一标识对应的软件包确定为所述待分析软件包的下层软件包;
b25)、将所述待分析软件包的下层软件包作为所述待分析软件包,返回子步骤b21),以进一步确定所述待分析软件包的下层软件包的下层软件包。
根据本发明又一方面,依据指定层数来确定通过返回处理而执行的循环的次数。
根据本发明又一方面,在基于所述依赖关系数据、依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系的步骤中,
根据用户输入的软件包名来确定所述特定软件包;或者,
将所述待检测操作系统中区别于所述参考操作系统的软件包确定为所述特定软件包。
根据本发明又一方面,所述基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图的步骤进包括:
基于所述分层依赖关系,依照设定的分层逻辑生成符合指定层数要求的所述特定软件包的分层依赖关系图、或者依照设定的分层逻辑生成所述特定软件包的分层依赖关系图;
显示所生成的符合指定层数要求的所述特定软件包的分层依赖关系图;其中,
所述指定层数包括所述特定软件包的分层依赖关系图的总层数、位于所述特定软件包的上层的层数和/或下层的层数。
根据本发明又一方面,所述基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图的步骤包括:
基于所述分层依赖关系,依照设定的分层逻辑生成所述特定软件包的分层依赖关系图;
检测所述待测操作系统中是否存在所述特定软件包的分层依赖关系图中各结点表示的软件包;
区别显示所述分层依赖关系图中在所述待测操作系统中不存在的软件包所对应的节点。
根据本发明又一方面,所述基于所述依赖关系数据、依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系的步骤包括,依据设定的分层逻辑,将软件包之间的多层依赖关系利用Dot描述语言形式输出到Dot文件中;所述基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图的步骤包括:基于所述Dot文件,根据用户输入的软件包名、或者包含包名及层数,利用软件包graphviz的dot命令分层显示所述分层依赖关系图。
与现有技术相比,本发明的一个或多个实施例可以具有如下优点:构建参考操作系统的所有软件包的依赖关系数据,基于依赖关系数据,依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系。可以较快速地检测特定软件包与操作系统中其它软件包的依赖关系。通过显示特定软件包的分层依赖关系图,可以更方便用户查看软件包的依赖关系。
本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本实施例的Linux操作系统软件包依赖关系检测方法的流程图;
图2A和图2B是根据本实施例的Linux操作系统软件包依赖关系检测方法中用于确定特定软件包的上层和下层软件包的各子步骤的流程图;
图3A和图3B是根据本发明实施例的Linux操作系统软件包依赖关系检测方法来显示特定软件包的分层依赖关系图的一个例子。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面参考图1来说明本实施例的Linux操作系统软件包依赖关系检测方法。
步骤S110,构建参考操作系统的所有软件包的依赖关系数据;
步骤S120,基于依赖关系数据,依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系;
步骤S130,基于分层依赖关系生成并显示特定软件包的分层依赖关系图,其中分层依赖关系图中的各节点表示与特定软件包存在依赖或被依赖关系的软件包。
下面详细说明步骤S110。
当一新版本的支持龙芯平台的Linux操作系统要发布时,这个新版本的操作系统即为待检测操作系统。由于可将新版本之前的那个版本的操作系统已经是测试通过的稳定版本的操作系统,则可将这个稳定版本的操作系统作为参考操作系统。
优选地,可新建一个目录,将新版本的支持龙芯平台的Linux操作系统中不属于该稳定版本的操作系统的所有的软件包放入所创建的目录。这样,可利用Linux系统内置的createrepo命令来生成包含该稳定的操作系统(例如,可为X86的操作系统)的全部软件包(即除新创建目录下的软件包以外的全部软件包)的依赖关系数据库,作为依赖关系数据。使得参考操作系统所包括的软件包是待检测操作系统中软件包的子集,参考操作系统满足软件包依赖性。这样,可保证该依赖关系数据库中涉及的软件包都是该稳定的操作系统所包含的,而不会有多余的软件包,从而产生多余的依赖关系。
在依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系的步骤S120中,设定的分层逻辑包括基于参考操作系统如图2A所示的各步骤,这些步骤用于确定特定软件包的上层软件包。下面结合图2A来进行说明。
步骤S211,将特定软件包作为待分析软件包。
例如,当要对操作系统进行升级时,可输入新版本操作系统中相对于参考操作系统而言新增加的软件包的名称A0,则该输入的软件包名A0对应的软件包即为一特定软件包。将该特定软件包作为待分析软件包。此外,也可将待检测操作系统中区别于参考操作系统的全部软件包确定为特定软件包。
需要强调的是,现有对依赖性的分析的技术中,对特定软件包只能通过rpm应用来分析其相邻层的依赖关系,并不能一次性检测包含间接依赖与直接依赖的所有依赖关系,因而导致效率非常低下。其它一些检测方法只能每次只能通过复杂且耗时的检测过程得到整个操作系统是否满足依赖性的检测结果,而无法针对性地对特定软件包的依赖关系,这也导致效率低下。
步骤S212,确定待分析软件包的唯一标识。更具体地,从在步骤S110中利用createrepo命令生成的依赖关系数据库的packages表中获得该软件包对应的软件包唯一标识pkgkey-A0。
步骤S213,依据待分析软件包的唯一标识确定待分析软件包提供的文件。例如,可通过输入pkgkey-A0,从依赖关系数据库中provides表中获得该软件包对应的一系列文件名provides-names,这些文件名即表示待分析软件包提供的文件。
步骤S214,基于待分析软件包提供的文件,确定依赖于该提供的文件的软件包的唯一标识。例如,输入这一系列文件名provides-names,从在步骤S110中利用createrepo命令生成的依赖关系数据库的requires和files表中获得一系列提供文件名为provides-names的文件的软件包的唯一标识requires-pkgkeys。
步骤S215,将与步骤S214所确定的软件包的唯一标识对应的软件包确定为待分析软件包的上层软件包。
可输入一系列软件包唯一标识requires-pkgkeys,从依赖关系数据库中packages表中获得对应的一系列软件包名A1、A2、A3,作为待分析软件包的上层软件包。也就是说,通过上述步骤,确定为A1、A2、A3依赖于A0。
步骤S216,将待分析软件包的上层软件包作为待分析软件包,返回子步骤S212,以进一步确定待分析软件包的上层软件包的上层软件包。当然,若在步骤S214中发现没有依赖于该提供的文件的软件包的唯一标识,则步骤S220的处理结束,不再需要返回S212。
在上面这个例子中,可将软件包A1、A2、A3均作为待分析软件包,从而通过步骤S212至S215确定A1、A2、A3的上层软件包。在图3A所示的例子中,A1的上层软件包为A4和A5,A2的上层软件包为A6,A3依赖于A6和A7,其上层软件包为A6和A7。依此类推,可继续通过返回步骤S212来进一步分析A4至A7的上层软包。如图3A,A7依赖于A8、A9和A10,A4至A6没有上层软件包。
在依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系的步骤S120中,设定的分层逻辑还可包括基于参考操作系统如图2B所示的各步骤,这些步骤用于确定特定软件包的下层软件包。下面结合图2B来进行说明。
S221,将特定软件包作为待分析软件包。
与步骤S211类似地,可输入新版本操作系统中相对于参考操作系统而言新增加的软件包的名称A0,则该输入的软件包名A0对应的软件包即为一特定软件包。将该特定软件包作为待分析软件包。
S222,基于参考操作系统,确定待分析软件包的唯一标识。与步骤S212类似地,可从依赖关系数据库中packages表中获得该待分析软件包对应的软件包唯一标识pkgkey-A0。
S223,基于参考操作系统,依据待分析软件包的唯一标识确定待分析软件包所依赖于的文件。
输入此pkgkey-B0,从依赖关系数据库中requires表中获得该软件包对应的一个以上所依赖的软件包的文件名requires-names,这件文件名表示的即为要待分析软件包所依赖于的文件。
S224,基于待分析软件包所依赖于的文件,确定提供该待分析软件包所依赖于的文件的软件包的唯一标识。可输入这一个以上的所依赖于的文件的文件名requires-names,从依赖关系数据库中provides和files表中获得提供了这一个以上的所依赖于的文件的一个以上软件包唯一标识provides-pkgkeys。
S225,将与步骤S224所确定的软件包的唯一标识对应的软件包确定为待分析软件包的下层软件包。例如,可输入这一个以上的软件包的provides-pkgkeys,从依赖关系数据库中packages表中获得对应的复数个软件包名B1、B2、B3,作为待分析软件包的下层软件包。
S226,将待分析软件包的下层软件包作为待分析软件包,返回子步骤S222,以进一步确定待分析软件包的下层软件包的下层软件包。
与步骤S216类似地,可通过返回步骤S222来分别确定软件包B1、B2、B3的下层软件包。图3A中,B1的下层软件包为B4,B2的下层软件包为B5和B6,B3的下层软件包为B6、B7和B8,以及B4的下层软件包为B9,B8的下层软包为B10。
优选地,不仅可通过用户可输入的软件包名来确定要检测依赖关系的特定软件包,还可以通过用户输入来确定要分析层数。例如,可通过用户输入指定只分析特定软件包的2个上层、一共分析6层、或者只分析2个上层和3个下层等。这样,依据指定层数来确定通过上述返回处理而执行的循环的次数。
步骤S130中,基于分层依赖关系依照设定的分层逻辑生成并显示特定软件包的分层依赖关系图。更具体地,可基于分层依赖关系,依照设定的分层逻辑生成符合指定层数要求的特定软件包的分层依赖关系图;然后显示所生成的符合指定层数要求的特定软件包的分层依赖关系图。
此外,还可以在生成特定软件包的分层依赖关系图之后,检测待测操作系统中是否存在特定软件包的分层依赖关系图中各结点表示的软件包;然后以虚线、点划线、不同的颜色或标亮等区别显示分层依赖关系图中在待测操作系统中不存在的软件包所对应的节点。
根据软件包的包名、输入的层数,利用设定的分层逻辑,将软件包之间的多层依赖关系用Dot描述语言形式输出到文件file1,并以dot为格式后缀。对文件file1的进行逻辑处理,如按照字幕排序、去除重复项、再次将软件包之间的多层依赖关系用Dot描述语言形式输出到文件file2,并以dot为格式后缀。
这样,可根据输入的软件包的包名、输入的层数,以及Dot语言描述的可视化文件file2,利用软件包graphviz的dot命令dot-Tsvg file2.dot-OXXX.svg,自动分层显示软件包依赖关系图。
当用户输入了总层数为4层且2层下层1层上层时,则上面的例子将不显示图3A中的全部层,而是仅示出图3B中的层,这样可以更有利于帮助操作系统发布者有针对性地检测系统的依赖性。此外,图3A还以虚线方式区别显示了分层依赖关系图中在待测操作系统中不存在的软件包所对应的节点A3和B8。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种Linux操作系统软件包依赖关系检测方法,其特征在于,包括如下步骤:
构建参考操作系统的所有软件包的依赖关系数据;
基于所述依赖关系数据,依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系;
基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图;其中,
所述分层依赖关系图中的各节点表示与所述特定软件包存在依赖或被依赖关系的软件包。
2.根据权利要求1所述的方法,其特征在于,所述构建参考操作系统的所有软件包的依赖关系数据的步骤进一步包括:
获取所述参考操作系统的所有软件包;
利用Linux系统内置的createrepo命令,生成软件包的依赖关系数据库,作为所述依赖关系数据。
3.根据权利要求1所述的方法,其特征在于,所述参考操作系统所包括的软件包是所述待检测操作系统中软件包的子集,所述参考操作系统满足软件包依赖性。
4.根据权利要求1所述的方法,其特征在于,所述设定的分层逻辑包括基于所述参考操作系统的如下步骤:
b10)、将所述特定软件包作为待分析软件包;
b11)、确定所述待分析软件包的唯一标识;
b12)、依据所述待分析软件包的唯一标识确定所述待分析软件包提供的文件;
b13)、基于所述待分析软件包提供的文件,确定依赖于所述待分析软件包所提供的文件的软件包的唯一标识;
b14)、将与所述软件包的唯一标识对应的软件包确定为所述待分析软件包的上层软件包;
b15)、将所述待分析软件包的上层软件包作为所述待分析软件包,返回子步骤b11),以进一步确定所述待分析软件包的上层软件包的上层软件包。
5.根据权利要求1所述的方法,其特征在于,所述设定的分层逻辑包括基于所述参考操作系统的如下步骤:
b20)、将所述特定软件包作为待分析软件包;
b21)、基于所述参考操作系统确定所述待分析软件包的唯一标识;
b22)、基于所述参考操作系统,依据所述待分析软件包的唯一标识确定所述待分析软件包所依赖于的文件;
b23)、基于所述待分析软件包所依赖于的文件,确定提供所述待分析软件包所依赖于的文件的软件包的唯一标识;
b24)、将与所述软件包的唯一标识对应的软件包确定为所述待分析软件包的下层软件包;
b25)、将所述待分析软件包的下层软件包作为所述待分析软件包,返回子步骤b21),以进一步确定所述待分析软件包的下层软件包的下层软件包。
6.根据权利要求4或5所述的方法,其特征在于,依据指定层数来确定通过返回处理而执行的循环的次数。
7.根据权利要求1至5中任一项所述的方法,其特征在于,在基于所述依赖关系数据、依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系的步骤中,
根据用户输入的软件包名来确定所述特定软件包;或者,
将所述待检测操作系统中区别于所述参考操作系统的软件包确定为所述特定软件包。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图的步骤包括:
基于所述分层依赖关系,依照设定的分层逻辑生成符合指定层数要求的所述特定软件包的分层依赖关系图或者依照设定的分层逻辑生成所述特定软件包的分层依赖关系图;
显示所生成的符合指定层数要求的所述特定软件包的分层依赖关系图;其中,
所述指定层数包括所述特定软件包的分层依赖关系图的总层数位于所述特定软件包的上层的层数和/或下层的层数。
9.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图的步骤包括:
基于所述分层依赖关系,依照设定的分层逻辑生成所述特定软件包的分层依赖关系图;
检测所述待测操作系统中是否存在所述特定软件包的分层依赖关系图中各结点表示的软件包;
区别显示所述分层依赖关系图中在所述待测操作系统中不存在的软件包所对应的节点。
10.根据权利要求1至5中任一项所述的方法,其特征在于,
所述基于所述依赖关系数据、依照设定的分层逻辑生成与待检测操作系统中特定软件包相关的分层依赖关系的步骤包括,依据设定的分层逻辑,将软件包之间的多层依赖关系利用Dot描述语言形式输出到Dot文件中;
所述基于所述分层依赖关系生成并显示所述特定软件包的分层依赖关系图的步骤包括:基于所述Dot文件,根据用户输入的软件包名或者包含包名及层数,利用软件包graphviz的dot命令分层显示所述分层依赖关系图。
CN201210324556.7A 2012-09-04 2012-09-04 一种Linux操作系统软件包依赖关系检测方法 Active CN102880466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210324556.7A CN102880466B (zh) 2012-09-04 2012-09-04 一种Linux操作系统软件包依赖关系检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210324556.7A CN102880466B (zh) 2012-09-04 2012-09-04 一种Linux操作系统软件包依赖关系检测方法

Publications (2)

Publication Number Publication Date
CN102880466A true CN102880466A (zh) 2013-01-16
CN102880466B CN102880466B (zh) 2016-03-16

Family

ID=47481805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210324556.7A Active CN102880466B (zh) 2012-09-04 2012-09-04 一种Linux操作系统软件包依赖关系检测方法

Country Status (1)

Country Link
CN (1) CN102880466B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425512A (zh) * 2013-08-19 2013-12-04 曙光信息产业股份有限公司 一种软件包管理方法及系统
CN105446757A (zh) * 2014-08-21 2016-03-30 阿里巴巴集团控股有限公司 一种数据包的处理方法和设备
CN105718296A (zh) * 2016-04-21 2016-06-29 北京元心科技有限公司 编译依赖关系树的生成显示方法及装置
CN106294160A (zh) * 2016-08-12 2017-01-04 福建天泉教育科技有限公司 检查依赖包合法性的方法及系统
CN106886442A (zh) * 2017-03-06 2017-06-23 中山大学 一种软件依赖关系分析方法
CN107193622A (zh) * 2017-05-16 2017-09-22 北京小米移动软件有限公司 代码编译的处理方法、装置及终端
CN107678776A (zh) * 2017-08-09 2018-02-09 上海壹账通金融科技有限公司 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN108334334A (zh) * 2018-03-07 2018-07-27 政采云有限公司 一种管理依赖包版本的方法和系统
CN108475360A (zh) * 2015-12-31 2018-08-31 微软技术许可有限责任公司 分布式计算依赖管理系统
CN112416421A (zh) * 2020-11-17 2021-02-26 用友网络科技股份有限公司 软件依赖关系分析方法、分析装置和可读存储介质
CN113971031A (zh) * 2021-10-28 2022-01-25 中国银行股份有限公司 软件包依赖关系检查方法及装置
CN114327473A (zh) * 2021-12-15 2022-04-12 中电信数智科技有限公司 一种软件包依赖关系检测方法
CN115167913A (zh) * 2022-08-02 2022-10-11 统信软件技术有限公司 一种操作系统的分层方法、计算设备及存储介质
WO2023015669A1 (zh) * 2021-08-12 2023-02-16 广东艾檬电子科技有限公司 项目依赖关系展示方法、装置、终端设备和存储介质
CN115934106A (zh) * 2023-03-14 2023-04-07 麒麟软件有限公司 快速检测apt仓库源依赖完整性的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168956A1 (en) * 2005-11-03 2007-07-19 International Business Machines Corporation System and method for representing user processes as software packages in a software package management system
CN101826103A (zh) * 2010-04-06 2010-09-08 山东高效能服务器和存储研究院 一种unix操作系统中逆向查找包被依赖的方法
CN102073582A (zh) * 2010-07-30 2011-05-25 兰雨晴 基于冲突的软件包依赖关系检查方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168956A1 (en) * 2005-11-03 2007-07-19 International Business Machines Corporation System and method for representing user processes as software packages in a software package management system
CN101826103A (zh) * 2010-04-06 2010-09-08 山东高效能服务器和存储研究院 一种unix操作系统中逆向查找包被依赖的方法
CN102073582A (zh) * 2010-07-30 2011-05-25 兰雨晴 基于冲突的软件包依赖关系检查方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOY: "在线生成Debian包依赖关系图", 《HTTPS://LINUXTOY.ORG/ARCHIVES/DEBIAN-PACKAGE-DEPMAP.HTML》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425512A (zh) * 2013-08-19 2013-12-04 曙光信息产业股份有限公司 一种软件包管理方法及系统
CN105446757A (zh) * 2014-08-21 2016-03-30 阿里巴巴集团控股有限公司 一种数据包的处理方法和设备
US11757720B2 (en) 2015-12-31 2023-09-12 Microsoft Technology Licensing, Llc Distributed computing dependency management system
CN108475360B (zh) * 2015-12-31 2021-06-08 微软技术许可有限责任公司 分布式计算依赖管理系统
CN108475360A (zh) * 2015-12-31 2018-08-31 微软技术许可有限责任公司 分布式计算依赖管理系统
CN105718296B (zh) * 2016-04-21 2019-11-08 北京元心科技有限公司 编译依赖关系树的生成显示方法及装置
CN105718296A (zh) * 2016-04-21 2016-06-29 北京元心科技有限公司 编译依赖关系树的生成显示方法及装置
CN106294160A (zh) * 2016-08-12 2017-01-04 福建天泉教育科技有限公司 检查依赖包合法性的方法及系统
CN106294160B (zh) * 2016-08-12 2019-09-03 福建天泉教育科技有限公司 检查依赖包合法性的方法及系统
CN106886442A (zh) * 2017-03-06 2017-06-23 中山大学 一种软件依赖关系分析方法
CN107193622A (zh) * 2017-05-16 2017-09-22 北京小米移动软件有限公司 代码编译的处理方法、装置及终端
CN107193622B (zh) * 2017-05-16 2020-03-17 北京小米移动软件有限公司 代码编译的处理方法、装置及终端
CN107678776A (zh) * 2017-08-09 2018-02-09 上海壹账通金融科技有限公司 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN108334334A (zh) * 2018-03-07 2018-07-27 政采云有限公司 一种管理依赖包版本的方法和系统
CN112416421A (zh) * 2020-11-17 2021-02-26 用友网络科技股份有限公司 软件依赖关系分析方法、分析装置和可读存储介质
WO2023015669A1 (zh) * 2021-08-12 2023-02-16 广东艾檬电子科技有限公司 项目依赖关系展示方法、装置、终端设备和存储介质
CN113971031A (zh) * 2021-10-28 2022-01-25 中国银行股份有限公司 软件包依赖关系检查方法及装置
CN114327473A (zh) * 2021-12-15 2022-04-12 中电信数智科技有限公司 一种软件包依赖关系检测方法
CN114327473B (zh) * 2021-12-15 2022-09-06 中电信数智科技有限公司 一种软件包依赖关系检测方法
CN115167913A (zh) * 2022-08-02 2022-10-11 统信软件技术有限公司 一种操作系统的分层方法、计算设备及存储介质
CN115167913B (zh) * 2022-08-02 2024-06-04 统信软件技术有限公司 一种操作系统的分层方法、计算设备及存储介质
CN115934106A (zh) * 2023-03-14 2023-04-07 麒麟软件有限公司 快速检测apt仓库源依赖完整性的方法
CN115934106B (zh) * 2023-03-14 2023-06-02 麒麟软件有限公司 快速检测apt仓库源依赖完整性的方法

Also Published As

Publication number Publication date
CN102880466B (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
CN102880466B (zh) 一种Linux操作系统软件包依赖关系检测方法
US8255903B2 (en) Data processing system and method
US20110161938A1 (en) Including defect content in source code and producing quality reports from the same
US9052983B2 (en) Source code patches
US8661416B2 (en) Method and apparatus for defining and instrumenting reusable Java server page code snippets for website testing and production
US7536678B2 (en) System and method for determining the possibility of adverse effect arising from a code change in a computer program
US20060190771A1 (en) System and method for model based generation of application programming interface test code
US20110302565A1 (en) Implicit workspace dependencies
US20080276221A1 (en) Method and apparatus for relations planning and validation
US20150339355A1 (en) Application coherency manager
US11922230B2 (en) Natural language processing of API specifications for automatic artifact generation
US7451440B2 (en) Patch application that enables the identification of patches for installation on a computer system in a reactive manner
CN102945155B (zh) 一种用于检测Linux操作系统软件包及其依赖关系缺失的方法
US20200097260A1 (en) Software application developer tools platform
Ekman et al. Refactoring-aware versioning in eclipse
US11379207B2 (en) Rapid bug identification in container images
CN103020075A (zh) 分析目标对象的依赖关系的方法
Luczak-Rösch et al. Svont–version control of owl ontologies on the concept level
CN104991925B (zh) 一种基于文件发布的检测方法和装置
Nguyen et al. BabelRef: detection and renaming tool for cross-language program entities in dynamic web applications
US20100257211A1 (en) Generating semi-structured schemas from test automation artifacts for automating manual test cases
Hashimoto et al. Enhancing history-based concern mining with fine-grained change analysis
Pedersen Programmatic ETL
CN117648198B (zh) 应用适配方法及装置、设备及存储介质
Geiger Evolution impact of code clones

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant