国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > CentOS > 正文

DIY制作自己的CentOS ISO過程詳解

2020-07-08 12:45:24
字體:
來源:轉載
供稿:網友

Centos6.3官方的DVD包過于龐大,里面集成了大量軟件,但其中有許多軟件在生產環境中根本用不上,冗余安裝只會造成資源的浪費,本文檔主要介紹了一個系統定制的基本方法,并特別指出在系統定制中會出現的一些嚴重問題,如果這些問題不注意,很有可能在很多情況下前功盡棄。

基于centos6.3的定制,可以集成了lnmp環境,和一些系統監控軟件,以前安裝系統加lnmp環境都是用安裝腳本安裝,源碼安裝需要太久時間,特別是php的編譯時間太久,所以在定制系統的時候,需要把一些源碼軟件包打包制作成rpm包,所以在文檔開始部分將介紹rpm包的制作流程。

1、RPM的概述及用途

1)RPM包管理工具(簡稱RPM,全稱為The RPM Package Manager)是在Linux下廣泛使用的軟件包管理器。最早由Red Hat研制,現在也由開源社區開發。RPM通常隨附于Linux發行版,但也有單獨將RPM作為應用軟件發行的發行版。RPM僅適用于安裝用RPM來打包的軟件,目前是GNU/Linux下軟件包資源最豐富的軟件包類型

xxx-version.rpm --redhat suse....

xxx-veriosn.deb --debian/ubuntu

2)RPM包管理具體的用途;

1、快速安裝、刪除、升級和管理軟件,也支持在線安裝和升級軟件;

2、通過RPM包管理能知道軟件包包含哪些文件,也能知道系統中的某個文件屬于哪個軟件包;

3、可以在查詢系統中的軟件包是否安裝以及其版本;

4、作為開發者可以把自己的程序打包為RPM包發布,減少軟件安裝前的配置及編譯所花耗的時間;

5、軟件包簽名GPG和MD5的導入、驗證和簽名發布,防止軟件被篡改。

6、依賴性的檢查,查看是否有軟件包由于不兼容而擾亂了系統;

3 ) RPM打包需要注意的地方

為了自己打的rpm包能在其他系統正常使用,系統環境一致是必須的,當然你在centos6.3 上打包的軟件在某些情況也能正常在centos6.4上面安裝使用,但不推薦這么做,包裝宿主系統一致性,是rpm安裝的基本條件,另外,rpm包最難解決的是依賴問題,沒錯。rpm包能通過yum安裝,并自動檢查依賴關系,但有個問題,比如你打包nginx的時候依賴于gd庫,打包的時候通過網絡yum源安裝了一個gd包,但在宿主系統安裝的時候,也許沒有網絡,但光盤里面有gd包,也許你可以通過關盤安裝gd庫。但你不能保證gd庫的版本和之前打包nginx的時候是一樣的。一般來說光盤里面的gd庫大部分都比網絡yum源的版本要低,所以并不能保證nginx的正常使用,因為我們都不知道gd庫的升級到底升級了些什么東西。我們的解決辦法是在打包的時候,記下來打包的時候他的打包需要依賴一些什么包,在并把這些包download下來。在宿主系統安裝這些包,當然這些包本身也有依賴關系。所以你得一層層找出所有依賴關系,并依此安裝。

2 、rpm包制作過程

1. 安裝工具

 yum –y install rpm-build 

2. 創建目錄

3. 打包目錄介紹

    BUILD--源碼解壓目錄

    RPMS--RPM包(成品)

    SOURCES--源碼的目錄(tar.gz)

    SPECS--xx.spec(makefile)

    SRPMS--src.rpm=xx.spec+tar.gz(我們并不使用)

    BUILDROOT             -- rpm打包安裝臨時目錄,rpm打包過程相當于安裝,只是安裝路徑會在本目錄,而不會去系統目錄。

4. spec文件實例

mkdir -p $HOME/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT}

雖然很多文檔不推薦使用root用戶打包rpm包,但為了方便我們還是使用了root賬號,只要打包的時候注意哈,還是不會出問題的。

 5 . 開始打包

 在SPECS目錄執行 rpmbuild –bb nginx.spec ,同時記下來安裝過程所提示需要安裝的包。這個命令會按照我們的spec 指定的方式編譯軟件并且會在/root/rpmbuild/RPMS/x86_64/ 目錄生成對應的rpm包,這個rpm包默認會記錄在這個軟件編譯過程中會依賴于哪些其他軟件,再次強調,如果你打包的時候和你安裝的時候環境不一樣,一定要注意在安裝rpm之前手動安裝好依賴,解決可能會出現的版本過低的問題。

6. 開始定制iso

1)、 上centos 網站下載一個完整的centos光盤,并在虛擬機上掛載到/mnt 目錄

Mount  –o loop  /dev/cdrom /mnt

2)、  copy 光盤文件到定制iso目錄,這個拷貝主要是光盤掛載目錄不可寫問題,所以必須拷貝出來

mkdir /iso

cp /mnt/* /iso

上面的拷貝默認是不拷貝隱藏文件的,所以關盤的根目錄有兩個隱藏文件,所以必須手動拷貝過來,具體這里就不說了。

3) 創建自己軟件的目錄

mkdir /iso/lnmp

cp  /root/rpmbuild/RPMS/x86_64/* /iso/lnmp

4) 修改/iso/isolinux/ 目錄下的文件

注意我們引用了一個*.cfg 的文件,這個文件則是我們定制系統的關鍵所在,

這個文件將以附件的形式存在!

5)第一次打包

cd /iso

mkisofs  -o  gzyouai_centos_6.4.iso   -b  isolinux/isolinux.bin  -c  isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T ./

6) 安裝第一次打包系統

7) 記錄安裝好的系統的install.log 文件

里面有這次安裝裝了哪些軟件,里面的內容需要手動添加.rpm 后綴,而且還有一些特殊的行需要刪除,拷貝這個文件到打包系統,想辦法踢出/iso/Packages/ 中無用的軟件包!把無用的軟件包刪除。

cd /iso/Packages/

createrepo ./

按照第五步 重新打包并安裝。這樣系統才會不那么臃腫。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁远县| 大连市| 镇雄县| 旬阳县| 固镇县| 株洲市| 崇义县| 苏尼特左旗| 江达县| 唐河县| 榆中县| 堆龙德庆县| 专栏| 哈尔滨市| 亚东县| 西充县| 治多县| 阜康市| 石河子市| 兰西县| 伊金霍洛旗| 达拉特旗| 怀来县| 伽师县| 屏山县| 延川县| 和顺县| 琼结县| 灵山县| 台中市| 阿克苏市| 平陆县| 明星| 陕西省| 图木舒克市| 黔江区| 宁海县| 华阴市| 焉耆| 宜兰市| 来宾市|