两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種生成Linux軟件包倉庫的方法

文檔序號:6365343閱讀:219來源:國知局
專利名稱:一種生成Linux軟件包倉庫的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種生成軟件包倉庫的方法,尤其涉及一種生成Linux軟件包倉庫的方法。
背景技術(shù)
Linux軟件包倉庫在系統(tǒng)搭建起到很重要的作用,在其內(nèi)部包含內(nèi)核、基本庫和應(yīng)用程序等軟件包Iinux軟件包倉庫是在系統(tǒng)安裝光盤制作的時候生成的,但是由于某些系統(tǒng)安裝光盤在安裝過程中會出現(xiàn)問題或在安裝之后出現(xiàn)系統(tǒng)問題,例如Firef0X無法啟動,在出現(xiàn)系統(tǒng)問題時Linux軟件包倉庫需要重新生成, 更新與所出現(xiàn)問題有關(guān)的軟件包以保證系統(tǒng)運行正常。在軟件開發(fā)過程中,不同軟件所依賴的庫是不一樣。軟件包倉庫就是一個軟件包依賴關(guān)系的閉集,即軟件包所依賴的庫能夠在它所在的倉庫中找到。圖I是現(xiàn)有技術(shù)的軟件包倉庫的生成流程示意圖,請參考圖1,現(xiàn)有技術(shù)中的軟件包倉庫的生成主要是有兩個步驟,步驟一是下載遠程倉庫的軟件包到本地軟件倉庫的用于存放軟件包的目錄或者本地拷貝到軟件倉庫的用于存放軟件包的目錄,步驟二是基于所下載或拷貝后的軟件包生成關(guān)系數(shù)據(jù),即軟件包之間的依賴關(guān)系。然而,在Linux軟件包倉庫重新生成的過程中,下載并拷貝軟件包與生成軟件包之間的依賴關(guān)系所消耗的時間比較長。整個Linux軟件倉庫重新生成大概需要消耗30分鐘左右。由于軟件開發(fā)過程具有周期性,相應(yīng)的Linux軟件包倉庫就要生成多次。因乘數(shù)效應(yīng)會導(dǎo)致大量空等待,假設(shè)軟件開發(fā)需要迭代3次,那么Linux軟件包倉庫需要生成3次,將會耗時90分鐘。因此,如何縮短軟件包倉庫的生成時間,節(jié)省系統(tǒng)的開發(fā)周期,實為一急需解決的問題。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題之一是需要提供一種生成Linux軟件包倉庫的方法。為了解決上述技術(shù)問題,本發(fā)明提供了一種生成Linux軟件包倉庫的方法,該方法包括確定步驟,確定所要生成的軟件包倉庫;檢測步驟,檢測是否存在已經(jīng)生成的所述軟件包倉庫,若檢測結(jié)果為是,則通過執(zhí)行如下步驟來生成所要生成的軟件包倉庫清除步驟,清除所述已經(jīng)生成的所述軟件包倉庫所在的倉庫目錄下的除關(guān)系數(shù)據(jù)所在的關(guān)系數(shù)據(jù)子目錄及該關(guān)系數(shù)據(jù)子目錄下的內(nèi)容以外的內(nèi)容;獲取步驟,獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放到所述倉庫目錄中的設(shè)定子目錄中;關(guān)系數(shù)據(jù)更新步驟,基于所述設(shè)定子目錄中的軟件包更新所述關(guān)系數(shù)據(jù);倉庫生成步驟,基于更新后的關(guān)系數(shù)據(jù)和所述設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,在所述檢測步驟的檢測結(jié)果為否時,通過如下處理生成所要生成的軟件包倉庫創(chuàng)建用于存放所要生成的軟件包倉庫的倉庫目錄;獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放到所創(chuàng)建的倉庫目錄下的設(shè)定子目錄中;基于所述設(shè)定子目錄中的軟件包生成關(guān)系數(shù)據(jù);基于所生成的關(guān)系數(shù)據(jù)和所述設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,通過createrepo-u命令來完成所述關(guān)系數(shù)據(jù)更新步驟。 根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,在所述清除步驟中,清除所述已經(jīng)生成的所述軟件包倉庫所在的倉庫目錄下的除關(guān)系數(shù)據(jù)以外內(nèi)容的處理包括將所述倉庫目錄下的存放關(guān)系數(shù)據(jù)的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到指定臨時目錄;創(chuàng)建所述倉庫目錄;將所述指定臨時目錄下的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到所述倉庫目錄下。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,在將所述倉庫目錄下的存放關(guān)系數(shù)據(jù)的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到指定臨時目錄之前,還包括將用于存放關(guān)系數(shù)據(jù)的所述指定臨時目錄下、與所述關(guān)系數(shù)據(jù)子目錄同名的子目錄中的內(nèi)容刪除。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,通過接收用戶輸入的所要生成的軟件包倉庫的名稱來確定所要生成的軟件包倉庫。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,通過執(zhí)行單條命令來執(zhí)行所述方法,其中,所述單條命令帶有關(guān)于是否要基于已經(jīng)生成的所述軟件包倉庫來生成所要生成的軟件包倉庫的參數(shù)。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,在所述單條命令帶有表示要基于已經(jīng)生成的所述軟件包倉庫來生成所要生成的軟件包倉庫的參數(shù)時,則在所述檢測步驟中將檢測結(jié)果設(shè)置為是。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,所述Linux操作系統(tǒng)為Fedora版本的Linux操作系統(tǒng)。根據(jù)本發(fā)明又一方面的生成Linux軟件包倉庫的方法,在所述檢測步驟中,通過所要生成的軟件包倉庫的名稱來確定所述倉庫目錄;通過檢測是否已經(jīng)存在所述倉庫目錄來檢測是否存在已經(jīng)生成的所述軟件包倉庫。與現(xiàn)有技術(shù)相比,本發(fā)明的一個或多個實施例可以具有如下優(yōu)點本發(fā)明通過利用已經(jīng)生成的軟件包倉庫的關(guān)系數(shù)據(jù)來生成所要生成的軟件包倉庫的關(guān)系數(shù)據(jù),減少了所要生成軟件包倉庫關(guān)系數(shù)據(jù)生成的時間,從而縮短了軟件包倉庫生成的時間。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。


附圖用來提供對本發(fā)明的進ー步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例共同用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中圖I是現(xiàn)有技術(shù)的軟件包倉庫的生成方法的流程示意圖2是根據(jù)本發(fā)明第一實施例的生成Linux軟件包倉庫的方法的流程示意圖;圖3是根據(jù)本發(fā)明第二實施例的生成Linux軟件包倉庫的方法的流程示意圖。
具體實施例方式以下將結(jié)合附圖及實施例來詳細說明本發(fā)明的實施方式,借此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護范圍之內(nèi)。另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。第一實施例本實施例主要是通過利用已經(jīng)生成的軟件包倉庫的關(guān)系數(shù)據(jù),來優(yōu)化軟件倉庫重復(fù)提取的速度,圖2是根據(jù)本發(fā)明第一實施例的生成Linux軟件包倉庫的方法的流程示意圖,下面參考附圖對本實施例的各步驟進行詳細說明。步驟S210,確定所要生成的軟件包倉庫。具體地,通過接收用戶輸入的所要生成的軟件包倉庫的名稱來確定所要生成的軟件包倉庫。例如,若用戶要生成的軟件包倉庫的名稱為sis,則通過用戶輸入的名稱SiS來確定所要生成的軟件包倉庫。步驟S220,檢測是否存在已經(jīng)生成的軟件包倉庫。具體地,通過所要生成的軟件包倉庫的名稱來確定所述倉庫目錄,然后通過檢測是否已經(jīng)存在倉庫目錄來檢測是否存在已經(jīng)生成的軟件包倉庫。舉例而言,本實施例中所要生成的軟件包倉庫名為sis,則判斷該軟件包倉庫目錄<config>/sis/是否存在,若檢測結(jié)果為是,則可以基于已經(jīng)存在的軟件包倉庫的關(guān)系數(shù)據(jù)來生成所要生成的軟件包倉庫,則進入步驟S230,否則,通過如下處理生成所要生成的軟件包倉庫創(chuàng)建用于存放所要生成的軟件包倉庫的倉庫目錄;獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放到倉庫目錄下的設(shè)定子目錄中;基于設(shè)定子目錄中的軟件包生成關(guān)系數(shù)據(jù);基于所生成的關(guān)系數(shù)據(jù)和設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。需要說明的是,在上述處理中,若不存在已經(jīng)生成的軟件包倉庫,則可以利用命令“ createrepo ”來生成新的關(guān)系數(shù)據(jù)。需要說明的是,當(dāng)不存在已經(jīng)生成的軟件包倉庫時,舊軟件包倉庫所存儲的關(guān)系數(shù)據(jù)與所要生成的軟件包倉庫的關(guān)系數(shù)據(jù)沒有必然的聯(lián)系,不可以通過更新舊軟件包倉庫的關(guān)系數(shù)據(jù)來生成所要生成的軟件包倉庫的關(guān)系數(shù)據(jù)。因此,當(dāng)不存在已經(jīng)生成的軟件包倉庫時,則通過現(xiàn)有技術(shù)來生成軟件包倉庫??梢酝ㄟ^設(shè)置一變量或參數(shù)來靈活地控制是否進入步驟S230,從而提高效率。在這種情況下,也可以通過執(zhí)行單條命令來執(zhí)行本實施例的方法,如果該單條命令帶有關(guān)于是否要基于已經(jīng)生成的所述軟件包倉庫來生成所要生成的軟件包倉庫的參數(shù),例如以“-update”表示該參數(shù),如果基于設(shè)定子目錄中的軟件包生成關(guān)系數(shù)據(jù),則使用命令“mash〈TAG>”,其中TAG為Linux軟件倉庫的目錄變量,若檢測結(jié)果為是,此處的目錄變量與所要生成的軟件包倉庫名有夫,若檢測結(jié)果為否,此處的目錄變量設(shè)置為空;如果使用基于已經(jīng)存在的軟件包倉庫的關(guān)系數(shù)據(jù)來創(chuàng)建軟件包倉庫,則使用命令“ mash〈TAG>-update”。在單條命令帶有表示要基于已經(jīng)生成的軟件包倉庫來生成所要生成的軟件包倉庫的參數(shù)時,則在步驟S220中將檢測結(jié)果設(shè)置為是。步 驟S230,清除已經(jīng)生成的軟件包倉庫所在的倉庫目錄下的除關(guān)系數(shù)據(jù)所在的關(guān)系數(shù)據(jù)子目錄及該關(guān)系數(shù)據(jù)子目錄下的內(nèi)容以外的內(nèi)容。具體地,在已經(jīng)生成的軟件包倉庫中只保留與關(guān)系數(shù)據(jù)相關(guān)的內(nèi)容,清除其他的內(nèi)容。需要說明的是,由于要重新生成所要生成的軟件包倉庫,并且本實施例基于已經(jīng)生成的軟件包倉庫的關(guān)系數(shù)據(jù),因此將其他不相關(guān)的內(nèi)容進行清除,例如清除已經(jīng)生成的軟件包倉庫的軟件包所在的子目錄以及該目錄下的內(nèi)容。步驟S240,獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放(移動或復(fù)制)到倉庫目錄中的設(shè)定子目錄中。具體地,通過復(fù)制或下載的方式獲取用來生成所要生成的軟件包倉庫的所有軟件包,將軟件包移動或復(fù)制到軟件包倉庫目錄中的設(shè)定目錄中,例如,在本實施例中,將所獲取的軟件包復(fù)制到<config>/sis/Packages/的目錄中。需要說明的是,本實施例通過復(fù)制或下載所有軟件包后再更新關(guān)系數(shù)據(jù)的方式,可以避免數(shù)據(jù)的不一致性。例如令遠程軟件包倉庫為RC,本地通過軟件倉庫生成工具生成對應(yīng)的軟件倉庫為LC。當(dāng)遠程軟件包倉庫增加了某個軟件包S之后更新為新的軟件包倉庫RC1,如果只是更新之前的軟件倉庫LC,則需要増加遠程軟件包倉庫的軟件包S,但分析増加遠程軟件包倉庫的軟件包S這個過程存在一定風(fēng)險,即程序是否能夠有效地分析出需要增加軟件包S這個操作存在一定風(fēng)險。因此,僅僅通過更新軟件包的方式,可能導(dǎo)致本地軟件倉庫LCl與遠程軟件倉庫RCl數(shù)據(jù)包不一致。步驟S250,基于設(shè)定子目錄中的軟件包更新關(guān)系數(shù)據(jù)。例如,可以通過createrepo-u命令來完成關(guān)系數(shù)據(jù)的更新。其中,_u參數(shù)表明更新。需要說明的是,Linux操作系統(tǒng)是ー個復(fù)雜系統(tǒng),這個系統(tǒng)包含了大量的軟件組件,但是,若要求它們能夠成為一個有機整體,支撐Linux系統(tǒng)的正常運轉(zhuǎn),就必須要求各個組件密切配合,這就是Linux操作系統(tǒng)最初的設(shè)計理念-盡可能提高軟件系統(tǒng)內(nèi)部的耦合度,也就是某個軟件組件是否能夠正常運行或運行的更好,依賴于其他一些軟件組件的存在,使得系統(tǒng)更加致密、緊湊,減少中間環(huán)節(jié)可能引發(fā)的錯誤。關(guān)系數(shù)據(jù)用來表示軟件與軟件之間的依賴關(guān)系。由于所要生成的軟件包倉庫的軟件包和已經(jīng)生成的軟件包倉庫的中某些軟件包是相同的,可以通過使用已經(jīng)生產(chǎn)的軟件包倉庫的軟件包關(guān)系數(shù)據(jù)來生成新的軟件包倉庫的關(guān)系數(shù)據(jù)。步驟S260,基于更新后的關(guān)系數(shù)據(jù)和設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。綜上所述,本實施例通過利用已經(jīng)生成的軟件包倉庫的關(guān)系數(shù)據(jù)來生成所要生成的軟件包倉庫的關(guān)系數(shù)據(jù),減少了所要生成軟件包倉庫關(guān)系數(shù)據(jù)生成的時間,從而縮短了軟件包倉庫生成的時間。此外,本領(lǐng)域技術(shù)人員可以理解,在本實施例的啟示下,可以通過修改上述各步驟的順序來形成不同的實施例。 第二實施例圖3是根據(jù)本發(fā)明第二實施例的生成Linux軟件包倉庫的方法的流程示意圖,下面參考附圖對本實施例的各步驟進行詳細說明。為了便于說明,不再對與前述實施例相同的步驟進行詳細展開,而僅重點說明與前述實施例的不同之處。在圖2和圖3中,對與前述實施例相同或相似的步驟,采用了相同的附圖標記。步驟S210,確定所要生成的軟件包倉庫。步驟S220,檢測是否存在已經(jīng)生成的所述軟件包倉庫。具體地,通過所要生成的軟件包倉庫的名稱來確定所述倉庫目錄,然后通過檢測是否已經(jīng)存在所述倉庫目錄來檢測是否存在已經(jīng)生成的所述軟件包倉庫。若檢測結(jié)果為是,則進入步驟S330,否則通過如下處理生成所要生成的軟件包倉庫創(chuàng)建用于存放所要生成的軟件包倉庫的倉庫目錄;獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放到倉庫目錄下的設(shè)定子目錄中;基于設(shè)定子目錄中的軟件包生成關(guān)系數(shù)據(jù);基于所生成的關(guān)系數(shù)據(jù)和設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。步驟S330,將倉庫目錄下的存放關(guān)系數(shù)據(jù)的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到指定臨時目錄。例如,將存儲包括關(guān)系數(shù)據(jù)在內(nèi)的<config>/sis/子目錄備份到臨時目錄/tmp/下,貝1J此時關(guān)系數(shù)據(jù)存儲在/tmp/sis/目錄中。步驟S340,創(chuàng)建倉庫目錄。例如,所要生成的軟件包倉庫名為sis,則新建<config>/sis/目錄作為所要生成的軟件包倉庫的目錄,該目錄存儲用于生成所要生成軟件包倉庫的軟件包和所要生成的軟件包倉庫的關(guān)系數(shù)據(jù)。步驟S350,將指定臨時目錄下的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放(復(fù)制或移動)到倉庫目錄下。具體地,則將已經(jīng)存儲在/tmp/sis/目錄中的關(guān)系數(shù)據(jù)復(fù)制或移動到所要生成的軟件包倉庫目錄中。更具體地,將/tmp/sis/repodata目錄復(fù)制到軟件包倉庫的子目錄為〈config>/sis/repodata/ 的目錄中。此外,在將倉庫目錄下的存放關(guān)系數(shù)據(jù)的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到指定臨時目錄之前,還需要將用于存放關(guān)系數(shù)據(jù)的指定臨時目錄下、與關(guān)系數(shù)據(jù)子目錄同名的子目錄中的內(nèi)容刪除。需要說明的是,上述步驟S330、步驟S340和步驟S350為本發(fā)明第一實施例中步驟S230的另一種情況。步驟S240,獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放(移動或復(fù)制)到倉庫目錄中的設(shè)定子目錄中。步驟S250,基于設(shè)定子目錄中的軟件包更新關(guān)系數(shù)據(jù)。
步驟S260,基于更新后的關(guān)系數(shù)據(jù)和設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。需要說明的是,本發(fā)明的Linux操作系統(tǒng)可以為Fedora版本的Linux操作系統(tǒng),例如版本為Fedoral3的Linux操作系統(tǒng)。本發(fā)明實施例在Linux軟件倉庫重復(fù)生成時,所消耗的時間比現(xiàn)有技術(shù)要減少20分鐘。若軟件倉庫需要生成3次,則后兩次為Linux軟件倉庫重復(fù)生成,從而本發(fā)明節(jié)約了大概40分鐘,節(jié)省了大量的時間。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉該技術(shù)的人員在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式上及細節(jié)上作任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利要求書所界定的范圍為準
權(quán)利要求
1.ー種生成Linux軟件包倉庫的方法,其特征在于,包括 確定步驟,確定所要生成的軟件包倉庫; 檢測步驟,檢測是否存在已經(jīng)生成的所述軟件包倉庫,若檢測結(jié)果為是,則通過執(zhí)行如下步驟來生成所要生成的軟件包倉庫 清除步驟,清除所述已經(jīng)生成的所述軟件包倉庫所在的倉庫目錄下的除關(guān)系數(shù)據(jù)所在的關(guān)系數(shù)據(jù)子目錄及該關(guān)系數(shù)據(jù)子目錄下的內(nèi)容以外的內(nèi)容; 獲取步驟,獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放到所述倉庫目錄中的設(shè)定子目錄中; 關(guān)系數(shù)據(jù)更新步驟,基于所述設(shè)定子目錄中的軟件包更新所述關(guān)系數(shù)據(jù); 倉庫生成步驟,基于更新后的關(guān)系數(shù)據(jù)和所述設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述檢測步驟的檢測結(jié)果為否時,通過如下處理生成所要生成的軟件包倉庫 創(chuàng)建用于存放所要生成的軟件包倉庫的倉庫目錄; 獲取用來生成所要生成的軟件包倉庫的軟件包,將所獲取的軟件包存放到所創(chuàng)建的倉庫目錄下的設(shè)定子目錄中; 基于所述設(shè)定子目錄中的軟件包生成關(guān)系數(shù)據(jù); 基于所生成的關(guān)系數(shù)據(jù)和所述設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。
3.根據(jù)權(quán)利要求I所述的方法,其特征在干, 通過createrepo-u命令來完成所述關(guān)系數(shù)據(jù)更新步驟。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述清除步驟中,清除所述已經(jīng)生成的所述軟件包倉庫所在的倉庫目錄下的除關(guān)系數(shù)據(jù)以外內(nèi)容的處理包括 將所述倉庫目錄下的存放關(guān)系數(shù)據(jù)的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到指定臨時目錄; 創(chuàng)建所述倉庫目錄; 將所述指定臨時目錄下的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到所述倉庫目錄下。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在將所述倉庫目錄下的存放關(guān)系數(shù)據(jù)的關(guān)系數(shù)據(jù)子目錄及關(guān)系數(shù)據(jù)子目錄下的內(nèi)容存放到指定臨時目錄之前,還包括 將用于存放關(guān)系數(shù)據(jù)的所述指定臨時目錄下、與所述關(guān)系數(shù)據(jù)子目錄同名的子目錄中的內(nèi)容刪除。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,通過接收用戶輸入的所要生成的軟件包倉庫的名稱來確定所要生成的軟件包倉庫。
7.根據(jù)權(quán)利要求I至6中任一項所述的方法,其特征在于,通過執(zhí)行單條命令來執(zhí)行所述方法,其中, 所述單條命令帶有關(guān)于是否要基于已經(jīng)生成的所述軟件包倉庫來生成所要生成的軟件包倉庫的參數(shù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在干, 在所述單條命令帶有表示要基于已經(jīng)生成的所述軟件包倉庫來生成所要生成的軟件包倉庫的參數(shù)時,則在所述檢測步驟中將檢測結(jié)果設(shè)置為是。
9.根據(jù)權(quán)利要求7所述的方法,其特征在干, 所述Linux操作系統(tǒng)為Fedora版本的Linux操作系統(tǒng)。
10.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述檢測步驟中, 通過所要生成的軟件包倉庫的名稱來確定所述倉庫目錄; 通過檢測是否已經(jīng)存在所述倉庫目錄來檢測是否存在已經(jīng)生成的所述軟件包倉庫。
全文摘要
本發(fā)明公開了一種生成Linux軟件包倉庫的方法,該方法包括確定所要生成的軟件包倉庫;檢測是否存在已經(jīng)生成的所述軟件包倉庫,若檢測結(jié)果為是,則通過執(zhí)行如下步驟來生成所要生成的軟件包倉庫清除已經(jīng)生成的軟件包倉庫所在的倉庫目錄下的除關(guān)系數(shù)據(jù)所在的關(guān)系數(shù)據(jù)子目錄及該關(guān)系數(shù)據(jù)子目錄下的內(nèi)容以外的內(nèi)容;獲取用來生成所要生成的軟件包倉庫的軟件包,將獲取的軟件包存放到設(shè)定子目錄中;基于設(shè)定子目錄中的軟件包更新關(guān)系數(shù)據(jù);基于更新后的關(guān)系數(shù)據(jù)和設(shè)定子目錄中的軟件包生成所要生成的軟件包倉庫。本發(fā)明利用已生成的軟件包倉庫的關(guān)系數(shù)據(jù)來生成所要生成的軟件包倉庫,減少了生成軟件包倉庫關(guān)系數(shù)據(jù)的時間。
文檔編號G06F9/44GK102622226SQ20121004440
公開日2012年8月1日 申請日期2012年2月24日 優(yōu)先權(quán)日2012年2月24日
發(fā)明者夏穎, 張揚, 胡秋立, 許國昌, 鐘文佳 申請人:中標軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
清丰县| 昌图县| 万载县| 宝清县| 满城县| 黑山县| 馆陶县| 吴忠市| 南宁市| 儋州市| 道孚县| 江华| 福建省| 河源市| 府谷县| 孟连| 太康县| 天峻县| 措美县| 永春县| 徐州市| 瑞安市| 邹平县| 永善县| 宝鸡市| 耒阳市| 泸州市| 嵊泗县| 元氏县| 井研县| 澄江县| 灌南县| 无极县| 仁寿县| 汝城县| 来凤县| 蓝山县| 阿合奇县| 平南县| 昆明市| 台中县|