程序包管理:rpm/yum/編譯數據庫
在紅帽軟件包管理器(RPM)公佈以前要想在Linux系統中安裝軟件只能採起「源碼包」的方式安裝,早期在Linux系統中安裝程序是一件很是困難,耗費耐心的事情,由於大多數的服務程序僅僅提供編譯源碼,須要運維人員自行編譯代碼並解決許多的依賴關係,源碼安裝須要運維人員有不少的知識、高超的技能、甚至很好的耐心才能安裝好一個程序,並且在安裝、升級、卸載時還要考慮到其餘程序、庫的依賴關係,因此管理員在校驗、安裝、卸載、查詢、升級等管理軟件操做時難度很是大。緩存
而RPM機制則爲解決這些問題而設計的,服務器
RPM爲「Redhat Package Manager」,因其卓越的優點很快被公衆承認,目前使用範圍也已不侷限在紅帽系統中了。RPM會創建統一的數據庫文件,詳細的記錄軟件信息並可以自動分析依賴關係,很有一些「軟件控制面板」的感受。運維
紅帽軟件包管理器(rpm):ide
查詢軟件的描述信息:rpm -qpi filename.rpm學習
列出軟件的文件信息:rpm -qpl filename.rpmui
安裝軟件:rpm -ivh filename.rpmurl
升級軟件:rpm -Uvh filename.rpmspa
卸載軟件:rpm -e filename.rpmdebug
雖然RPM可以幫助用戶查詢軟件相關的依賴關係,但問題仍是要本身解決,有些大型軟件須要數十個依賴包也是不小的負擔。
Yum倉庫則是爲進一步簡化RPM管理軟件難度而設計的,Yum可以根據用戶的要求分析出所需軟件包及其相關依賴關係,自動從服務器下載軟件包並安裝到系統,聽起來就已經很爽了
yum軟件倉庫的使用拓撲圖
用戶可以根據需求來指定Yum倉庫與是否校驗軟件包,而這些只需幾條關鍵詞便可完成,如今來學習下配置的方法.
全部Yum倉庫的配置文件均需以.repo結尾並存放在/etc/yum.repos.d/目錄中的。
[rhel-media]: yum源的名稱,可自定義。
baseurl=file:///media/cdrom :提供方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)
enabled=1 : 設置此源是否可用,1爲可用,0爲禁用。
gpgcheck=1 : 設置此源是否校驗文件,1爲校驗,0爲不校驗。
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release :若爲校驗請指定公鑰文件地址。
命令做用
yum repolist all 列出全部倉庫。
yum list all 列出倉庫中全部軟件包
yum install 軟件包名稱安裝軟件包
yum update 軟件包名稱 升級軟件包
yum clean all 清除全部倉庫緩存
yum check-update 檢查可更新的軟件包
yum grouplist 查看系統中已經安裝的軟件包組
yum groupinstall 軟件包組 安裝指定的軟件包組
Yum倉庫中的RPM軟件包能夠是由紅帽官方發佈的,也能夠是第三方組織發佈的,固然用戶也能夠編寫的.
將源碼編譯成rpm包的詳細步驟:
# tar -xvzf glusterfs-2.0.0.tar.gz
# cp glusterfs-2.0.0.tar.gz /usr/src/redhat/SOURCES/
# rpmbuild -ba glusterfs-2.0.0/glusterfs.spec
# cp /usr/src/redhat/RPMS/i386/glusterfs* .
# rm glusterfs-debuginfo-2.0.0-1.i386.rpm
# rpm -ivh glusterfs-*.rpm