What Files Are In a RPM Package?

by on January 24, 2007 · 5 comments· LAST UPDATED January 16, 2014

in , ,

How do I find out what files are in RPM package called gnupg using command line option? How do I list the contents of a package using rpm or yum command on CentOS/RHEL/Fedora/Red Hat/OpenSuse/Novell Suse Linux?

You can use rpm command (rpm command) itself to list the files inside a RPM package. rpm is a powerful Package Manager, which can be used to build, install, query, verify, update, and erase individual software packages. A package consists of an archive of files and meta-data used to install and erase the archive files.
Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsNone
Estimated completion time1m

rpm: Find out what files are in my rpm package

Use following syntax to list the files for already INSTALLED package:
rpm -ql package-name

Use following syntax to list the files for RPM package:
rpm -qlp package.rpm

Type the following command to list the files for gnupg*.rpm package file:
$ rpm -qlp rpm -qlp gnupg-1.4.5-1.i386.rpm
Sample outputs:

/usr/bin/gpg
/usr/bin/gpgsplit
/usr/bin/gpgv
/usr/bin/lspgpot
/usr/lib64/gnupg
/usr/lib64/gnupg/gpgkeys_ldap
/usr/lib64/gnupg/gpgkeys_mailto
/usr/share/doc/gnupg-1.2.6
/usr/share/doc/gnupg-1.2.6/AUTHORS
/usr/share/doc/gnupg-1.2.6/BUGS
/usr/share/doc/gnupg-1.2.6/COPYING
/usr/share/doc/gnupg-1.2.6/ChangeLog
/usr/share/doc/gnupg-1.2.6/DETAILS
/usr/share/doc/gnupg-1.2.6/HACKING
/usr/share/doc/gnupg-1.2.6/INSTALL
/usr/share/doc/gnupg-1.2.6/NEWS
....
..
...

In this example, list files in a installed package called ksh:
$ rpm -ql ksh
Sample outputs:

/bin/ksh
/bin/ksh93
/etc/kshrc
/etc/skel/.kshrc
/usr/share/doc/ksh-20120801
/usr/share/doc/ksh-20120801/COMPATIBILITY
/usr/share/doc/ksh-20120801/ChangeLog
/usr/share/doc/ksh-20120801/README
/usr/share/doc/ksh-20120801/RELEASE
/usr/share/man/man1/ksh.1.gz
/usr/share/man/man1/ksh93.1.gz

List the contents of a package using yum command

You need to install yum-utils package and use a command called repoquery to list the contents of a rpm package file:
$ repoquery -q -l --plugins ksh

/bin/ksh
/bin/ksh93
/etc/kshrc
/etc/skel/.kshrc
/usr/share/doc/ksh-20120801
/usr/share/doc/ksh-20120801/COMPATIBILITY
/usr/share/doc/ksh-20120801/ChangeLog
/usr/share/doc/ksh-20120801/README
/usr/share/doc/ksh-20120801/RELEASE
/usr/share/man/man1/ksh.1.gz
/usr/share/man/man1/ksh93.1.gz
See also
  1. HowTo: Extract an RPM Package Files Without Installing It
  2. rpm command cheat sheet
  3. Man pages: rpm(8), yum(8), repoquery(1)
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 5 comments… read them below or add one }

1 Obaid H. Mnee August 27, 2009 at 7:46 am

dear Sir,
I have some problems while installing the oracle on linux Enterprse 5
I hope you can help me with a list of needed RPM files to pass this probmes

regards,
Husam

Reply

2 Simon Smith January 5, 2010 at 3:41 pm

Thanks Vivek, great writeup, saved me from staring at the man page.

Reply

3 ala2200 October 26, 2011 at 9:34 am

If you want explicit output (owner, permision, etc) you can use:
> rpm2cpio | cpio -tv

Reply

4 Ashok April 23, 2012 at 4:10 am

Good one ‘ala2200′

Reply

5 dixit November 4, 2011 at 7:28 am

Thanks Vivek, great writeup, saved me from staring at the man page.

Reply

Leave a Comment

Tagged as: , ,

Previous Faq:

Next Faq: