說RPM軟體包管理前,先說一下原始碼形式的管理
原始碼形式的管理有以下幾個特點:
1.絕大多數開源軟體都是以原始碼的形式公布
2.原始碼一般會打包成tar.gz的歸檔壓縮檔
3.原始碼被編譯成二進位後才可以運行
原始碼的編譯流程
1- ./configure 檢查相關配置環境和相關庫檔案以及配置參數形成makefile
2- make 對原始碼進行編譯,形成二進位檔案
3- make install 將產生的二進位檔案裝入電腦中去
原始碼形式管理比較麻煩,但是可控性比較好
由於開源軟體的不重複開發輪子的特點,所以軟體之間的依賴關係使得安裝軟體時候比較麻煩
缺點:操作複雜,對於較麻煩的軟體編譯時間長, 極容易出現錯誤
優點:很容易控制, 適應性強
所以為了簡化安裝軟體時候的操作, 出現了RPM (redhat Packet Manager...出現了紅帽的身影)
RPM通過將原始碼基於特定的平台系統編譯為可執行檔,並儲存依賴關係,來簡化開源軟體的安裝管理
每一個平台都有一個特定的rpm檔案, RPM不能解決一個rpm檔案跨平台的問題,所以如果要下載rpm包時候,一定要看清它適用於什麼平台
RPM的命名規範
軟體名-版本號碼.適用的系統.rpm
RPM的基礎命令
rpm -i software.rpm 安裝軟體
rpm -e software 卸載軟體
rpm -U software-new.rpm 升級軟體(這是在網上又下載的rpm更新軟體包, 不想卸載原來的, 直接升級,就是這個命令)
RPM同時也支援http、ftp形式的下載安裝
rpm -i http://hehe.com/hehe.rpm
rpm 命令可以加入以下參數
-v 顯示相應的資訊
-h 顯示進度條
RPM查詢
rpm -qa 列出本機所有的安裝的rpm軟體(q應該就是查詢的意思)
rpm -qi softwarename 可以查看軟體的資訊(i information)
rpm -qf directory 可以查看一個路徑是由哪個軟體安裝的(file)
rpm -qip softwarename.rpm 查詢一個未安裝軟體的資訊(package)
rpm -ql softwarename 查詢一個已安裝軟體所包含的檔案(list)
RPM同時也有它的不方便之處, 不重複開發輪子的開源開發的理念使得安裝某個開源軟體時候,總是需要手動的解決軟體之間的依賴關係, 很多軟體安裝之前必須提前安裝一個或者幾個其他軟體, 手工解決非常麻煩, 可以使用YUM來解決這個困難(相關博文請看關於YUM軟體管理)。
that's all !