rpm命令使用

rpm命令 是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

语法

1
rpm(选项)(参数)

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a:查询所有套件;
b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称
c:只列出组态配置文件,本参数需配合"-l"参数使用
d:只列出文本文件,本参数需配合"-l"参数使用;
e<套件档>或--erase<套件档>:删除指定的套件;
f<文件>+:查询拥有指定文件的套件;
h或--hash:套件安装时列出标记;
i:显示套件的相关信息;
i<套件档>或--install<套件档>:安装指定的套件档;
l:显示套件的文件列表;
p<套件档>+:查询指定的RPM套件档;
q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
R:显示套件的关联性信息;
s:显示文件状态,本参数需配合"-l"参数使用;
U<套件档>或--upgrade<套件档>:升级指定的套件档;
v:显示指令执行过程;
vv:详细显示指令执行过程,便于排错。

实例

  1. rpm软件包的安装可以使用程序rpm来完成。执行下面的命令:
1
rpm -ivh your-package.rpm

2.我的系统中安装了那些rpm软件包。

1
rpm -qa 讲列出所有安装过的包

3.如果要查找所有安装过的包含某个字符串sql的软件包

1
rpm -qa | grep sql

4.如何获得某个软件包的文件全名。

1
rpm -q mysql

5.可以获得系统中安装的mysql软件包全名,从中可以获得当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11一个rpm包中的文件安装到那里去了?

1
rpm -ql 包名

注意这里的是不包括.rpm后缀的软件包的名称,也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。如果只是想知道可执行程序放到那里去了,也可以用which,比如:

1
which mysql

6.一个rpm包中包含那些文件。

1
2
一个没有安装过的软件包,使用`rpm -qlp  **** .rpm`
一个已经安装过的软件包,还可以使用`rpm -ql **** .rpm`

7.如何获取关于一个软件包的版本,用途等相关信息?

1
2
一个没有安装过的软件包,使用`rpm -qip  **** .rpm`
一个已经安装过的软件包,还可以使用`rpm -qi **** .rpm`

8.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序。

1
2
3
rpm -qf `which 程序名`    #返回软件包的全名
rpm -qif `which 程序名` #返回软件包的有关信息
rpm -qlf `which 程序名` #返回软件包的文件列表

9.如何查看安装openssl.x86.rpm包的依赖关系

1
rpm -qpR httpd-tools-2.4.6-88.el7.centos.x86_64.rpm

10.查询会安装哪⼏个⽂件,分别到哪个⽬录,⽽不实
际安装?

1
rpm -qpl httpd-tools-2.4.6-88.el7.centos.x86_64.rpm

11.如何查询openssl安装的时间

1
rpm -qai openssl

rpm 默认安装位置

/etc/ 配置文件
/usr/bin/ 可执行文件
/urs/lib/ 程序使用的函数库
/usr/share/doc/ 使用手册
/usr/share/man/ manual