20个Linux中RPM命令的实际示例

RPM(Red Hat Package Manager)是一个默认的开源和最受欢迎的软件包管理实用程序。本文提供一些有用的20 RPM命令示例

RPM(Red Hat软件包管理器 )是一个默认的开源和最流行的包管理实用程序,用于基于Red Hat系统一样(RHEL,CentOSFedora)。 该工具允许系统管理员和用户安装更新卸载查询验证 ,并在Unix / Linux操作系统管理系统软件包。 该RPM原名.rpm的文件,包括由包需要编译的软件程序和库。 该实用程序仅适用于该建在.rpm格式软件包。
RPM Command Examples

20最有用的RPM命令示例

本文提供了一些有用的20 RPM命令的例子可能会对你有所帮助。借助这些rpm命令,您可以管理安装,更新,删除Linux系统中的软件包。

关于RPM的一些事实(RedHat包管理器)

  1. RPM是免费的GPL( 通用公共许可 )下发布的。
  2. RPM保持在/ var / lib / rpm的数据库中的所有已安装的软件包的信息。
  3. RPM是在Linux系统下安装软件包的唯一方法,如果你使用源代码安装软件包,那么rpm将不能管理它。
  4. 它是什么它是从哪里来的依赖关系信息版本信息等:用.rpm文件,其中包含有关软件包,如实际信息RPM的交易

RPM命令有五种基本模式

  1. 安装 :用于安装任何RPM软件包。
  2. 删除 :它是用来清除,删除或卸载任何RPM软件包。
  3. 升级 :用于更新现有的RPM包。
  4. 确认 :这是用于查询不同的RPM软件包。
  5. 查询 :它用于任何RPM包的验证。

在哪里可以找到RPM包

下面是rpm的网站,在那里你可以找到并下载所有的RPM包的列表。
  1. http://rpmfind.net
  2. http://www.redhat.com
  3. http://freshrpms.net/
  4. http://rpm.pbone.net/
阅读:
  1. Linux中的20 YUM命令示例
  2. 10 Linux中的Wget命令示例
  3. 30最有用的Linux命令为系统管理员
请记住,在Linux上安装软件包时,用root权限可以用其相应的选项来管理RPM的命令,你必须是root用户。

1.如何检查RPM签名包

在你的Linux系统安装前一定要检查包的PGP签名,并确保其完整性和来源是确定 。 使用下面的命令-checksig( 检查签字 )选项来检查一个叫洋泾浜软件包的签名。
[root@howtoing]# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm
pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2.如何安装RPM软件包

对于安装RPM软件包,使用以下命令用-i选项。 例如,要安装一个rpm包叫洋泾浜,2.7.9-5.el6.2.i686.rpm。
[root@howtoing]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm
Preparing...                ########################################### [100%]
1:pidgin                 ########################################### [100%]
RPM命令和选项
  1. -i:安装一个软件包
  2. -v:详细为一个更好的显示
  3. -h:打印散列标记作为包归档文件解压缩。

3.如何在安装之前检查RPM软件包的依赖关系

假设您想在安装或升级软件包之前进行依赖性检查。例如,使用下面的命令检查的BitTorrent-5.2.2-1-Python2.4.noarch.rpm包的依赖关系。它将显示包的依赖关系的列表。
[root@howtoing]# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm
/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6
RPM命令和选项
  1. -q:查询软件包
  2. -p:列表功能,这个包提供。
  3. -R:此程序包依赖列表功能..

4.如何安装没有依赖关系的RPM软件包

如果你知道所有需要的包都已经安装和RPM的只是愚蠢,你可以通过选项-nodeps( 不依赖检查 )安装软件包之前忽略这些依赖关系。
[root@howtoing]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing...                ########################################### [100%]
1:BitTorrent             ########################################### [100%]
上述命令通过忽略依赖项错误强制安装rpm包,但如果这些依赖文件丢失,则程序将不会工作,直到您安装它们。

5.如何检查已安装的RPM软件包

使用带包名-q选项,将显示是否安装或没有一个rpm。
[root@howtoing]# rpm -q BitTorrent
BitTorrent-5.2.2-1.noarch

6.如何列出已安装的RPM软件包的所有文件

要查看已安装的rpm包中的所有文件,可以使用-ql( 查询列表 )用rpm命令。
[root@howtoing]# rpm -ql BitTorrent
/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console

7.如何列出最近安装的RPM软件包

使用以下rpm命令与-qa( 查询所有 )选项,将列出所有最近安装的rpm包。
[root@howtoing]# rpm -qa --last
BitTorrent-5.2.2-1.noarch                     Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686                     Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686             Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686         Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:03 PM BDT

8.如何列出所有已安装的RPM软件包

键入以下命令以打印Linux系统上已安装软件包的所有名称。
[root@howtoing]# rpm -qa
initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686

9.如何升级RPM软件包

如果我们想升级任何RPM软件包“-U”( 升级 )选项将被使用。使用此选项的一个主要优点是它不仅将升级任何包的最新版本,而且还将维护旧包的备份,以便在新的升级包不运行先前安装的包时可以再次使用。
[root@howtoing]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing...                ########################################### [100%]
1:nx                     ########################################### [100%]

10.如何删除RPM软件包

要卸载一个RPM包,比如我们使用的包名NX,而不是原来的包名NX-3.5.0-2.el6.centos.i686.rpm。-e(清除)选项用于删除软件包。
[root@howtoing]# rpm -evv nx

11.如何删除没有依赖关系的RPM软件包

-nodeps( 不检查依赖性 )选项强行从系统中删除rpm包。但请记住,删除特定的包可能会破坏其他工作应用程序。
[root@howtoing]# rpm -ev --nodeps vsftpd

12.如何查询属于哪个RPM包的文件

让我们说,你有文件列表,你想知道哪个包属于这些文件。例如,-qf( 查询文件 )选项下面的命令将显示您的文件在/ usr /斌/ htpasswd的被包的httpd-工具2.2.15-15.el6.centos.1.i686自己。
[root@howtoing]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-15.el6.centos.1.i686

13.如何查询已安装的RPM软件包的信息

假设您已经安装了rpm包,并且想知道有关该包的信息。下面-qi( 查询信息 )选项将打印已安装的软件包的可用信息。
[root@howtoing]# rpm -qi vsftpd
Name        : vsftpd				   Relocations: (not relocatable)
Version     : 2.2.2				   Vendor: CentOS
Release     : 11.el6				   Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Daemons           Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size        : 351932                               License: GPLv2 with exceptions
Signature   : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://vsftpd.beasts.org/
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.

14.安装之前获取RPM软件包的信息

您已从互联网下载一个包,并想在安装之前知道包的信息。例如,下面的选项-qip( 查询信息包 )将打印包的信息sqlbuddy
[root@howtoing]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm
Name        : sqlbuddy                     Relocations: (not relocatable)
Version     : 1.3.3                        Vendor: (none)
Release     : 1                            Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed)              Build Host: rpm.bar.baz
Group       : Applications/Internet        Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size        : 1155804                      License: MIT
Signature   : (none)
Packager    : Erik M Jacobs
URL         : http://www.sqlbuddy.com/
Summary     : SQL Buddy â Web based MySQL administration
Description :
SQLBuddy is a PHP script that allows for web-based MySQL administration.

15.如何查询已安装的RPM软件包的文档

为了得到一个安装软件包的可用文档的列表,请使用以下命令选项-qdf( 查询文档文件),将显示相关的手册页与vmstat包。
[root@howtoing]# rpm -qdf /usr/bin/vmstat
/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO

16.如何验证RPM软件包

验证软件包会将软件包的已安装文件的信息与rpm数据库进行比较。该-Vp( 校验包 )用于验证软件包。
[root@howtoing downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17.如何验证所有RPM包

键入以下命令以验证所有已安装的rpm软件包。
[root@howtoing]# rpm -Va
S.5....T.  c /etc/rc.d/rc.local
.......T.  c /etc/dnsmasq.conf
.......T.    /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T.  c /etc/yum.conf
S.5....T.  c /etc/yum.repos.d/epel.repo

18.如何导入RPM GPG密钥

为了验证RHEL / CentOS的/ Fedora的包,你必须导入GPG密钥。 为此,请执行以下命令。 这将导入的CentOS 6 GPG密钥。
[root@howtoing]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19.如何列出所有导入的RPM GPG密钥

要打印系统中的所有导入的GPG密钥,请使用以下命令。
[root@howtoing]# rpm -qa gpg-pubkey*
gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30

20.如何重建损坏的RPM数据库

有时rpm数据库被损坏,停止rpm和系统上的其他应用程序的所有功能。所以,在我们需要重建rpm数据库和恢复它与帮助下面的命令。
[root@howtoing]# cd /var/lib
[root@howtoing]# rm __db*
[root@howtoing]# rpm --rebuilddb
[root@howtoing]# rpmdb_verify Packages