一種適用於捕包應用的裁減系統定製方法
2023-10-08 20:12:04 1
>pirut.....................其中type參數包括default(預設),optional(可選),conditional(有條件的),mandatory(強制),如果type參數是conditional,則還需要加上參數requires,指明所依賴的RPM包。2.啟動文件主要由Stage2.img文件完成,該文件是系統的安裝映像文件,是一個壓縮文件,文件中的主要部分是安裝程序anaconda。該文件在RHEL5中是squashfs格式壓縮的,為了能支持squashfs文件格式,需要額外安裝xfsprogs相關包。通過下面命令解析mount-tsquashfs-oloopstage2.img/mnt/x解壓、掛載之後它也是一個樹型結構,其中anaconda程序在/usr/bin目錄下。修改的有安裝圖片logo、版本信息,anaconda啟動信息等。一系列工作完成之後,將Stage2文件目錄重新壓縮並替換原來的stage2.img文件。mksquashfsstage2stage2.img-al1-root-no-fragmentschmod644stage2.imgcp$W0RKDIR/disk/diskl/image/stage2.img$W0RKDIR/backuprm-rf$W0RKDIR/disk/diskl/image/stage2.imgcp$W0RKDIR/develop/stage2.img$W0RKDIR/disk/diski/image修改完成之後,可以放到工作目錄下以便集成到裁減系統中。3.編譯各類包。大部分功能包和內核都可以通過RHEL下載到源碼。在完整的開發平臺上,用RPM解壓它,它會自動將解壓文件分類到/usr/src/linux下的SOURCES和SPECS文件目錄中。正式編譯之前,需要修改系統的配置文件/usr/lib/rpm/macros下的Vendor,同時去掉vendor的#符號。由於需要編譯的包有上千個,因此用程序完成,對一般的包採用腳步來執行。部分代碼如下foriirTcatIistTdoechorpmbuild-ba-target=i386|ia64|x86_64$i//確定編譯的平臺rm-rf/usr/src/1inux/BUILD/*//生成rpm包後,直接刪除build//下的這個文件,節省空間!done編譯完成生成的包自動存放在/usr/src/linux/SRPMS目錄下,包的一般形式是gcc-objc-4.1.1-52.el5.x86_64.rpm。它包含包的功能名稱,版本信息,分支信息,運行平臺等。編譯報錯時,根據實際情況修改對應的spec文件。4.需要將XFS編譯到內核,在SOURCES目錄下需要完成的工作有tarzxvflinux-2.6.18.tar.gz//角軍J£tar包cdlinux-2.6.18;vim*,/config;//修改隱藏配置文件對配置文件中XFS的部分設置為模塊形式,具體包含如下的文件config-olpc-genericconfig-rhel-x86-generickernel-2.6.18-586.configkernel-2.6.18-686.configkernel-2.6.18-ia64.configkernel-2.6.18_x86_64.config下載針對內核的XFS包和補丁。對核心進行修補如下cd/usr/src/linux#patch_pl<xfs_all·patch修改完之後,對當前文件目錄重新打tar.gz包,然後按照編譯一般包的方式重新編譯內核和XFS包。5.應用關鍵是PRring捕包程序。從網上下載源碼,為了能在安裝的時使用,必須編譯為RPM格式,編寫功能包的SPEC文件,主要注意NameSource*-%{PACKAGE_VERSI0N}.tar.bz2//源碼包BuildPreReq://編譯依賴的信息Includearch://支持的系統架構平臺信息;BuildRoot:%{_tmppath}/*-%{PACKAGE_VERSI0N}//編譯的workload目錄%build//build涉及到的patch、setup等信息%files//安裝包時,文件寫到系統的絕對路徑的信息寫好SPEC描述文件之後,然後按照一般包的編譯過程編譯。6.從comps.xml文中提取關於包的列表信息pack_list,根據這個列表從/usr/src/linux/SRPM下用腳步程序獲取定製系統所需的包。拷貝stages,img,isolinux等文件到工作目錄。製作ISO鏡像之前,需要進行包的依賴關係檢查,確保在安裝的時候系統能正常安裝。mkdir-pmy_dirsrpm—initdb—dbpath$PWD/my_dirsrpm—test—dbpath$PWD/my_dirs-Uvh$W0RKL0AD/BASE/*·rpm根據檢測情況調整paCk_list信息,並處理對應的包。用yuminstall*虛擬安裝包,也可以解決包的依賴性。創建光碟鏡像cd$ff0RKL0ADmkisofs-R-J-T-no-emul-boot-boot-load-size4-boot-info-table-bisolinux/isolinux.bin-cisolinux/boot.cat-V"INSPURLINUXSYSTEM"-ocd.isoiso在安裝系統的時候,在文件系統選擇列表中可以看到XFS已經存在,注意/boot目錄不能掛載xfs文件系統,在分區時,必須劃分100M左右的空間,選擇ext3文件系統並作為/boot的掛載點。根目錄掛載採用XFS文件系統。權利要求一種適用於捕包應用的裁減系統定製方法,其特徵在於,內容包括1)採用linux企業發行版為平臺,裁減系統服務和進程,使得系統能夠以儘可能小的資源運行;裁減無關應用程式;重新編譯功能包;修改啟動腳本;整合內容,集成到整個安裝中;2)編寫應用包的SPEC,重新編譯應用源碼文件,將重新編譯的應用包集成到裁減系統中;補包應用的主要功能包是pf_ring和對應的補丁,需要單獨編譯增加到系統,並能正常的運行;3)修改內核模塊,編譯內核,使XFS文件系統能在新內核中生效,XFS文件系統替代ext3文件系統,使裁減系統在XFS文件系統下運行,實現XFS文件系統在小文件方面的讀寫性能優越性;整個功能包都採用最新的源碼包,修改內核配置文件,增加內核模塊,重新編譯內核;使裁減系統在啟動的時候運行在XFS文件系統上,增加捕包應用功能,裁減大量的無關包,減少系統資源的利用率,在開發平臺上完成具體步驟如下1)comps.xml文件列出系統盤中所有包,根據功能和模塊對包進行分類,稱為group,包括核心類,基本功能類、桌面類、系統工具類、開發工具類、語言類,通過它解決包的依賴關係,確認包的重要等級,根據功能需求,確定包是否安裝到系統;2)XFS文件系統在查詢與分配存儲空間非常快,XFS文件系統能連續提供快速的反應時間,對特大文件及小尺寸文件的支持都表現出眾,這樣能為捕包應用提供更好的運行後臺;3)所有的功能包都用最新源碼重新編譯,根據要求,對部分源文件修改描述文件,編譯文件包,源碼文件只有編譯成一定格式的包,才能被集成到系統盤中,在安裝的時候被識別安裝;4)編譯內核源碼,需要對系統用到的內核、功能包,進行必要的編譯,主要有(1)修改內核配置文件,使得應用到的XFS文件系統能夠生效;為了能支持XFS文件系統,需要增加的XFS包和相關補丁;(2)將XFS編譯為內核模塊形式,能在啟動的時候掛載XFS文件系統;5)修改裁減系統的啟動腳本和引導文件,主要涉及到stage2.img、anaconda等文件,解壓掛載stage2.img之後,修改相關文件,定製安裝過程;6)編譯應用包,補包程序用到的主要是PFring包,下載源碼包和針對內核的補丁;7)將選定編譯包,comps.xml配置文件,stage2.img等文件放在工作目錄下,集成生成ISO鏡像文件。全文摘要本發明提供一種適用於捕包應用的裁減系統定製方法,內容包括1)採用linux企業發行版為平臺,裁減系統服務和進程,使得系統能夠以儘可能小的資源運行;裁減無關應用程式;重新編譯功能包;修改啟動腳本;整合內容,集成到整個安裝中;2)編寫應用包的SPEC,重新編譯應用源碼文件,將重新編譯的應用包集成到裁減系統中;補包應用的主要功能包是pf_ring和對應的補丁,需要單獨編譯增加到系統,並能正常的運行;3)修改內核模塊,編譯內核,使XFS文件系統能在新內核中生效,XFS文件系統替代ext3文件系統,使裁減系統在XFS文件系統下運行,實現XFS文件系統在小文件方面的讀寫性能優越性;整個功能包都採用最新的源碼包,修改內核配置文件,增加內核模塊,重新編譯內核;使裁減系統在啟動的時候運行在XFS文件系統上,增加捕包應用功能,裁減大量的無關包,減少系統資源的利用率。文檔編號G06F9/45GK101840337SQ20101016413公開日2010年9月22日申請日期2010年5月6日優先權日2010年5月6日發明者李開君申請人:浪潮電子信息產業股份有限公司