程序包管理:rpm/yum/編譯
在紅帽軟件包管理器(RPM)公佈之前要想在Linux系統中安裝軟件只能採取“源碼包”的方式安裝,早期在Linux系統中安裝程序是一件非常困難,耗費耐心的事情,因爲大多數的服務程序僅僅提供編譯源碼,需要運維人員自行編譯代碼並解決許多的依賴關係,源碼安裝需要運維人員有很多的知識、高超的技能、甚至很好的耐心才能安裝好一個程序,而且在安裝、升級、卸載時還要考慮到其他程序、庫的依賴關係,所以管理員在校驗、安裝、卸載、查詢、升級等管理軟件操作時難度非常大。
而RPM機制則爲解決這些問題而設計的,
RPM爲“Redhat Package Manager”,因其卓越的優勢很快被公衆認可,目前使用範圍也已不侷限在紅帽系統中了。RPM會建立統一的數據庫文件,詳細的記錄軟件信息並能夠自動分析依賴關係,頗有一些“軟件控制面板”的感覺。
紅帽軟件包管理器(rpm):
查詢軟件的描述信息:rpm -qpi filename.rpm
列出軟件的文件信息:rpm -qpl filename.rpm
安裝軟件:rpm -ivh filename.rpm
升級軟件:rpm -Uvh filename.rpm
卸載軟件:rpm -e filename.rpm
雖然RPM能夠幫助用戶查詢軟件相關的依賴關係,但問題還是要自己解決,有些大型軟件需要數十個依賴包也是不小的負擔。
Yum軟件倉庫:
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