Thursday, November 22, 2018
Home > Linux / Unix > RPM Commands Examples in Linux

RPM Commands Examples in Linux

RPM Commands Examples in Linux

RPM is free and released under GPL (General Public License).by using RPM commands gets the information of all the installed packages under /var/lib/rpm database.RPM deals with .rpm files, which gives the information about the packages such as version , dependecies etc.


There are five basic modes for RPM command

  1. Install :used to install any RPM package.
  2. Remove :used to remove, any RPM package.
  3. Upgrade :  used to update the existing RPM package of system.
  4. Verify :  used to verify packages.
  5. Query : used query RPM package.

1. How to Check an RPM Signature Package

It verifies the PGP signature of packages before installation on systems and makes sure its connection and origin is OK or Not.–checksig (check signature) option to check the signature of a package called pidgin.

[[email protected]]# 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. How to Install an RPM Package

 To install below package use the following command with -i option.

[[email protected]]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm
Preparing...                ########################################### [100%]
1:pidgin                 ########################################### [100%]

RPM commands with options

  1. -i : install 
  2. -v : verbose for a nicer display
  3. -h: print hash marks as the package archive is being unpacked.

3. Used check dependencies of any Package before Installation

For example, use the following command to check the dependencies of BitTorrent-5.2.21Python2.4.noarch.rpm package. It will display the list of dependencies of package.

[[email protected]]# 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 command and options

  1. -q : Query a package
  2. -p : List capabilities this package provides.
  3. -R: List capabilities on which this package depends..

4.Install a RPM Package Without Dependencies

[[email protected]]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing...                ########################################### [100%]
1:BitTorrent             ########################################### [100%]

5. check an Installed RPM Package

 -q option is used to verify whether an rpm installed or not.

[[email protected]]# rpm -q BitTorrent
BitTorrent-5.2.2-1.noarch

6. How to List all files of an installed RPM package

-ql (query list) with rpm command.

[[email protected]]# 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. List Recently Installed RPM Packages

-qa (query all) option, will list all the installed rpm packages.

[[email protected]]# 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

8. List All Installed RPM Packages

It will print our all the names of installed packages on our system.

[[email protected]]# 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. Upgrade a RPM Package

To upgrade any RPM package “–U” (upgrade) option will be used

[[email protected]tution]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing...                ########################################### [100%]
1:nx                     ########################################### [100%]

10. How to Remove a RPM Package

To un-install an RPM package, The -e (erase) option is used to remove package.

[[email protected]]# rpm -evv nx

11. To any Remove RPM Package Without Dependencies

–nodeps (Do not check dependencies) option will remove forcefully from system to package.

[[email protected]]# rpm -ev --nodeps vsftpd

12. Query a file that belongs which RPM Package

Below command with -qf (query file) option will show you a file /usr/bin/htpasswd is own by package httpd-tools-2.2.15-15.el6.centos.1.i686.

[[email protected]]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-15.el6.centos.1.i686

13. Query an Information of Installed RPM Package

To know about how many RPM packages you have installed.

[[email protected]]# rpm -qi vsftpd
Name        : vsftpd				   Relocations: (not relocatable)
Version     : 2.2.2				   Vendor: CentOS
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. Get the Information of RPM Package Before Installing

You have downloaded a package from the internet and want to know the information of a package before installing. option -qip (query info package) will print the information related package sql buddy.

[[email protected]]# 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. How to Query documentation of Installed RPM Package

 List of available documentation of an installed package.

[[email protected]]# 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. Verify a RPM Package

-Vp(verify package) used to verify package.

[[email protected] downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. Verify all RPM Packages

Used to verify all the installed RPM packages.

[[email protected] ]# 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. How to Import an RPM GPG key

To verify CentOS 6 packages, you must import the GPG key. To do so, execute the following command. It will import CentOS 6 GPG key.

[[email protected]]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19. To List all Imported RPM GPG keys

To print all the imported GPG keys in your system, 

[[email protected] ]# 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. To rebuild Corrupted RPM Database

To rebuild the rpm database and restore:

[[email protected] ]# cd /var/lib
[[email protected] ]# rm __db*
[[email protected] ]# rpm --rebuilddb
[[email protected] ]# rpmdb_verify Packages
Admin
We are group of application developer and admin.We are providing good content of information about IT technology and services .

Leave a Reply

Your email address will not be published. Required fields are marked *