2. What is RPM?
• RPM stands for Red
Hat Package Manager.
• RPM command is used for installing,
uninstalling, upgrading, querying,
listing, and checking RPM packages
on your Linux system.
2
3. What is RPM?
• With root privilege, you can use the
rpm command with appropriate
options to manage the RPM software
packages.
3
4. What is RPM?
• The Red Hat Package Manager (RPM) is
a toolset used to build and manage
software packages on UNIX systems.
• Distributed with the Red Hat Linux
distribution and its derivatives, RPM
also works on any UNIX as it is open
source.
4
5. What is RPM?
• Package management is rather simple in
its principles, though it can be tricky in its
implementations.
• Briefly, it means the managed installation
of software, managing installed software,
and the removal of software packages
from a system in a simplified manner.
5
6. What is RPM?
• RPM arose out of the needs to do this
effectively, and no other meaningful
solution was available.
• RPM uses a proprietary file format, unlike
some other UNIX software package
managers.
6
7. What is RPM?
• This can be problematic if you find
yourself needing to extract one
component from the package and you
don't have the RPM utility handy.
• Luckily a tool like Alien exists to convert
from RPM to other formats. It can be
possible, through tools like Alien, to get to
a file format you can manage using, say,
tar or ar.
7
8. What is RPM?
• The naming scheme of RPM files is itself a
standardized convention.
• RPMs have the format (name)-(version)-
(build).(platform).rpm.
• For example, the name cat-2.4-7.i386.rpm
would mean an RPM for the utility "cat"
version 2.4, build 7 for the x86. When the
platform name is replaced by "src", it's a
source RPM.
8
9. Why Package
Management...?
• At first glance you may say to yourself, "I
can manage this myself. It's not that many
components ..." In fact, for something as
small as, say, cat, which has one
executable and one man page, this may
be so.
9
10. Why Package
Management...?
• But consider, say, KDE, which has a
mountain of components, dependencies,
and likes to stick them everywhere.
Keeping track of it all would be tough, if
not impossible.
10
11. Why Package
Management...?
• Package management makes it all easier.
By letting a program maintain the
information about the binaries, their
configuration files, and everything else
about them, you can identify which ones
are installed, remove them easily or
upgrade them readily, as well.
11
12. Why Package
Management...?
• Installation becomes a snap. You select
what you want, and ask the system to take
care of the dirty work for you. Unpack the
program, ensure that there is space, place
things in the right order, and set them up
for you. It's great, it's like having a valet
take care of your car when you go to a
restaraunt.
12
14. Why Package
Management...?
• Management of installed packages is also
greatly facilitated by a good package
management system. It keeps a full list of
software installed, which is useful to see if
you have something installed. More
importantly, it makes upgrading a breeze.
14
17. Installation Using RPM
• This is the most basic RPM function, and
one of the most popular: the installation of
new software packages using RPM. To do
this, give rpm the -i flag and point it to an
RPM:
# rpm -i (package)
17
18. Installation Using RPM
• This will install the package if all goes well
and send you back to a command prompt
without any messages. Pretty boring, and
worse if you want to know what happened
you're out of luck. Use the -v flag to turn
on some verbosity:
# rpm -iv (package)
18
19. Installation Using RPM
• All that gets printed out is the package
name, but no statistics on the progress or
what it did. You can get a hash marked
output of the progress is you use the -h
flag. People seem to like using -ivh
together to get a "pretty" output:
# rpm -ivh (package)
19
20. Installation Using RPM
• For example, In the MySQL-client-3.23.57-
1.i386.rpm file:
MySQL-client – Package Name
3.23.57 – Version
1 – Release
i386 – Architecture
20
23. Installation Using RPM
• Sometimes RPM will whine about a
dependency which is installed but isn't
registered. Perhaps you installed it not
using an RPM for the package (ie
OpenSSL). To get around this, you can
force it to ignore dependencies:
• rpm -ivv --nodeps (package)
23
24. Installation Using RPM
• On rare occassion RPM will mess up and
insist that you have a package installed
when you don't. While this is usually a sign
that something is amiss, it can be worked
around. Just force the installation:
• rpm -ivv --force (package)
24
26. Installation Using RPM
• To identify whether a particular rpm
package is installed on your system,
combine rpm and grep command as
shown below. Following command checks
whether cdrecord package is installed on
your system.
# rpm -qa | grep 'cdrecord'
26
29. Installation Using RPM
4) Query RPM Packages in a various
format using rpm –queryformat
• Rpm command provides an option –
queryformat, which allows you to give the
header tag names, to list the packages.
Enclose the header tag with in {}.
29
31. Installation Using RPM
5) Which RPM package does a file belong
to? – Use rpm –qf
• Let us say, you have list of files and you
would want to know which package owns
all these files. rpm command has options
to achieve this.
• The following example shows that
/usr/bin/mysqlaccess file is part of the
MySQL-client-3.23.57-1 rpm.
31
33. Installation Using RPM
6) Locate documentation of a package that
owns file using rpm –qdf
• Use the following to know the list of
documentations, for a package that owns
a file. The following command, gives the
location of all the manual pages related to
mysql package.
33
35. Installation Using RPM
7) Information about Installed RPM Package
using rpm -qi
• rpm command provides a lot of
information about an installed pacakge
using rpm -qi as shown below:
35
37. Installation Using RPM
• If you have an RPM file that you would like
to install, but want to know more
information about it before installing, you
can do the following:
37
40. Installation Using RPM
8) List all the Files in a Package using rpm –
qlp
• To list the content of a RPM package, use
the following command, which will list out
the files without extracting into the local
directory folder.
40
43. Installation Using RPM
10) Find out the state of files in a package
using rpm –qsp
The following command is to find state
(installed, replaced or normal) for all the
files in a RPM package.
43
45. Installation Using RPM
11)Verify a Particular RPM Package using
rpm –Vp
Verifying a package compares information
about the installed files in the package
with information about the files taken
from the package metadata stored in the
rpm database. In the following command,
-V is for verification and -p option is used
to specify a package name to verify.
45
48. Installation Using RPM
• 12. Verify a Package Owning file using
rpm -Vf
• The following command verify the
package which owns the given filename.
48
49. Installation Using RPM
• 13. Upgrading a RPM Package using rpm
–Uvh
• Upgrading a package is similar to
installing one, but RPM automatically un-
installs existing versions of the package
before installing the new one. If an old
version of the package is not found, the
upgrade option will still install it.
49
51. Installation Using RPM
• 14. Uninstalling a RPM Package using
rpm -e
• To remove an installed rpm package using
-e as shown below. After uninstallation,
you can query using rpm -qa and verify
the uninstallation.
51
52. Installation Using RPM
• 15. Verifying all the RPM Packages using
rpm -Va
• The following command verifies all the
installed packages.
52