程序包管理:rpm/yum/編譯

程序包管理:rpm/yum/編譯

       在紅帽軟件包管理器(RPM)公佈之前要想在Linux系統中安裝軟件只能採取“源碼包”的方式安裝,早期在Linux系統中安裝程序是一件非常困難,耗費耐心的事情,因爲大多數的服務程序僅僅提供編譯源碼,需要運維人員自行編譯代碼並解決許多的依賴關係,源碼安裝需要運維人員有很多的知識、高超的技能、甚至很好的耐心才能安裝好一個程序,而且在安裝、升級、卸載時還要考慮到其他程序、庫的依賴關係,所以管理員在校驗、安裝、卸載、查詢、升級等管理軟件操作時難度非常大。

    而RPM機制則爲解決這些問題而設計的,

       RPM爲“Redhat Package Manager”,因其卓越的優勢很快被公衆認可,目前使用範圍也已不侷限在紅帽系統中了。RPM會建立統一的數據庫文件,詳細的記錄軟件信息並能夠自動分析依賴關係,頗有一些“軟件控制面板”的感覺。


紅帽軟件包管理器(rpm):


查詢軟件的描述信息:rpm -qpi    filename.rpm

wKiom1br5WCifCoNAAD_Ci8NX-U294.jpg

列出軟件的文件信息:rpm -qpl    filename.rpm

wKiom1br5e_iBVM_AAFiq3u-93s502.jpg    

安裝軟件:rpm -ivh    filename.rpm

wKiom1br5mux-jxDAADGKY25ZMo531.jpg

升級軟件:rpm  -Uvh filename.rpm

wKioL1br52nwlqiYAADEpb1HNLo459.jpg

卸載軟件:rpm   -e      filename.rpm

查詢文件屬於那個RPM:rpm -qf  filenamewKioL1br57-DXcVdAAA03dAr2Kg565.jpg

雖然RPM能夠幫助用戶查詢軟件相關的依賴關係,但問題還是要自己解決,有些大型軟件需要數十個依賴包也是不小的負擔。

Yum軟件倉庫:

Yum倉庫則是爲進一步簡化RPM管理軟件難度而設計的,Yum能夠根據用戶的要求分析出所需軟件包及其相關依賴關係,自動從服務器下載軟件包並安裝到系統,聽起來就已經很爽了


wKiom1br4QOwjQG9AABCksPGSFk177.jpg

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 :若爲校驗請指定公鑰文件地址。

wKioL1br6y6CMzk5AABkXtC9YkY371.jpg

命令作用

yum repolist all   列出所有倉庫。

wKioL1br7JPjmObVAAH9GSDh-oU792.jpg

yum list all  列出倉庫中所有軟件包

wKiom1br7IewJ1V4AAFW3nTNK60903.jpg

yum install 軟件包名稱安裝軟件包

wKiom1br7ViDNn0YAAEFw0ZvlpU641.jpgwKioL1br7hKzGyS2AACAk4Y7hWM307.jpg

yum update 軟件包名稱  升級軟件包

wKioL1br8CDjI3JUAADrhSN0RBA421.jpgyum remove 軟件包  移除軟件包

wKioL1br7wbxEM22AAHxw1P6HeI487.jpg

yum clean all    清除所有倉庫緩存

wKioL1br7yaAMl4wAAB10WVF5Yg331.jpg

yum check-update   檢查可更新的軟件包

wKiom1br8DeQASbrAAGaNqcuXqU700.jpg

yum grouplist 查看系統中已經安裝的軟件包組

wKioL1br8RCBDuD9AAGpFw9p31Q121.jpg

yum groupinstall 軟件包組   安裝指定的軟件包組

wKioL1br8maATEWYAAKVjAF7krc762.jpgyum groupremove軟件包組     移除指定的軟件包組

wKiom1br8pjhqqvPAABnd0Ej9lQ747.jpgyum groupinfo 軟件包組查詢指定的軟件包組信息

wKioL1br8kKAIukpAADvEK5_jXo218.jpg

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章