rpm是一个功能十分强大的软件包管理系统

1.命令格式:
  rpm  [参数]  [包名]

2.命令功能:
  使得在Linux下安装升级删除软件包的工作变得容易,并且具有查询、验证软件包的功能。与图形化工具相比,使用命令行可以获得更大的灵活性。

3.命令参数:  

1) -l                显示套件的文件列表          
2) -h (or --hash)            安装时输出hash记号 ("#''),用来显示安装进度
3) -i                显示套件的相关信息
4) -U<套件档> --upgrade<套件档>         升级指定的套件档
5) -p<套件档>               查询指定的RPM套件档
6) -q                 查看软件包是否被安装
7) -v                  显示指令执行过程
8) -a                 查询所有套件
9) -R                 显示套件的关联性信息

10)-e                删除(或卸载)软件包

4.使用实例:
示例1:[root@localhost ~]rpm -q mariadb-5.5.47-1.el7_2.x86_64  查询指定软件包是否被安装

[root@localhost ~]rpm -q mariadb--.el7_2.x86_64
mariadb--.el7_2.x86_64
[root@localhost ~]# rpm -q httpd
未安装软件包 httpd

示例2:[root@localhost packages]# rpm -qa | grep httpd   查询所有套件中已经安装的软件包(与httpd有关的软件包)

[root@localhost packages]# rpm -qa | grep httpd
httpd--.el7.centos..x86_64
httpd-tools--.el7.centos..x86_64
[root@localhost packages]# -.el7.centos..x86_64             //在网络软件库并没有这个包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
警告:没有匹配 httpd--.el7.centos..x86_64 的软件包
No matches found
[root@localhost packages]# -.el7.centos..x86_64        //但本地确实已经安装了这个软件包:系统自带
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
已安装的软件包
名称    :httpd
架构    :x86_64
版本    :
发布    :.el7.centos.
大小    :9.4 M
源    :installed
来自源:updates
简介    : Apache HTTP Server
网址    :http://httpd.apache.org/
协议    : ASL 2.0
描述    : The Apache HTTP Server is a powerful, efficient, and extensible
         : web server.

[root@localhost packages]# -.el7.centos..x86_64
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
已安装的软件包
名称    :httpd-tools
架构    :x86_64
版本    :
发布    :.el7.centos.
大小    : k
源    :installed
来自源:updates
简介    : Tools for use with the Apache HTTP Server
网址    :http://httpd.apache.org/
协议    : ASL 2.0
描述    : The httpd-tools package contains tools which can be used with
         : the Apache HTTP Server.

示例3:[root@localhost packages]# rpm -e mariadb-5.5.47-1.el7_2.x86_64   卸载指定的安装过的包

[root@localhost packages]# yum install mysql              //已经安装过
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
软件包 :mariadb--.el7_2.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost packages]# rpm -e mariadb--.el7_2.x86_64   //卸载指定安装包  
[root@localhost packages]# yum install mysql              //重新下载指定安装包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64..el7_2 将被 安装
--> 解决依赖关系完成

依赖关系解决

==========================================================================================================================================
 Package                       架构                         版本                                      源                             大小
==========================================================================================================================================
正在安装:
 mariadb                       x86_64                       :-.el7_2                          updates                       8.9 M

事务概要
==========================================================================================================================================
安装   软件包

总下载量:8.9 M
安装大小: M
Is this ok [y/d/N]: y
Downloading packages:
mariadb--.el7_2.x86_64. FAILED
http://mirrors.cug.edu.cn/centos/7.2.1511/updates/x86_64/Packages/mariadb-5.5.47-1.el7_2.x86_64.rpm: [Errno 12] Timeout on http://mirrors.cug.edu.cn/centos/7.2.1511/updates/x86_64/Packages/mariadb-5.5.47-1.el7_2.x86_64.rpm: (28, 'Resolving timed out after 30419 milliseconds')
正在尝试其它镜像。
mariadb--.el7_2.x86_64.rpm                                                                                  | ::
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : :mariadb--.el7_2.x86_64                                                                                       /
  验证中      : :mariadb--.el7_2.x86_64                                                                                       /

已安装:
  mariadb.x86_64 :-.el7_2                                                                                                         

完毕!

示例4:[root@localhost packages]# rpm -qpR gnome-bluetooth-3.14.1-1.el7.x86_64.rpm   查看指定软件包的依赖关系

[root@localhost packages]# find -name "gnome-bluetooth-3.14.1-1.el7.x86_64.rpm" -exec ls -l {} \;      //在当前目录下能够找到指定.rpm包
-rw-r--r--.  root root  11月   ./gnome-bluetooth--.el7.x86_64.rpm
[root@localhost packages]# rpm -qpR gnome-bluetooth--.el7.x86_64.rpm                   //查看它依赖的文件
/bin/sh
/bin/sh
/bin/sh
bluez >= 5.0
desktop-file-utils
desktop-file-utils
gnome-bluetooth-libs = :-.el7
libatk-()(64bit)
libc.so.()(64bit)
libc.so.(GLIBC_2.2.5)(64bit)
libc.so.(GLIBC_2.)(64bit)
libcairo-gobject.so.()(64bit)
libcairo.so.()(64bit)
libgdk-.so.()(64bit)
libgdk_pixbuf-()(64bit)
libgio-()(64bit)
libglib-()(64bit)
libgmodule-()(64bit)
libgnome-bluetooth.so.()(64bit)
libgobject-()(64bit)
libgtk-.so.()(64bit)
libm.so.()(64bit)
libpango-()(64bit)
libpangocairo-()(64bit)
libpthread.so.()(64bit)
libudev.so.()(64bit)
pulseaudio-module-bluetooth
rpmlib(CompressedFileNames) <= -
rpmlib(FileDigests) <= -
rpmlib(PayloadFilesHavePrefix) <=
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <=
[root@localhost packages]# -.el7.x86_64.rpm        //yum命令查询依赖关系
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
软件包:gnome-bluetooth.x86_64 :-.el7
   依赖:/bin/sh
   provider: bash.x86_64 -.el7
   依赖:bluez >= 5.0
   provider: bluez.x86_64 .el7
   依赖:desktop-file-utils
   provider: desktop-.el7
   依赖:gnome-bluetooth-libs = :-.el7
   provider: gnome-bluetooth-libs.x86_64 :-.el7
   provider: gnome-bluetooth-libs.i686 :-.el7
   依赖:libatk-()(64bit)
   provider: atk.x86_64 -.el7
   依赖:libc.so.()(64bit)
   provider: glibc.x86_64 .el7_2.
   依赖:libc.so.(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 .el7_2.
   依赖:libc.so.(GLIBC_2.)(64bit)
   provider: glibc.x86_64 .el7_2.
   依赖:libcairo-gobject.so.()(64bit)
   provider: cairo-gobject.x86_64 -.el7
   依赖:libcairo.so.()(64bit)
   provider: cairo.x86_64 -.el7
   依赖:libgdk-.so.()(64bit)
   provider: gtk3.x86_64 -.el7
   依赖:libgdk_pixbuf-()(64bit)
   provider: gdk-pixbuf2.x86_64 -.el7
   依赖:libgio-()(64bit)
   provider: glib2.x86_64 -.el7
   依赖:libglib-()(64bit)
   provider: glib2.x86_64 -.el7
   依赖:libgmodule-()(64bit)
   provider: glib2.x86_64 -.el7
   依赖:libgnome-bluetooth.so.()(64bit)
   provider: gnome-bluetooth-libs.x86_64 :-.el7
   依赖:libgobject-()(64bit)
   provider: glib2.x86_64 -.el7
   依赖:libgtk-.so.()(64bit)
   provider: gtk3.x86_64 -.el7
   依赖:libm.so.()(64bit)
   provider: glibc.x86_64 .el7_2.
   依赖:libpango-()(64bit)
   provider: pango.x86_64 -.el7
   依赖:libpangocairo-()(64bit)
   provider: pango.x86_64 -.el7
   依赖:libpthread.so.()(64bit)
   provider: glibc.x86_64 .el7_2.
   依赖:libudev.so.()(64bit)
   provider: systemd-libs.x86_64 -.el7_2.
   依赖:pulseaudio-module-bluetooth
   provider: pulseaudio-module-bluetooth.x86_64 .el7
   依赖:rtld(GNU_HASH)
   provider: glibc.x86_64 .el7_2.
   provider: glibc.i686 .el7_2.

示例5:[root@localhost packages]# rpm -Va    校验所有的rpm包,查找丢失的文件

[root@localhost packages]# rpm -Va
S.....T.  c /etc/hba.conf
....L....  c /etc/pam.d/fingerprint-auth
....L....  c /etc/pam.d/password-auth
....L....  c /etc/pam.d/postlogin
....L....  c /etc/pam.d/smartcard-auth
....L....  c /etc/pam.d/system-auth
遗漏     /var/run/wpa_supplicant
遗漏     /var/run/pluto
S.....T.  c /etc/plymouth/plymouthd.conf
S.....T.  c /etc/login.defs
S.....T.  c /etc/libuser.conf
S.....T.  c /etc/openldap/ldap.conf
遗漏     /var/run/gluster
.M.......  c /etc/cups/subscriptions.conf
S.....T.  c /etc/yum/pluginconf.d/langpacks.conf
.M....G..    /var/log/gdm
S.....T.  c /etc/cgrules.conf
S.....T.  c /etc/cups/cups-browsed.conf
.......T.    /lib/modules/-.el7.x86_64/modules.devname
.......T.    /lib/modules/-.el7.x86_64/modules.softdep
[root@localhost packages]# which mysql
/usr/bin/mysql

示例6:[root@localhost packages]# rpm -ql mariadb-5.5.47-1.el7_2.x86_64  查看指定软件包的安装的位置

[root@localhost packages]# yum install mysql
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
软件包 :mariadb--.el7_2.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost packages]# rpm -ql mariadb--.el7_2.x86_64
/etc/my.cnf.d/client.cnf
/usr/bin/aria_chk
/usr/bin/aria_dump_log
/usr/bin/aria_ftdump
/usr/bin/aria_pack
/usr/bin/aria_read_log
/usr/bin/msql2mysql
/usr/bin/my_print_defaults
/usr/bin/mysql
/usr/bin/mysql_find_rows
/usr/bin/mysql_waitpid
/usr/bin/mysqlaccess
/usr/bin/mysqladmin
/usr/bin/mysqlbinlog
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/bin/mysqlimport
/usr/bin/mysqlshow
/usr/bin/mysqlslap
/usr/share/doc/mariadb-
/usr/share/doc/mariadb-/COPYING
/usr/share/doc/mariadb-/COPYING.Google
/usr/share/doc/mariadb-/COPYING.LESSER
/usr/share/doc/mariadb-/COPYING.Percona
/usr/share/doc/mariadb-/README
/usr/share/doc/mariadb-/README.mysql-docs
/usr/share/doc/mariadb-/README.mysql-license
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz
/usr/share/.gz

示例7:[root@localhost packages]# rpm -qi ftp-0.17-66.el7.x86_64 查看指定软件包的信息

[root@localhost packages]# yum install ftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
软件包 .el7.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost packages]# rpm -qi .el7.x86_64
Name        : ftp
Version     : 0.17
Release     : .el7
Architecture: x86_64
Install Date: 2016年06月21日 星期二 11时26分00秒
Group       : Applications/Internet
Size        :
License     : BSD with advertising
Signature   : RSA/SHA256, 2014年07月03日 星期四 18时25分20秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : .el7.src.rpm
Build Date  : 2014年06月09日 星期一 13时01分11秒
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
Summary     : The standard UNIX FTP (File Transfer Protocol) client
Description :
The ftp package provides the standard UNIX command-line FTP (File
Transfer Protocol) client.  FTP is a widely used protocol for
transferring files over the Internet and for archiving files.

If your system is on a network, you should install ftp in order to do
file transfers.
[root@localhost packages]# .el7.x86_64
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
已安装的软件包
名称    :ftp
架构    :x86_64
版本    :0.17
发布    :.el7
大小    : k
源    :installed
来自源:anaconda
简介    : The standard UNIX FTP (File Transfer Protocol) client
网址    :ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
协议    : BSD with advertising
描述    : The ftp package provides the standard UNIX command-line FTP (File
         : Transfer Protocol) client.  FTP is a widely used protocol for
         : transferring files over the Internet and for archiving files.
         :
         : If your system is on a network, you should install ftp in order to do
         : file transfers.

示例8:[root@localhost packages]# rpm -i ftp://ftp.linux.org.uk/pub/linux/Networking/netkit  直接从网址下载(-i参数)

示例9:[root@localhost packages]# rpm -i -vv ftp://ftp.linux.org.uk/pub/linux/Networking/netkit  显示指令执行的细节(-vvc参数)

[root@localhost packages]# rpm -i ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
curl: () RETR response:
错误:跳过 ftp://ftp.linux.org.uk/pub/linux/Networking/netkit - 传输失败
[root@localhost packages]# rpm -i -vv ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
获取ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
curl: () RETR response:
错误:跳过 ftp://ftp.linux.org.uk/pub/linux/Networking/netkit - 传输失败
[root@localhost packages]# rpm -e ftp
[root@localhost packages]# rpm -i -vv ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
获取ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
curl: () RETR response:
错误:跳过 ftp://ftp.linux.org.uk/pub/linux/Networking/netkit - 传输失败
[root@localhost packages]# wget ftp://ftp.linux.org.uk/pub/linux/Networking/netkit      //用wget测试是否能下载时,发现也是不行的,说明是网址的问题。
---- ::--  ftp://ftp.linux.org.uk/pub/linux/Networking/netkit
           => “netkit”
正在解析主机 :c35c:fd02::
正在连接 ... 已连接。
正在以 anonymous 登录 ... 登录成功!
==> SYST ... 完成。   ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> CWD () /pub/linux/Networking ... 完成。
==> SIZE netkit ... 完成。
==> PASV ... 无法连接到 : 拒绝连接               //指定网站拒绝连接

5.其它:
rpm的详细介绍:
1)简介:
  RPM(Red Hat Package Manager),是Red Hat 软件包管理器。RPM包里面包含有"可执行的二进制程序";"程序运行时所需要的文件"。
  一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系。依赖关系并不是Linux特有的, Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows原理是差不多的。
  一个软件包安装的流程图:
  
2)RPM软件包管理器的全面用途:

1.可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
2.通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
3.可以在查询系统中的软件包是否安装以及其版本;
4.作为开发者可以把自己的程序打包为RPM 包发布;
5.软件包签名GPG和MD5的导入、验证和签名发布
6.依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

3)RPM 的使用权限:
  RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装。
  不是所有的软件包都能通过rpm 命令来安装,只有以.rpm结尾的软件包才可以。

4)当rpm系统出了不能安装和查询的问题时:
  [root@localhost packages]rpm -initdb
  [root@localhost packages]rpm -rebuilddb            //这个命令需要执行很长时间

linux常用命令:rpm 命令的更多相关文章

  1. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

  2. Linux 常用的压缩命令有 gzip 和 zip

    Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...

  3. Linux系统下RPM命令和yum的使用

    Linux系统下RPM命令和yum的使用 RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装.卸载.升级和管理软件. 一个包由下面几个部分构成: 例如:ht ...

  4. Linux下面使用rpm命令

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...

  5. LINUX常用配置及命令

    一.   Fedora系统配置 1.      [设置网卡IP] 步骤如下: 1)     用root用户登陆,打开/etc/sysconfig/network-scripts/ifcfg-eth0文 ...

  6. linux常用60条命令 转

    Linux必学的60个命令   Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命 ...

  7. linux常用配置文件和命令总结

    常用配置文件说明: 1..设置-n永远生效:Vim的配置文件:命令模式想永久生效, ~/.vimrc,新建文件,在里面输入保存即可 2.设置别名永远生效:在~/.bashrc  修改当前用户家目录里的 ...

  8. Linux常用的基础命令总结

    man 查看英文命令帮助   可以看作--help 拷贝目录的命令cp -a  包含所有 ls -a 显示所有文件包括隐藏文件  -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) ...

  9. Java线上问题排查思路及Linux常用问题分析命令学习

    前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...

  10. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

随机推荐

  1. 教你写gulp plugin

    前端开发近两年工程化大幅飙升.随着Nodejs大放异彩,静态文件处理不再需要其他语言辅助.主要的两大工具即为基于文件的grunt,基于流的gulp.简单来说,如果需要的只是文件处理,gulp绝对首选. ...

  2. iOS - UIEvent事件及UIResponder响应者

    在iOS中不是所有的对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件,称之为响应者对象: UIApplication.UIViewController.UIView都继承自U ...

  3. scala - fold,aggregate,iterator

    import org.json4s._ import org.json4s.jackson._ import org.json4s.jackson.JsonMethods._ import org.j ...

  4. Oracle数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)

    查询表信息(表名/表描述) Select table_Name As Name,Comments As Value From User_Tab_Comments Where table_Type='T ...

  5. java8新特性之Optional类

    NullPointException可以说是所有java程序员都遇到过的一个异常,虽然java从设计之初就力图让程序员脱离指针的苦海,但是指针确实是实际存在的,而java设计者也只能是让指针在java ...

  6. CH0101 a^b & CH0102 64位整数乘法

    大数取模的两道题. 虐狗宝典学习笔记: 两个数值执行算术运算时,以参与运算的最高数值类型为基准,与保存结果的变量类型无关.两个32位整数的成绩可能超过int类型的表示范围,但是CPU只会用一个32位寄 ...

  7. XTU 1261 - Roads - [最小割][2017湘潭邀请赛B题(江苏省赛)]

    之前在网上搜了一个下午没搜到这道题的题解,然后同时又对着叉姐写的两行字题解看了一个下午: 虽然基本上已经知道了这题的思路,但愣是因为自己代码实现起来太繁复,外加不确定正确性,没敢码…… 但是一道题肝了 ...

  8. Net Promoter Score

    https://baike.baidu.com/item/净推荐值/3783368?fr=aladdin NPS(Net Promoter Score),净推荐值,又称净促进者得分,亦可称口碑,是一种 ...

  9. sql中varchar(max),取代text类型

    SQL Server 2005之后版本:请使用 varchar(max).nvarchar(max) 和 varbinary(max) 数据类型,而不要使用 text.ntext 和 image 数据 ...

  10. LightOj 1265 - Island of Survival(概率)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1265 题目大意:有一个生存游戏,里面t只老虎,d只鹿,还有一个人,每天都要有两个生物碰 ...