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. zookeeper 安装的三种模式

    Zookeeper安装 zookeeper的安装分为三种模式:单机模式.集群模式和伪集群模式. 单机模式 首先,从Apache官网下载一个Zookeeper稳定版本,本次教程采用的是zookeeper ...

  2. 使用pidstat监控资源使用

    linux可以使用pidstat命令监控系统资源,比如监控cup使用如下: pidstat -u 还可以使用 -r(内存) -d(硬盘)

  3. poj3417Network【LCA】【树形DP】

    Yixght is a manager of the company called SzqNetwork(SN). Now she's very worried because she has jus ...

  4. numpy的文件存储 .npy .npz 文件

    1)Numpy能够读写磁盘上的文本数据或二进制数据.将数组以二进制格式保存到磁盘np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 ...

  5. Redis is loading the dataset in memory

    Redis is loading the dataset in memory During handling of the above exception, another exception occ ...

  6. Python 标准输出 sys.stdout 重定向

    本文环境:Python 2.7 使用 print obj 而非 print(obj) 一些背景 sys.stdout 与 print 当我们在 Python 中打印对象调用 print obj 时候, ...

  7. flask中的信号量

    一.在flask中自定义信号 from flask import Flask, current_app, flash, render_template from flask.signals impor ...

  8. Hibernate错误

    1.Field 'id' doesn't have a default value 原来是我的数据设计的时候,把主键的类型定义为int的,原本想是用自增的方式来的,可是由于自己的粗心,写sql语句的时 ...

  9. JS DOM节点

    html代码: <body onload ="loaded12()"> <form name="form1" action="htt ...

  10. SQLServer和MySQL job和 event定时器的差别

    SQLServer和MySQL job和 event定时器的差别