linux16 rpm

54
Red Hat Packag e Manage r RPM 1

Upload: jainul-musani

Post on 18-May-2015

330 views

Category:

Education


2 download

DESCRIPTION

RedHat Package Management

TRANSCRIPT

Page 1: Linux16 RPM

Red HatPackageManager

RPM1

Page 2: Linux16 RPM

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

Page 3: Linux16 RPM

What is RPM?• With root privilege, you can use the

rpm command with appropriate options to manage the RPM software packages.

3

Page 4: Linux16 RPM

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

Page 5: Linux16 RPM

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

Page 6: Linux16 RPM

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

Page 7: Linux16 RPM

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

Page 8: Linux16 RPM

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

Page 9: Linux16 RPM

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

Page 10: Linux16 RPM

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

Page 11: Linux16 RPM

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

Page 12: Linux16 RPM

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

Page 13: Linux16 RPM

Why Package Management...?

•  Dependencies, or additional requirements for a software package, are also managed seamlessly by a good package manager.

13

Page 14: Linux16 RPM

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

Page 15: Linux16 RPM

Why Package Management...?

•  Lastly, this makes verification of a software package quite easy to do. By knowing what packages are installed, and what the properties of the components are, you can quickly diagnose a problem and hopefully fix it quickly.

15

Page 16: Linux16 RPM

Why Package Management...?

•  Lastly, this makes verification of a software package quite easy to do. By knowing what packages are installed, and what the properties of the components are, you can quickly diagnose a problem and hopefully fix it quickly.

16

Page 17: Linux16 RPM

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

Page 18: Linux16 RPM

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

Page 19: Linux16 RPM

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

Page 20: Linux16 RPM

Installation Using RPM

• For example, In the MySQL-client-3.23.57-1.i386.rpm file:

MySQL-client – Package Name3.23.57 – Version1 – Releasei386 – Architecture

20

Page 21: Linux16 RPM

Installation Using RPM

1) The following rpm command installs Mysql client package.

# rpm -ivh MySQL-client-3.23.57-1.i386.rpm

Preparing...#################################### [100%]

1:MySQL-client ############################## [100%]

21

Page 22: Linux16 RPM

Installation Using RPM

rpm command and options

• -i : install a package

• -v : verbose

• -h : print hash marks as the package archive is unpacked.

22

Page 23: Linux16 RPM

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

Page 24: Linux16 RPM

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

Page 25: Linux16 RPM

Installation Using RPM

2) Query all the RPM Packages using rpm –qa

• -q query operation

• -a queries all installed packages

25

Page 26: Linux16 RPM

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

Page 27: Linux16 RPM

Installation Using RPM

3) Query a Particular RPM Package using rpm -q

• The above example lists all currently installed package. After installation of a package to check the installation, you can query a particular package and verify as shown below:

27

Page 28: Linux16 RPM

Installation Using RPM

28

Page 29: Linux16 RPM

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

Page 30: Linux16 RPM

Installation Using RPM

30

Page 31: Linux16 RPM

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

Page 32: Linux16 RPM

Installation Using RPM

32

Page 33: Linux16 RPM

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

Page 34: Linux16 RPM

Installation Using RPM

34

Page 35: Linux16 RPM

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

Page 36: Linux16 RPM

Installation Using RPM

36

Page 37: Linux16 RPM

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

Page 38: Linux16 RPM

Installation Using RPM

38

Page 39: Linux16 RPM

Installation Using RPM

-i : view information about an rpm

-p : specify a package name

39

Page 40: Linux16 RPM

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

Page 41: Linux16 RPM

Installation Using RPM

41

Page 42: Linux16 RPM

Installation Using RPM

9) List the Dependency Packages using rpm –qRP

42

Page 43: Linux16 RPM

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

Page 44: Linux16 RPM

Installation Using RPM

44

Page 45: Linux16 RPM

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

Page 46: Linux16 RPM

Installation Using RPM

46

Page 47: Linux16 RPM

47

Page 48: Linux16 RPM

Installation Using RPM

• 12. Verify a Package Owning file using rpm -Vf

• The following command verify the package which owns the given filename.

48

Page 49: Linux16 RPM

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

Page 50: Linux16 RPM

Installation Using RPM

50

Page 51: Linux16 RPM

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

Page 52: Linux16 RPM

Installation Using RPM

• 15. Verifying all the RPM Packages using rpm -Va

• The following command verifies all the installed packages.

52

Page 53: Linux16 RPM

Installation Using RPM

53

Page 54: Linux16 RPM

Bibliography

1) http://linuxgazette.net/68/nazario.html

2) http://www.thegeekstuff.com/2010/07/rpm-command-examples/

3) http://linuxtutorial.info/modules.php?name=Howto&pagename=RPM-HOWTO/intro.html