[Linux] 軟件安裝與管理 - rpm、yum

前面我們提到Linux上的軟件都可以通過Tarball的方式進行源碼安裝,但每次都要下載、編譯、安裝,是否太麻煩了一些?有沒有類似windows那樣廠商把軟件編譯好,我們用戶直接拿來安裝就行?答案是肯定的,這就是我們今天要說到的rpm和yum。

在Linux上,有兩大主流的軟件管理方法,如下所示:


由於Centos採用的是第一種,因此在這隻介紹RPM和YUM。


什麼是RPM和SRPM

RPM的全稱是RedHat Package Manager,它的最大特點是把軟件編譯重RPM安裝包,該安裝包裏記錄了依賴的軟件,當安裝RPM安裝包時,如果滿足依賴條件,予以安裝,否則將不能安裝。
RPM雖然方便,但它要求你的主機環境必須和當初建立這個安裝包的主機環境一模一樣才行,因此有了SPRM,即Source RPM,也就是說RPM安裝包裏還包含源代碼。
通常一個軟件在發佈時,會同時釋放出該軟件的RPM與SRPM,如果沒有適合我們操作系統和硬件的RPM,我們還可以通過修改SRPM內的參數設置文件,然後重新編譯生成適合我們Linux環境的RPM文件。


RPM命令

本機安裝的軟件信息記錄在/var/lib/rpm目錄下的數據庫文件,因此該目錄非常重要,千萬不要刪除。
RPM安裝
rpm -ivh package_name
-i: install的意思
-v:查看更詳細的安裝信息畫面
-h: 以安裝信息欄顯示安裝進度
範例一:安裝一個軟件:
rpm -ivh rp-pppoe-3.5-32.1.i386.rpm
範例二:安裝多個軟件:
rpm -ivh a.i386.rpm b.i386.rpm *.rpm
範例三:直接由網絡安裝:
rpm -ivh http://website.name/path/pkgname.rpm
RPM升級與更新:
RPM的升級和更新很簡單,和安裝的命令差不多:

RPM查詢:
如果你要查詢mysql是否已安裝,可執行如下命令:
# rpm -qa mysql
mysql-5.0.95-5.el5_9
它其實查的是/var/lib/rpm目錄下的數據庫文件。
RPM卸載:
rpm -e pam
要特別注意的是:RPM的卸載過程一定要由最上層往下卸載,如果你把python刪除掉了,那麼所有依賴於python的軟件將全部不可用,這是災難性的,我就曾經犯過這類錯誤。所幸的是,上述的rpm -e命令如果卸載的軟件還有被其它軟件所依賴,將不卸載。

YUM - 在線安裝升級

在用RPM安裝軟件時,會出現一個比較噁心的情況,就是你要安裝的軟件依賴於另一個軟件,而該軟件又依賴於其它軟件,以此類推,這樣一層一層下去,會很煩。
YUM就是用來解決這個問題的,它會一口氣把所有依賴的軟件一併安裝,並且是在線的。
YUM查詢:
範例一:在yum服務器上搜索mysql相關軟件
yum search mysql
範例二:列出mysql這個軟件的功能說明
yum info mysql
範例三:列出yum服務器上面所有的軟件
yum list
範例四:列出可供本機升級的軟件
yum list updates
YUM安裝/升級
yum的安裝和升級非常簡單,命令如下,它會自動解決軟件的依賴關係,很方便。
yum [install|updates] 軟件
YUM刪除
yum [remove] 軟件
一定要特別注意:yum會把所有依賴的軟件都一併刪除,千萬不要刪除基礎軟件,切記切記!

發佈了203 篇原創文章 · 獲贊 26 · 訪問量 94萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章