RPM官方解说

rpm命令是RPM软件包的管理工具。
rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

选项

-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:详细显示指令执行过程,便于排错。

参数

软件包:指定要操纵的rpm软件包。

使用方法

  • rpm -q 软件名 //会查询出软件的全名
  • rpm -qa //将会列出所有的安转的软件 还可一结合管道,查询指定字样的软件
  • rpm -qa | grep sql //查询包含sql字符串的软件
  • rpm -ql 软件名 //查询软件的安装路径
    ***扩展
    which 软件名 //有时候可以起到和上一命令相同的作用,不过这个命令只可以在环境变量底下进行查找。
    ***
  • 一个rpm包中包含那些文件。
    一个没有安装过的软件包,使用rpm -qlp ****.rpm
    一个已经安装过的软件包,还可以使用rpm -ql ****.rpm、
  • 取关于一个软件包的版本,用途等相关信息?
    一个没有安装过的软件包,使用rpm -qip ****.rpm
    一个已经安装过的软件包,还可以使用rpm -qi ****.rpm
  • 某个程序是哪个软件包安装的,或者哪个软件包包含这个程序。rpm -qf `which 程序名` #返回软件包的全名
    rpm -qif `which 程序名` #返回软件包的有关信息
    rpm -qlf `which 程序名` #返回软件包的文件列表注意,这里不是引号,而是`,就是键盘左上角的那个键。也可以使用rpm -qilf,同时输出软件包信息和文件列表。
  • 某个文件是哪个软件包安装的,或者哪个软件包包含这个文件。注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:whereis ftptop
    ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz

    rpm -qf /usr/bin/ftptop
    proftpd-1.2.8-1

    rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt
    proftpd-1.2.8-1

使用过程中 使用的yum比较多,一般的rp我都是用来查询安装包的详细信息的。