RPM包管理


RPM包管理

一、RPM包的安裝

用法

[root@localhost ~]#rpm –ivh package_name


參數

       -i:安裝

       -v:查看詳細安裝信息

       -h:顯示安裝進度

:安裝bind

[root@localhost~]# rpm -ivh bind-9.8.2-0.10.rc1.el6.i686.rpm


如果一次安裝多個文件,則:

[root@localhost~]# rpm -ivh filename-a.rpm  filename-b.rpm


直接安裝網絡上的RPM包:

[root@localhost~]# rpm -ivh 
http://website/path/pkgname.rpm


選項

       --nodeps:不考慮軟件依賴性,強行安裝

       --replacefiles:覆蓋已存在文件

       --replacepkgs:重新安裝

       --force:強制安裝

       --test:找出依賴性

      --justdb:由於RPM數據庫損壞時,可使用該參數更新軟件在數據庫內的信息

      --nosignature:略過數字證書的檢查

      --prefix新路徑:安裝到指定路徑

      --noscripts:軟件安裝過程中不自動執行某些命令

 

二、RPM升級和更新

用法

[root@localhost ~]# rpm –Uvh | Fvhpkgname.rpm


參數

       -Uvh:後跟的軟件如果沒有安裝過,則直接安裝;如果已安裝,則更新至最新版本

       -Fvh:後跟的軟件如果沒有安裝過,則不予安裝;如果已安裝,則更新至最新版本

 

三、RPM查詢

用法:

[root@localhost ~]# rpm –q[licdR] [已安裝軟件|未安裝軟件]


參數:

       -q:僅查詢,查詢後接軟件名是否已安裝

       -qa:列出所有已安裝在本機上的軟件

      -qi:列出軟件的詳細信息

       -ql:列出該軟件所有的文件與目錄所在完整路徑名

       -qc:列出該軟件的所有配置文件(/etc下的文件)

       -qd:列出該軟件的所有幫助文件(與man有關的文件)

       -qR:列出與該軟件有關的依賴包所含的文件

       -qf:後接文件名找出該文件屬於哪一個已安裝的軟件

       -qp[licdR]:找出某個RPM文件內的信息,而非已安裝的軟件信息

注意:所有參數前加上-q纔是查詢。查詢分兩部分:一是查詢已安裝軟件的信息,該信息由/var/lib/rpm提供;二是查詢未安裝軟件將要寫入/var/lib/rpm的信息。

例:查詢軟件是否已安裝

[root@localhost~]# rpm -q logrotate
logrotate-3.7.8-15.el6.i686


查詢上面軟件所提供的目錄和文件

[root@localhost~]# rpm -ql logrotate
/etc/cron.daily/logrotate
/etc/logrotate.conf
/etc/logrotate.d
/usr/sbin/logrotate
/usr/share/doc/logrotate-3.7.8
/usr/share/doc/logrotate-3.7.8/CHANGES
/usr/share/doc/logrotate-3.7.8/COPYING
/usr/share/man/man5/logrotate.conf.5.gz
/usr/share/man/man8/logrotate.8.gz
/var/lib/logrotate.status


列出logrotate的說明信息

[root@localhost~]# rpm -qi logrotate


找出logrotate的配置文件

[root@localhost~]# rpm -qc logrotate
/etc/logrotate.conf
/var/lib/logrotate.status


找出logrotate的幫助文件

[root@localhost~]# rpm -qd logrotate
/usr/share/doc/logrotate-3.7.8/CHANGES
/usr/share/doc/logrotate-3.7.8/COPYING
/usr/share/man/man5/logrotate.conf.5.gz
/usr/share/man/man8/logrotate.8.gz


安裝logrotate所需的依賴包

[root@localhost~]# rpm -qR logrotate


 

四、RPM驗證與數字證書

驗證

通過使用/var/lib/rpm下數據庫的內容與當前linux系統下的軟件對比,來驗證是否有文件被修改

用法

[root@localhost ~]#rpm –V[apf] 已安裝軟件|未安裝軟件


參數

       -V:後跟軟件名,若該軟件下文件被改動過,則顯示出來

       -Va:列出目前系統上所有被改動過的文件

       -Vp:後跟軟件名,列出該軟件可能被改動過的文件

       -Vf:列出某個文件是否被改動過

:查詢文件/etc/crontab是否被改動過

[root@localhost~]# rpm -Vf /etc/crontab


無顯示則表明沒被改動過

查詢軟件logrotate是否被改動過

[root@localhost~]# rpm -V logrotate


修改logrotate的配置文件/etc/logrotate中的rotate5

[root@localhost~]# rpm -V logrotate
..5....T.  c /etc/logrotate.conf


前面8個信息:

S:文件的容量大小是否被改變

M:文件的類型或屬性(rwx)是否被改變

5MD5是否改變

D:設備的主次代碼是否改變

LLink路徑是否已改變

U:文件的所有者已改變

G:文件的屬組已改變

T:文件的創建時間被改變

後面的c表示Configfile,即文件類型,文件類型有以下幾類:

c:配置文件

d:文檔

gghost文件,該文件不被某軟件所包含

l:授權文件

r:自述文件

 

數字證書

作用:爲防止用戶安裝的軟件遭到篡改,軟件廠家會有一個自己的證書體系,並針對軟件產生一個專屬與該軟件的公鑰,在安裝原廠軟件時,rpm命令會讀取RPM文件的證書信息,與本機系統內的證書信息比較,若證書相同,則安裝;若不同,則警告並停止安裝

安裝數字證書

1.先找到密鑰文件

[root@localhost~]# find /etc -name '*GPG-KEY*'
/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-6
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Security-6
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-6


2.安裝

[root@localhost~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


3.查看公鑰信息

[root@localhost~]# rpm -qa | grep pubkey
gpg-pubkey-c105b9de-4e0fd3a3
[root@localhost~]# rpm -qi gpg-pubkey-c105b9de-4e0fd3a3
Name        : gpg-pubkey                   Relocations: (notrelocatable)
Version     : c105b9de                          Vendor: (none)
Release     : 4e0fd3a3                      Build Date: Fri 03 Oct2014 08:16:45 PM PDT
Install Date: Fri03 Oct 2014 08:16:45 PM PDT      Build Host: localhost
Group       : Public Keys                   Source RPM: (none)
Size        : 0                                License: pubkey
Signature   : (none)
Summary     : gpg(CentOS-6 Key (CentOS 6 OfficialSigning Key) <[email protected]>)
Description :
-----BEGIN PGPPUBLIC KEY BLOCK-----
Version: rpm-4.8.0(NSS-3)
 
mQINBE4P06MBEACqn48FZgYkG2QrtUAVDV58H6LpDYEcTcv4CIFSkgs6dJ9TavCW
NyPBZRpM2R+Rg5eVqlborp7TmktBP/sSsxc8eJ+3P2aQWSWc5ol74Y0OznJUCrBr
bIdypJllsD9Fe+h7gLBXTh3vdBEWr2lR+xA+Oou8UlO2gFbVFQqMafUgU1s0vqaE
/hHH0TzwD0/tJ6eqIbHwVR/Bu6kHFK4PwePovhfvyYD9Y+C0vOYd5Ict2vbLHz1f
QBDZObv4M6KN3j7nzme47hKtdMd+LwFqxM5cXfM6b5doDulWPmuGV78VoX6OR7el
x1tlfpuiFeuXYnImm5nTawArcQ1UkXUSYcTUKShJebRDLR3BycxR39Q9jtbOQ29R
FumHginovEhdUcinRr22eRXgcmzpR00zFIWoFCwHh/OCtG14nFhefuZ8Z80qbVhW
2J9+/O4tksv9HtQBmQNOK5S8C4HNF2M8AfOWNTr8esFSDc0YA5/cxzdfOOtWam/w
lBpNcUUSSgddRsBwijPuWhVA3NmA/uQlJtAo4Ji5vo8cj5MTPG3+U+rfNqRxu1Yc
ioXRo4LzggPscaTZX6V24n0fzw0J2k7TT4sX007k+7YXwEMqmHpcMYbDNzdCzUer
Zilh5hihJwvGfdi234W3GofttoO+jaAZjic7a3p6cO1ICMgfVqrbZCUQVQARAQAB
tEZDZW50T1MtNiBLZXkgKENlbnRPUyA2IE9mZmljaWFsIFNpZ25pbmcgS2V5KSA8
Y2VudG9zLTYta2V5QGNlbnRvcy5vcmc+iQI8BBMBAgAmBQJOD9OjAhsDBQkSzAMA
BgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQCUb8osEFud6ajRAAnb6d+w6Y/v/d
MSy7UEy4rNquArix8xhqBwwjoGXpa37OqTvvcJrftZ1XgtzmTbkqXc+9EFch0C+w
ST10f+H0SPTUGuPwqLkg27snUkDAv1B8laub+l2L9erzCaRriH8MnFyxt5v1rqWA
mVlRymzgXK+EQDr+XOgMm1CvxVY3OwdjdoHNox4TdVQWlZl83xdLXBxkd5IRciNm
sg5fJAzAMeg8YsoDee3m4khg9gEm+/Rj5io8Gfk0nhQpgGGeS1HEXl5jzTb44zQW
qudkfcLEdUMOECbu7IC5Z1wrcj559qcp9C94IwQQO+LxLwg4kHffvZjCaOXDRiya
h8KGsEDuiqwjU9HgGq9fa0Ceo3OyUazUi+WnOxBLVIQ8cUZJJ2Ia5PDnEsz59kCp
JmBZaYPxUEteMtG3yDTa8c8jUnJtMPpkwpSkeMBeNr/rEH4YcBoxuFjppHzQpJ7G
hZRbOfY8w97TgJbfDElwTX0/xX9ypsmBezgGoOvOkzP9iCy9YUBc9q/SNnflRWPO
sMVrjec0vc6ffthu2xBdigBXhL7x2bphWzTXf2T067k+JOdoh5EGney6LhQzcp8m
YCTENStCR+L/5XwrvNgRBnoXe4e0ZHet1CcCuBCBvSmsPHp5ml21ahsephnHx+rl
JNGtzulnNP07RyfzQcpCNFH7W4lXzqM=
=jrWY
-----END PGPPUBLIC KEY BLOCK-----


 

五、卸載RPM重建數據庫(erase/rebuilddb

卸載:軟件卸載要注意順序

用法

[root@localhost ~]# rpm –e 軟件名


:卸載bind

[root@localhost~]# rpm -qa | grep bind
bind-utils-9.8.2-0.10.rc1.el6.i686
bind-9.8.2-0.10.rc1.el6.i686
bind-libs-9.8.2-0.10.rc1.el6.i686
samba-winbind-clients-3.5.10-125.el6.i686
PackageKit-device-rebind-0.5.8-20.el6.i686
[root@localhost~]# rpm -e bind


 

重建數據庫RPM軟件的安裝、升級、刪除會導致RPM數據庫/var/lib/rpm內的文件損壞,使用—rebuilddb可以重建

用法

[root@localhost ~]# rpm --rebuilddb



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