基于紅帽軟件包管理器的軟件管理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),尤其涉及一種基于紅帽軟件包管理器(RedhatPackage Manager,簡(jiǎn)稱RPM)的軟件管理方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的發(fā)展,Linux操作系統(tǒng)得到了廣泛的應(yīng)用,而對(duì)Linux系統(tǒng)上軟件的管理的方便性和易用性愈來愈受到軟件開發(fā)人員的重視。
[0003]RPM是一種用于管理Linux操作系統(tǒng)上軟件的安裝、卸載等操作的工具。RPM有五種操作模式,分別為:安裝、卸載、升級(jí)、查詢和驗(yàn)證,通過使用RPM,用戶可以自行安裝和管理Linux系統(tǒng)上的軟件。
[0004]但是,RPM機(jī)制提供了很多命令,要完成RPM操作需要使用多個(gè)命令的組合。由于命令組合相對(duì)比較復(fù)雜,使得現(xiàn)有RPM機(jī)制的源碼管理復(fù)雜度高、效率低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種基于紅帽軟件包管理器的軟件管理方法及系統(tǒng),解決源碼管理復(fù)雜度高、效率低的問題。
[0006]第一方面,本發(fā)明實(shí)施例提供一種基于紅帽軟件包管理器RPM的軟件管理方法,所述方法包括:
[0007]獲取與RPM操作對(duì)應(yīng)的RPM命令及各所述RPM命令的調(diào)用關(guān)系;
[0008]根據(jù)所述RPM命令及各所述RPM命令的調(diào)用關(guān)系,生成所述RPM操作的生成文件Makefile ;所述RPM操作的Makefile,用于記錄所述RPM命令及各所述RPM命令的調(diào)用關(guān)系;
[0009]使用所述RPM操作的MakefiIe,執(zhí)行針對(duì)軟件的所述RPM操作。
[0010]根據(jù)第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述RPM操作為軟件補(bǔ)丁生成操作,則所述使用所述RPM操作的Makefile,執(zhí)行針對(duì)軟件的所述RPM操作,包括:
[0011]使用所述RPM操作的Makefile,對(duì)所述軟件的修改內(nèi)容進(jìn)行記錄,并生成補(bǔ)丁文件。
[0012]根據(jù)第一方面,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述RPM操作為以下至少一種:軟件安裝,軟件卸載,軟件升級(jí),軟件查詢,軟件驗(yàn)證和軟件編譯。
[0013]根據(jù)第一方面、第一方面的第一種至第二種可能的實(shí)現(xiàn)方式中的任--種,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述獲取與RPM操作對(duì)應(yīng)的RPM命令及各所述RPM命令的調(diào)用關(guān)系,包括:獲取與RPM操作對(duì)應(yīng)的節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系;所述節(jié)點(diǎn)包括與所述RPM操作對(duì)應(yīng)的RPM命令;
[0014]所述根據(jù)所述RPM命令及各所述RPM命令的調(diào)用關(guān)系,生成所述RPM操作的生成文件MakefiIe ;所述RPM操作的MakefiIe,用于記錄所述RPM命令及各所述RPM命令的調(diào)用關(guān)系,包括:根據(jù)所述節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系,生成所述RPM操作的Makefile ;所述RPM操作的Makefile,用于記錄所述節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系;
[0015]所述使用所述RPM操作的Makefile,執(zhí)行針對(duì)軟件的所述RPM操作,包括:根據(jù)各所述RPM命令的調(diào)用關(guān)系,調(diào)用各所述節(jié)點(diǎn)。
[0016]第二方面,本發(fā)明實(shí)施例提供一種基于紅帽軟件包管理器RPM的軟件管理系統(tǒng),所述系統(tǒng)包括:
[0017]獲取模塊,用于獲取與RPM操作對(duì)應(yīng)的RPM命令及各所述RPM命令的調(diào)用關(guān)系;
[0018]生成模塊,用于根據(jù)所述RPM命令及各所述RPM命令的調(diào)用關(guān)系,生成所述RPM操作的生成文件Makefile ;所述RPM操作的Makefile,用于記錄所述RPM命令及各所述RPM命令的調(diào)用關(guān)系;
[0019]執(zhí)行模塊,用于使用所述RPM操作的Makefile,執(zhí)行針對(duì)軟件的所述RPM操作。
[0020]根據(jù)第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述RPM操作為軟件補(bǔ)丁生成操作,則所述執(zhí)行模塊具體用于使用所述RPM操作的Makefile,對(duì)所述軟件的修改內(nèi)容進(jìn)行記錄,并生成補(bǔ)丁文件。
[0021]根據(jù)第二方面,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述RPM操作為以下至少一種:軟件安裝,軟件卸載,軟件升級(jí),軟件查詢,軟件驗(yàn)證和軟件編譯。
[0022]根據(jù)第二方面、第二方面的第一種至第二種可能的實(shí)現(xiàn)方式中的任--種,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述獲取模塊,具體用于獲取與RPM操作對(duì)應(yīng)的節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系;所述節(jié)點(diǎn)包括與所述RPM操作對(duì)應(yīng)的RPM命令;
[0023]所述生成模塊,具體用于根據(jù)所述節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系,生成所述RPM操作的Makefile ;所述RPM操作的Makefile,用于記錄所述節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系;
[0024]所述執(zhí)行模塊,具體用于根據(jù)各所述RPM命令的調(diào)用關(guān)系,調(diào)用各所述節(jié)點(diǎn)。
[0025]采用本發(fā)明實(shí)施例提供的基于紅帽軟件包管理器的軟件管理方法及系統(tǒng),通過將與RPM操作相關(guān)的一系列RPM命令及調(diào)用關(guān)系封裝到Makefile,使用Makefile對(duì)該RPM操作進(jìn)行管理;在需要執(zhí)行對(duì)軟件的該RPM操作時(shí),使用Makefile完成對(duì)軟件的該RPM操作,實(shí)現(xiàn)自動(dòng)化管理,降低了源碼管理復(fù)雜度,提高了工作效率。
【附圖說明】
[0026]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0027]圖1為本發(fā)明實(shí)施例提供的基于RPM的軟件管理方法的流程圖;
[0028]圖2為本發(fā)明實(shí)施例提供的基于RPM的軟件管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0029]圖3為本發(fā)明實(shí)施例提供的基于RPM的軟件管理系統(tǒng)的原理示意圖。
【具體實(shí)施方式】
[0030]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0031]圖1為本發(fā)明實(shí)施例提供的基于RPM的軟件管理方法的流程圖。如圖1所示,所述方法包括:
[0032]101、獲取與RPM操作對(duì)應(yīng)的RPM命令及各所述RPM命令的調(diào)用關(guān)系。
[0033]102、根據(jù)所述RPM命令及各所述RPM命令的調(diào)用關(guān)系,生成所述RPM操作的生成文件(Makefile);所述RPM操作的Makefile,用于記錄所述RPM命令及各所述RPM命令的調(diào)用關(guān)系。
[0034]103、使用所述RPM操作的Makefile,執(zhí)行針對(duì)軟件的所述RPM操作。
[0035]可選的,所述RPM操作為以下至少一種:軟件安裝,軟件卸載,軟件升級(jí),軟件查詢,軟件驗(yàn)證,軟件編譯和軟件補(bǔ)丁生成操作。
[0036]具體地,所述方法的執(zhí)行主體可以為基于RPM的軟件管理系統(tǒng)。
[0037]在現(xiàn)有RPM機(jī)制中,為了完成針對(duì)軟件的某個(gè)RPM操作,需要按照一定的順序,調(diào)用與該RPM操作相關(guān)的一系列RPM命令的組合,且命令組合相對(duì)比較復(fù)雜。
[0038]本發(fā)明實(shí)施例提供的基于RPM的軟件管理方法,將與該RPM操作相關(guān)的一系列RPM命令及調(diào)用關(guān)系封裝到Makefile,使用Makefile對(duì)該RPM操作進(jìn)行管理;在需要執(zhí)行對(duì)軟件的該RPM操作時(shí),只需運(yùn)行生成(make)命令,采用Makefile完成對(duì)軟件的該RPM操作,實(shí)現(xiàn)自動(dòng)化管理,降低了源碼管理復(fù)雜度,提高了工作效率。
[0039]可以理解的是,針對(duì)任意一個(gè)RPM操作,例如軟件安裝、軟件卸載、軟件升級(jí)、軟件查詢、軟件驗(yàn)證、軟件編譯,或軟件補(bǔ)丁生成操作,都可以將該RPM操作涉及到的一系列RPM命令及調(diào)用關(guān)系封裝到該RPM操作的Makefile。
[0040]在一個(gè)實(shí)施例中,所述RPM操作為軟件補(bǔ)丁生成操作;相應(yīng)的,所述RPM操作的Makefile,用于指示對(duì)所述軟件的修改內(nèi)容進(jìn)行記錄,并生成補(bǔ)丁文件并打包。通過使用軟件補(bǔ)丁生成操作的Makefile,實(shí)時(shí)記錄針對(duì)軟件源碼包的修改,并自動(dòng)做成補(bǔ)丁并打包,實(shí)現(xiàn)了對(duì)源碼包修改的實(shí)時(shí)的、統(tǒng)一的管理,提高了源碼管理的效率。
[0041]在另一個(gè)實(shí)施例中,預(yù)先定義一個(gè)或多個(gè)節(jié)點(diǎn);每個(gè)節(jié)點(diǎn)封裝有一個(gè)或多個(gè)RPM命令,用以完成相應(yīng)的步驟或任務(wù);或者,所述節(jié)點(diǎn)不包括任何RPM命令。實(shí)際中,獲取與RPM操作對(duì)應(yīng)的節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系;所述節(jié)點(diǎn)包括與所述RPM操作對(duì)應(yīng)的RPM命令;根據(jù)所述節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系,生成所述RPM操作的Makefile ;所述RPM操作的Makefile,用于記錄所述節(jié)點(diǎn)及各所述節(jié)點(diǎn)的調(diào)用關(guān)系;在執(zhí)行時(shí),運(yùn)行Makefile,即是按照各所述RPM命令的調(diào)用關(guān)系,調(diào)用各所述節(jié)點(diǎn)。
[0042]圖2為本發(fā)明實(shí)施例提供的基于RPM的軟件管理系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,本發(fā)明實(shí)施例提供的基于RPM的軟件管理系統(tǒng)200,包括:獲取模塊201,用于獲取與RPM操作對(duì)應(yīng)的RPM命令及各所述RPM命令的調(diào)用關(guān)系;生成模塊202,用于根據(jù)所述RPM命令及各所述RPM命令的調(diào)用關(guān)系,生成所述RPM操作的生成文件Makefile ;所述RPM操作的Makefile,用于記錄所述RPM命令及各所述RPM命令的調(diào)用關(guān)系;執(zhí)行模塊203,用于使用所述RPM操作的Makefile,執(zhí)行針對(duì)軟件的所述RPM操作。
[0043]本發(fā)明實(shí)施例提供的基于RPM的軟件管理系統(tǒng)200,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0044]可選的,所述RPM操作為軟件補(bǔ)丁生成操作,則所述執(zhí)行模塊203具體用于使用所述RPM操作的Makefile,對(duì)所述軟件的修改內(nèi)容進(jìn)行記錄,并生成補(bǔ)丁文件。
[0045]或者,可選的,所述RPM操作為以下至少一種:軟件安裝,軟件卸載,軟件升級(jí),軟件查詢,軟件驗(yàn)證和軟件編譯。
[0046]可選的,所述獲取模塊201,具體用于獲取與RPM操