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 | |
---|---|
Difficulty | Easy (rss) |
Root privileges | No |
Requirements | None |
Time | 1m |
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
- HowTo: Extract an RPM Package Files Without Installing It
- rpm command cheat sheet
- Man pages: repoquery(1)
🐧 Please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 7 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
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
Thanks Vivek, great writeup, saved me from staring at the man page.
If you want explicit output (owner, permision, etc) you can use:
> rpm2cpio | cpio -tv
Good one ‘ala2200’
Thanks Vivek, great writeup, saved me from staring at the man page.
I take it, this:
$ rpm -qlp rpm -qlp gnupg-1.4.5-1.i386.rpm
should be this:
$ rpm -qlp gnupg-1.4.5-1.i386.rpm
Yes?
Yes, that’s correct, it should be
$ rpm -qlp gnupg-1.4.5-1.i386.rpm