一種大型Linux軟件包的發(fā)布方法
【專利摘要】本發(fā)明涉及Linux軟件發(fā)布領(lǐng)域,特別是指一種大型Linux軟件包的發(fā)布方法。本發(fā)明的步驟是:安裝最小的linux系統(tǒng);獲取安裝日志并設(shè)置本地下載rpm的緩存;搭建制作iso的環(huán)境,創(chuàng)建一些工作目錄;測試開發(fā)的軟件的環(huán)境依賴并以rpm包的方式安裝,并將下載下來的緩存內(nèi)的rpm包拷貝到工作目錄,注冊;安裝生成光盤的工具createrepo和mkisofs;編寫ks.cfg系統(tǒng)自動安裝的引導(dǎo)文件;生成,并修改copms.xml文件來引導(dǎo)系統(tǒng)的軟件庫到底需要安裝哪一些rpm包及其rpm包的依賴關(guān)系;生成gcloud的iso文件,并進行MD5值得校驗。本發(fā)明解決了大型Linux軟件包發(fā)布的版本認證、受網(wǎng)絡(luò)影響等問題;可以用于大型Linux軟件包的發(fā)布。
【專利說明】一種大型Linux軟件包的發(fā)布方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Linux軟件發(fā)布領(lǐng)域,特別是指一種大型Linux軟件包的發(fā)布方法?!颈尘凹夹g(shù)】
[0002]大型Linux軟件的特點是安裝時間長、依賴的軟件多。目前大型Linux軟件的發(fā)布都是以rpm和deb軟件包為載體,再輔以文檔說明依賴軟件的安裝、安裝后的驗證方法等。
[0003]但是,以上描述的大型Linux軟件的發(fā)布方法存在如下的問題:
[0004]1、需要做大量的工作以適配不同的Linux版本;大型Linux基于某個版本開發(fā)時,所依賴的Linux內(nèi)核、系統(tǒng)軟件等可能都是在該版本下才能安裝成功;在適配到其他Linux版本時可能都需要查找到替代的版本,同時要對替代的版本重新進行兼容性和穩(wěn)定性的測試。
[0005]2、此發(fā)布方法一般不直接提供依賴軟件包的下載,用戶一般只能通過文檔的介紹,使用yum和apt工具從Linux軟件源上下載相應(yīng)的軟件,這種方法的缺點第一是下載依賴于網(wǎng)絡(luò),在不能連接到因特網(wǎng)或內(nèi)網(wǎng)沒有搭建源的情況下,軟件不能安裝成功,第二是yum和apt工具默認只會下載依賴軟件的最新版本,這種情況下安裝的依賴對大型Linux軟件來說可能出現(xiàn)不滿足的情況。
[0006]3、以rpm和deb軟件包的形式發(fā)布的軟件沒有數(shù)據(jù)完整性檢查機制,軟件包在分發(fā)過程中有被篡改的可能,影響數(shù)據(jù)安全。
[0007]為了提升軟件的部署的效率,增強部署的快捷性和部署過程之中的軟件的穩(wěn)定性性,需要一種通過預(yù)先定制軟件包的發(fā)布的光盤鏡像系統(tǒng),通過光盤的安裝來達到穩(wěn)定快速的安裝的方式。
【發(fā)明內(nèi)容】
[0008]本發(fā)明解決的技術(shù)問題在于提供一種大型Linux軟件包的發(fā)布方法,解決大量的rpm包的版本認證,在無網(wǎng)絡(luò)的情況下rpm包的下載和相關(guān)依賴的下載,安全穩(wěn)定的部署開發(fā)軟件;減少數(shù)據(jù)的丟失或者不匹配的rpm包的安裝引起的不穩(wěn)定性等問題。
[0009]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:包括如下步驟:
[0010]包括如下步驟:
[0011]步驟1:使用Linux大型軟件開發(fā)環(huán)境用的原版的Linux安裝光盤,在服務(wù)器上安裝Linux最小系統(tǒng);
[0012]步驟2:安裝完最小系統(tǒng)后,獲取安裝的日志文件;日志文件中包含系統(tǒng)已經(jīng)安裝的軟件包列表;
[0013]步驟3:在系統(tǒng)中設(shè)置rpm或deb工具保留下載軟件的緩存;
[0014]步驟4:搭建制作ISO的環(huán)境,創(chuàng)建制作的目錄并把原版光盤中除了軟件包以外的文件拷貝到工作目錄中;
[0015]步驟5:在系統(tǒng)中安裝Linux大型軟件的依賴環(huán)境,然后安裝Linux大型軟件的軟件包以驗證依賴環(huán)境正確與否,直到Linux大型軟件能正常運行為止;
[0016]步驟6:將系統(tǒng)軟件緩存目錄下的依賴軟件的緩存也拷貝到工作目錄中;
[0017]步驟7:安裝生成光盤所需要的createrepo和mkisofs工具;
[0018]步驟8:編寫ks.cfg文件,并使iso系統(tǒng)從ks.cfg引導(dǎo)自動安裝;
[0019]步驟9:在工作目錄中重新生成軟件包的xml描述文件即comps, xml文件,然后按需要重新編寫comps, xml文件;
[0020]步驟10:生成iso鏡像文件;
[0021 ] 步驟11:生成MD5校驗碼。
[0022]所述的最小系統(tǒng)是指Linux安裝光盤中包含的系統(tǒng)核心軟件包和大型Linux軟件依賴的軟件包,其他的應(yīng)用軟件、桌面系統(tǒng)等不需要選擇安裝。
[0023]所述安裝之后的日志文件是指/root/instal.1log文件,install, log文件包含了最小安裝的系統(tǒng)所安裝了哪一些的包,通過命令
[0024]awk,/ Installing/ {print$2}' install, log | sed's廠[0_9]*://g,>/root/packages, list
[0025]可以獲取安裝包的列表,并將安裝的列表導(dǎo)入到本地的一個文件當(dāng)中;最后根據(jù)列表將安裝的rpm包轉(zhuǎn)移到工作目錄下。
[0026]所述的設(shè)置rpm包保留的下載的緩存,是指將Iinux系統(tǒng)/etc/yum.conf配置文件中保留緩存的選項開啟,此后下載的rpm都緩存在/var/cache/yum/x86_64/6/目錄下。
[0027]所述的生成comps, xml文件是將光盤的所有文件同步到制定的工作目錄當(dāng)中,然后在工作目錄下的/repodata/目錄里邊生成相對應(yīng)的comps, xml ;生成comps, xml的命令
是:createrepo - g repodata/*-comps.xml/data/OS/----s imp I e-md-f i I ename s,然后根
據(jù)要求定制其下的組件和rpm包之間的依賴。
[0028]所述的安裝軟件運行的依賴的包和依賴的相關(guān)的庫文件,是指開發(fā)的軟件編譯之后運行需要的rpm包和rpm包的依賴;這些rpm包都是根據(jù)軟件運行所需要的在安裝的最小系統(tǒng)yum install里的相關(guān)的包;并記錄下相關(guān)的依賴的列表(之間的依賴關(guān)系),然后將依賴關(guān)系添加到comps, xml文件當(dāng)中,并將/var/cache/yum/x86_64/6/目錄里邊相對應(yīng)的rpm拷貝到工作目錄下的/packages/下邊,同時在/packages/下邊的TRANS.TBL的列表文件當(dāng)中增加對應(yīng)的rpm的名稱。
[0029]本發(fā)明通過預(yù)選定制軟件包的發(fā)布的光盤鏡像系統(tǒng),通過光盤的安裝來達到穩(wěn)定快速的安裝的方式,提升了軟件的部署的效率,增強了部署的快捷性和部署過程之中的軟件的穩(wěn)定性。同時,能夠減少在軟件使用的環(huán)境上搭需要的必須軟件或者相關(guān)依賴庫文件的時間的麻煩。
【專利附圖】
【附圖說明】
[0030]下面結(jié)合附圖對本發(fā)明進一步說明:
[0031]附圖是本發(fā)明方法流程圖;
【具體實施方式】
[0032]首先創(chuàng)建制作系統(tǒng)的工作目錄
【權(quán)利要求】
1.一種大型Iinux軟件包的發(fā)布的方法,其特征在于: 包括如下步驟: 步驟1:使用Linux大型軟件開發(fā)環(huán)境用的原版的Linux安裝光盤,在服務(wù)器上安裝Linux最小系統(tǒng); 步驟2:安裝完最小系統(tǒng)后,獲取安裝的日志文件;日志文件中包含系統(tǒng)已經(jīng)安裝的軟件包列表’ 步驟3:在系統(tǒng)中設(shè)置rpm或deb工具保留下載軟件的緩存; 步驟4:搭建制作ISO的環(huán)境,創(chuàng)建制作的目錄并把原版光盤中除了軟件包以外的文件拷貝到工作目錄中; 步驟5:在系統(tǒng)中安裝Linux大型軟件的依賴環(huán)境,然后安裝Linux大型軟件的軟件包以驗證依賴環(huán)境正確與否,直到Linux大型軟件能正常運行為止; 步驟6:將系統(tǒng)軟件緩存目錄下的依賴軟件的緩存也拷貝到工作目錄中; 步驟7:安裝生成光盤所需要 的createrepo和mkisofs工具; 步驟8:編寫ks.cfg文件,并使iso系統(tǒng)從ks.cfg引導(dǎo)自動安裝; 步驟9:在工作目錄中重新生成軟件包的xml描述文件即comps, xml文件,然后按需要重新編寫comps, xml文件; 步驟10:生成iso鏡像文件; 步驟11:生成MD5校驗碼。
2.根據(jù)權(quán)利要求1所述的Iinux軟件包的發(fā)布方法,其特征在于:所述的最小系統(tǒng)是指Linux安裝光盤中包含的系統(tǒng)核心軟件包和大型Linux軟件依賴的軟件包,其他的應(yīng)用軟件、桌面系統(tǒng)等不需要選擇安裝。
3.根據(jù)權(quán)利要求1所述的Iinux軟件包的發(fā)布方法,其特征在于:所述安裝之后的日志文件是指/root/instal.1log文件,install, log文件包含了最小安裝的系統(tǒng)所安裝了哪一些的包,通過命令
awk’/Installing/ {print$2}’ install.log|sed’ s廠[0-9]氺://g’ >/root/packages.list 可以獲取安裝包的列表,并將安裝的列表導(dǎo)入到本地的一個文件當(dāng)中;最后根據(jù)列表將安裝的rpm包轉(zhuǎn)移到工作目錄下。
4.根據(jù)權(quán)利要求2所述的Iinux軟件包的發(fā)布方法,其特征在于:所述安裝之后的日志文件是指/root/instal.1log文件,install, log文件包含了最小安裝的系統(tǒng)所安裝了哪一些的包,通過命令
awk’/Installing/{print$2}’ install.log|sed’s廠[0_9]*://g’ >/root/packages.list 可以獲取安裝包的列表,并將安裝的列表導(dǎo)入到本地的一個文件當(dāng)中;最后根據(jù)列表將安裝的rpm包轉(zhuǎn)移到工作目錄下。
5.根據(jù)權(quán)利要求1至4任一項所述的Iinux軟件包的發(fā)布方法,其特征在于:所述的設(shè)置rpm包保留的下載的緩存,是指將Iinux系統(tǒng)/etc/yum.conf配置文件中保留緩存的選項開啟,此后下載的rpm都緩存在/var/cache/yum/x86_64/6/目錄下。
6.根據(jù)權(quán)利要求1至4任一項所述的Iinux軟件包的發(fā)布方法,其特征在于:所述的生成comps, xml文件是將光盤的所有文件同步到制定的工作目錄當(dāng)中,然后在工作目錄下的/repodata/目錄里邊生成相對應(yīng)的comps, xml ;生成comps, xml的命令是:createrepo - grepodata/*-comps.xml/ data/OS/----s imp I e-md-f i lename s,然后根據(jù)要求定制其下的組件和rpm包之間的依賴。
7.根據(jù)權(quán)利要求5所述的Iinux軟件包的發(fā)布方法,其特征在于:所述的生成comps, xml文件是將光盤的所有文件同步到制定的工作目錄當(dāng)中,然后在工作目錄下的/repodata/目錄里邊生成相對應(yīng)的comps, xml ;生成comps, xml的命令是:createrepo - grepodata/*-comps.xml/ data/OS/----s imp I e-md-f i lename s,然后根據(jù)要求定制其下的組件和rpm包之間的依賴。
8.根據(jù)權(quán)利要求1至4任一項所述的Iinux軟件包的發(fā)布方法,其特征在于:所述的安裝軟件運行的依賴的包和依賴的相關(guān)的庫文件,是指開發(fā)的軟件編譯之后運行需要的rpm包和rpm包的依賴;這些rpm包都是根據(jù)軟件運行所需要的在安裝的最小系統(tǒng)yum install里的相關(guān)的包;并記錄下相關(guān)的依賴的列表(之間的依賴關(guān)系),然后將依賴關(guān)系添加到comps, xml文件當(dāng)中,并將/var/cache/yum/x86_64/6/目錄里邊相對應(yīng)的rpm拷貝到工作目錄下的/packages/下邊,同時在/packages/下邊的TRANS.TBL的列表文件當(dāng)中增加對應(yīng)的rpm的名稱。
9.根據(jù)權(quán)利要求5所述的Iinux軟件包的發(fā)布方法,其特征在于:所述的安裝軟件運行的依賴的包和依賴的相關(guān)的庫文件,是指開發(fā)的軟件編譯之后運行需要的rpm包和rpm包的依賴;這些rpm包都是根據(jù)軟件運行所需要的在安裝的最小系統(tǒng)yum install里的相關(guān)的包;并記錄下相關(guān)的依賴的列表(之間的依賴關(guān)系),然后將依賴關(guān)系添加到comps,xml文件當(dāng)中,并將/var/cache/yum/x86_64/6/目錄里邊相對應(yīng)的rpm拷貝到工作目錄下的/packages/下邊,同時在/pack`ages/下邊的TRANS.TBL的列表文件當(dāng)中增加對應(yīng)的rpm的名稱。
10.根據(jù)權(quán)利要求6所述的Iinux軟件包的發(fā)布方法,其特征在于:所述的安裝軟件運行的依賴的包和依賴的相關(guān)的庫文件,是指開發(fā)的軟件編譯之后運行需要的rpm包和rpm包的依賴;這些rpm包都是根據(jù)軟件運行所需要的在安裝的最小系統(tǒng)yum install里的相關(guān)的包;并記錄下相關(guān)的依賴的列表(之間的依賴關(guān)系),然后將依賴關(guān)系添加到comps,xml文件當(dāng)中,并將/var/cache/yum/x86_64/6/目錄里邊相對應(yīng)的rpm拷貝到工作目錄下的/packages/下邊,同時在/packages/下邊的TRANS.TBL的列表文件當(dāng)中增加對應(yīng)的rpm的名稱。
【文檔編號】G06F9/445GK103530148SQ201310430734
【公開日】2014年1月22日 申請日期:2013年9月18日 優(yōu)先權(quán)日:2013年9月18日
【發(fā)明者】魏琳琳, 莫展鵬, 楊松, 季統(tǒng)凱 申請人:國云科技股份有限公司