今天我們來講linux軟件包管理,因為linux版本的不同,軟件包的管理稍有區別。在redhat系列里,我們二進制軟件包的管理比較傾向于
RPM和YUM。而在debian系列中,我們廣泛使用
APT的管理方式。
軟件包的管理一般分為三種:二進制軟件包管理、源代碼包管理、腳本安裝(shell或java)。其中我們的重點是二進制軟件包的管理,其他的兩種用案例來說明。
一、RPM包管理

由上面RPM例子可知關于軟件包的名字。注意,安裝的時候需要使用的是軟件包的全稱,而卸載的時候只需要使用軟件的名稱。接下來介紹rpm使用命令:
(1)rpm卸載

從例子可以看出,是使用
rpm -m 軟件名 來卸載一個軟件的,但是在卸載samba的時候卻被告知,因為samba被另外一個軟件依賴而卸載失敗。兩種辦法,一就是把依賴samba的先卸載再來卸載samba,二就是通過--nodeps選擇來強行卸載。
(2)rpm安裝
既然我們之前卸載了sudo軟件,那我們現在就來安裝sudo.軟件包的獲取要么是從網站下載的或者是從光盤獲得安裝。sudo就在系統安裝盤里就有。那么要用光盤進行安裝之前,我們要對光盤進行
掛載(光盤掛載),也就是通過系統文件的方法訪問光盤。通常我們系統在/mnt目錄中創建文件進行掛載,通過monut指令就可以進行掛載了,記得把光盤放入光驅,不然會提示找不到介質。

在掛載成功后,我們訪問/mnt/cdrom就相當于訪問光盤了。進入光盤,再進入CentOS目錄,我們可以發現所有的RPM軟件安裝包都在這個目錄里面,通過ls | grep sudo 我們可以發現有我們需要的sudo軟件安裝包。然后通過
rpm -ivh 軟件包全名 就可以安裝軟件包。其中-i就是安裝的install,-v是查看安裝過程信息,-h是顯示安裝進度。

(3)rpm查詢
通過
rpm -q 軟件名 來查詢該軟件包是否已經安裝,但當你對軟件名記不清或者與某些關鍵詞相關的軟件感興趣時,可以通過
rpm -qa | grep 軟件關鍵字 來查已安裝的軟件包。-qa是表示查詢所有軟件包。

(4)rpm校驗
使用rpm -V 軟件名 可以對這個軟件的所有文件進行校驗,如果校驗沒有問題會沒有任何提示,如果出現問題,會以字母的方式告知。


(5)
rpm提取(修復時常用命令) 當有些軟件的某個文件或者配置文件順壞或者丟失的時候,我們需要從rpm軟件安裝包中把所需的文件提取出來來修復軟件。我們可以使用rpm2cpio命令來實現。

(6)附加參數
--excludedocs 不安裝軟件包中的文檔文件
--prefix=Path 將軟件包安裝到由path指定的路徑下(注:大多rpm都不允許改變安裝目錄),下例中predix等號后面即path。

--test 只對安裝
進行測試,并不實際安裝。--replaceplgs 進行覆蓋安裝,當軟件包已安裝了,可以
使用該命令進行覆蓋安裝。--repalcefiles 如果正在安裝的軟件包中的某一個文件在其他已安裝過的軟件包中安裝了,那么就會出現文件沖突的錯誤,通過該參數忽略錯誤,繼續安裝。
--nodeps 這個參數在卸載時候有用。在安裝時候也有用,有時候在安裝軟件包時候,所依賴的軟件包沒有,就會安裝不了,那么如果仍想安裝就只有用nodeps參數。
-U 對軟件包進行升級。

二、YUM包管理
正是因為rpm對于軟件包的互相依賴關系的支持差勁,所以yum應運而生。yum的兩個好處就是:自動解決軟件包間的依賴關系和方便升級。yum應用需要聯網才能發揮價值。
(1)yun安裝與檢測升級

通過
yum install 軟件名 來聯網進入下載安裝,它會為你自動下載所有所需的依
賴軟件包。通過yum check-update 軟件名 來聯網檢測是否有需要跟新軟件。在檢測
升級以后,通過yum update 軟件名 來升級。
(2)其他命令yum list 查詢yum源的所有軟件包。通過yum list | grep 軟件名 可以查詢當前軟件是否安裝等信息。
yum info 軟件名 查詢yum源中軟件包里的信息
yum remove 軟件名 卸載軟件
三、源代碼包安裝
源代碼安裝分幾個步驟:首先下載源代碼包,通常是.gz或者.bz2結尾的;或者源代碼包以
后通過tar -xzvfjc 等命令進行解壓;解壓完成以后進入解壓目錄會看見一個confing的文件,然后通過./confing命令運行該配置,當然這個配置的過程通常都是收集一些環境信息和生成一些必要的文件,如果一些依賴的軟件沒有當然需要裝好(用yum吧。。各種快);然后再執行make命令進行編譯;編譯結束以后執行make install進行安裝,這個過程一般是一些拷貝到不同目錄和一些配置文件生成。這樣一個標準的源代碼包就安裝完成了。

可以參考這篇博文:
http://criss.blog.51cto.com/1048459/464581四、腳本安裝
當你下載tar包里面沒有config這個文件時,很可能就是用腳本的方式安裝了。也是先解壓,然后查看下README或INSTALL這類說明,然后找到安裝腳本運行即可。

五、APT包管理
