一种用于互联网下载包的打包及安装工具,它包含在一些Linux分发版中。使用rpm安装软件往往比使用源码安装更加方便快捷。

      下面,我们通过rpm包的安装,卸载,升级,查询,校验,及数据库重建了解rpm的使用。

-------------------------------------------------------------------------------------------------------------------------------------

1.rpm包的安装

[常用选项]



-i         install 安装
-v         显示详细信息
-vv        显示更加详细的信息
-h         使用#显示安装进度
--test     仅测试是否可以安装,但是不进行安装
--nodeps   不考虑依赖关系进行安装,可能造成软件无法正常使用
--replacepkgs    重新安装软件包,如原有配置文件存在,可能无法覆盖
常用组合:    rpm -ivh



 [示例]


[root@localhost Packages]# rpm -ivh zsh-4.3.10-4.1.el6.x86_64.rpm 
Preparing...                ########################################### [100%]   
1:zsh                    ########################################### [100%]


2.rpm包的卸载

  [常用选项]



-e        程序卸载--nodeps  不卸载相关依赖包,可能导致其他软件无法使用



[示例]



[root@localhost Packages]# rpm -e zsh


3.rpm包的升级

  [常用选项]


-U        软件存在则升级软件,不存在则安装软件
-F        软件存在则升级软件,不存在则不做任何动作
-v        显示详细信息
-h        使用#显示安装进度



    [示例]



[root@localhost ~]# rpm -Uvh zsh-4.3.10-7.el6.x86_64.rpm
 warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
 Preparing...                ########################################### [100%]   
 1:zsh                    ########################################### [100%]
[root@localhost ~]# rpm -e zsh #卸载后通过-U可以安装
[root@localhost ~]# rpm -Uvh zsh-4.3.10-7.el6.x86_64.rpm
 warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]   
1:zsh                    ########################################### [100%]
[root@localhost ~]# rpm -e zsh #卸载后通过-F不会安装
[root@localhost ~]# rpm -Fvh zsh-4.3.10-7.el6.x86_64.rpm
 warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY



4.rpm包的查询

    [常用选项]


-q PKG_NAME :查询某软件是否已经安装
-qa         :查询所有已安装的软件包列表
-qi         :查询包的描述信息-ql PKG_NAME:查询指定软件包所生成的文件列表
    -qc     :查询指定软件包所生成的配置文件
    -qd     :查询指定软件包所生成的文档文件    
    -q --scripts :查询指定软件包所生成的文档        
    脚本有4类:	
        preinstall :安装前执行的脚本	
        postinstall:安装后执行的脚本	
        preuninstall:卸载前执行的脚本	
        postuninstall:卸载后执行的脚本
-qf FILE :查询某文件是由哪个软件包生成的
#在使用-qi,-qc,-ql,-qd时,加入-p选项可以查看指定rpm包的相关信息,而非已安装的软件包信息



    [示例]


[root@localhost ~]# rpm -q zshzsh-4.3.10-7.el6.x86_64
[root@localhost ~]# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
[root@localhost ~]# rpm -qpc zsh-4.3.10-7.el6.x86_64.rpm
 warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc



5.rpm包的校验操作

    [常用选项]



-V PKG_NAME:校验指定包的配置文件是否发生更改
	S 大小	
	M 权限,文件类型	
	5 MD5	
	D 设备号	
	L 路径	
	U 属主	
	G 属组	
	T 修改时间	
	P 能力	
	. 未发生改变



   [示例]



#在指定文件中加入部分注释信息后执行如下命令
[root@localhost ~]# rpm -V zsh 
S.5....T.  c /etc/skel/.zshrc #说明指定文件的大小,MD5修改时间发生了变化


6.rpm包的来源合法性及完整性校验

[常用选项]



--import            导入公钥文件
-qa gpg-pubkey*     查询已导入的公钥文件
-qi gpg-pubkey-NAME 查询指定密钥的详细信息
-K PKG_FILE         查询指定包文件校验是否成功,安装过程中会自动进行校验



  [示例]


[root@localhost ~]# rpm --import /test/RPM-GPG-KEY-redhat-release



7.rpm数据库的重建


--initdb        如果数据库文件不存在则新建,存在则退出
--rebuilddb     直接覆盖原有数据库文件


转载于:https://blog.51cto.com/dddbk/1440553