天天看點

RPM軟體包管理

   RPM是RedHat Package Manager(RedHat軟體包管理工具)的縮寫,這一檔案格式名稱雖然打上了RedHat的标志,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有采用,可以算是公認的行業标準了。

RPM檔案在Linux系統中的安裝最為簡便。以著名的圖像處理軟體XV為例,其RPM包xv-3.10a-13.i386.rpm可以在該程式的首頁中下載下傳取得。

Linux軟體包 大概分為了一下幾種

①   二進制軟體包管理<RPM.YUM>

②   源代碼包管理

③   腳本安裝<shell或java腳本>

④   Debian系列linux軟體包 <不後續介紹>

以sudo-1.7.4p5-11.el6.i686.rpm這個軟體版為例

解釋下linux命名格式sudu=軟體名1.7.4p5=版本号 11.el6=發行号 i686=硬體平台

安裝sudo  挂載CD光牒什麼的不做介紹了

[root@chenyi Packages]# rpm -ivh sudo-1.7.4p5-11.el6.i686.rpm

<a href="http://itchenyi.com/wp-content/uploads/2012/10/rpm1.png"></a>

RPM軟體包參數

--exludedocs

不安裝軟體包中的文檔檔案

--prefix=

指定路徑進行安裝

--test

測試安裝,不實際安裝

--replacepkgs

覆寫安裝

--replacefiles

忽略錯誤繼續安裝

--nodeps

忽略依賴關系安裝

-a

查詢所有已經安裝的軟體包

-f

查詢檔案所屬的軟體包

-p

查詢軟體包

-i

顯示軟體包資訊

-l

顯示軟體包中的檔案清單

-c

顯示被标注為配置檔案的檔案清單

-d

顯示被标注為文檔的檔案清單

-e

解除安裝軟體包

-qf

查詢檔案隸屬的軟體包

–qi、–qip

查詢軟體包資訊

-ql –qlp

查詢軟體包的安裝檔案

-qd

查詢軟體包的幫助檔案

-qc

查詢軟體包配置檔案

軟體包校驗: rpm –V [軟體名稱]

對應的參數

5

檔案的md5校驗值

S

檔案大小

L

連接配接檔案

T

檔案的建立時間

D

裝置檔案

U

檔案的使用者

G

檔案的使用者組

M

檔案的權限

這裡示範下 –V 這個參數。因為他對于某種環境來說是很不錯的!

以 /etc/inittab 配置檔案為示例,這檔案有啥用  我就不做解釋了。

首先 rpm –qf 檢視/etc/inittab 這個檔案是有什麼軟體包所建立的!

我更改了inittab檔案的内容,更改了它的權限,更改了它的所屬使用者,更改了它的所屬組,然後再校驗就看到了 SM5..UGT.的回執 表示檔案大小改變了,因為内容變了,然後檔案的權限改變了,MD5值也改變了,所屬使用者也改變了,所屬組也改變了,檔案的建立時間也改變了,如果這不是我們管理者所做的更改,那證明 有其他人動過計算機,可能是黑客,可能是那坑爹的 江南style的男主角 !

呵呵,圖上的操作為了驗證效果所配置。别亂噴!

MD5值校驗。咳咳,什麼。我删除了inittab這個檔案???….繼續往下看吧

<a href="http://itchenyi.com/wp-content/uploads/2012/10/rpm4.png"></a>

MD5校驗原理

當安裝一個新的rpm包時,會自動生成一個rpm庫,在需要的時候會通過這個庫來比較得到這些值!

剛才鳳姐附體,不小心把inittab删除了,還好我沒重新開機,不用進救援模式。要線上恢複也簡單!

軟體封包件提取,我們剛才就通過 –qf 參數知道了rpm 包的安裝包的名字,現在挂載關盤提取inittab檔案,沒CD光牒自己去下載下傳initscripts….

Inittab 就這樣修複了。沒什麼很難的啊!!!

源代碼包安裝 以proftpd為例 自己搞包解壓

./configure –prefix=/usr/local 配置

make編譯

make install 安裝

 就這樣 裝好了

如果沒裝C編譯器 就裝一個

Gcc cc 其他CC都行

反正 有人說yum比rpm好。我覺得都要用。作為一個技術人員。不要追求新,很多東西要都會,都知道,結合使用才強大撒!

本文轉自 lgpqdwjh 51CTO部落格,原文連結:http://blog.51cto.com/itchenyi/1038649,如需轉載請自行聯系原作者