CentOS - where are rpm packages stored?
Hi.
I'm learning some rpm commands. I want to run:
$ rpm -q --whatprovides
$ rpm -q --requires
but I do not know where the rpm packages are installed on my installation.
Thanks.
Comments
-
Good morning,
The short answer is packages that are downloaded and installed are usually left in the "yum cache"
( ls /var/cache/yum/x86_64/7/*/packages ) directories, assuming one has not run "yum clean --all" which empties the cache.Some additional information is; rpm keeps a database of the installed packages and it is this database that
"rpm -q" runs against. The database is usually in "/var/lib/rpm" directory and is updated by "rpm" and "yum" commands like "rpm -i ", "yum install " or "yum repolist" .There are features in "yum" to scan the package lists from the configured repo's, consider:
"yum list --showduplicates systemd" it will show the locations of the packages, including what is installed."rpm" runs against the database, "yum" uses the database and the repositories.
I hope that helps, Lee
1 -
On most of my systems, yum removes the downloaded packages after they are installed. I guess there is a configuration option about this, but you generally do not have a need for the rpm once it is installed. to empty just the packages you can do "yum clean packages" and leave the rest of the metadata on your system,
0 -
Thanks all.
I check in /var/cache/yum/x86_64/7/*/packages. I cannot see any .rpm files so the OS must have removed them.
So are those command in my OP kind of redundant if CentOS removes the downloaded packages after install? Would I have to physically download an .rpm package and run the command on the package to see the output?
0 -
Hi @WarrenUK ,
I see I have some of the rpm files, these the system has updated:
[root@centos7server 7]# pwd
/var/cache/yum/x86_64/7
[root@centos7server 7]#
[root@centos7server 7]# find . -name "*.rpm"
./updates/packages/bpftool-3.10.0-1062.9.1.el7.x86_64.rpm
[root@centos7server 7]#If you want to get the rpm file without installing it (to play with it), you can do the following:
yum install --downloadonly
For example:
[root@centos7server ~]# yum install --downloadonly chromium
[long output...]
Dependencies Resolved
=====================================================================================
Package Arch Version Repository Size
Installing:
chromium x86_64 79.0.3945.88-1.el7 epel 30 M
Installing for dependencies:
chromium-common x86_64 79.0.3945.88-1.el7 epel 9.9 M
chromium-libs x86_64 79.0.3945.88-1.el7 epel 83 M
chromium-libs-media x86_64 79.0.3945.88-1.el7 epel 2.3 M
minizip x86_64 1.2.7-18.el7 base 34 k
nss-mdns x86_64 0.14.1-1.el7 epel 41 kTransaction Summary
Install 1 Package (+5 Dependent packages)
Once that they have been downloaded, you will see them here:
[root@centos7server packages]# pwd
/var/cache/yum/x86_64/7/epel/packages[root@centos7server packages]# ls
chromium-79.0.3945.88-1.el7.x86_64.rpm
chromium-common-79.0.3945.88-1.el7.x86_64.rpm
chromium-libs-79.0.3945.88-1.el7.x86_64.rpm
chromium-libs-media-79.0.3945.88-1.el7.x86_64.rpm
nss-mdns-0.14.1-1.el7.x86_64.rpmI hope that helps.
Regards,
Luis.0 -
Many thanks Luis.
1 -
It's a pleasure!
0 -
Hi @WarrenUK @luisviveropena actually I tried everything but I am not able to get the path where are all the rpm are getting stored after installing . can u please provide me the solution how to do the changes in configuration so that server Don't delete that one by itself ??
0 -
rpms are kept under /var/cache/dnf while they are installing. On most systems they are removed after successful installation. I don't know why you would want to keep them generally. If you want to know the version etc, you can just do "rpm -qa" to get all packages, or for example "rpm -q bash" to find out one package version.
I don't remember how to force dnf to keep the packages after successful installation but it is probably an obvious option in /etc/dnf/dnf.conf
0 -
To clarify some research I've been doing today: I'm upgrading some machines from Fedora 41 to 42. Running
dnf system-upgrade download --releasever=42today, I discovered that RPMs are now being stored in/usr/lib/sysimage/libdnf5/offline/packages/which is different from where they used to go. I think this is because Fedora switched from DNF 4 to 5. As far as I know, Centos is still on DNF 4, so it should be using the path under/var/cache/dnf. But since I came across this thread while trying to track down the new DNF 5 behavior, I figured I'd leave a note.0 -
Hi @Garrett.Mitchener, the course LFS201 has been discontinued. You can post here instead:
https://forum.linuxfoundation.org/categories/lfs207-class-forum
Regards,
Luis.0
Categories
- All Categories
- 175 LFX Mentorship
- 175 LFX Mentorship: Linux Kernel
- 745 Linux Foundation IT Professional Programs
- 372 Cloud Engineer IT Professional Program
- 168 Advanced Cloud Engineer IT Professional Program
- 73 DevOps IT Professional Program - Discontinued
- 3 DevOps & GitOps IT Professional Program
- 98 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- AI & ML Training
- Blockchain & Decentralized Identity Training
- Cloud & Containers Training
- Cybersecurity Training
- DevOps & Site-Reliability Training
- Linux Kernel Development Training
- Networking Training
- Open Source Best Practice Training
- System Administration Training
- System Engineering Training
- Web & Application Development Training
- 2 LFD103-JP クラス フォーラム
- 4 LFD210-CN Class Forum
- 764 LFD259 Class Forum
- 681 LFS101 Class Forum
- 2 LFS158-JP クラス フォーラム
- 162 LFS207 Class Forum
- 3 LFS207-DE-Klassenforum
- 4 LFS207-JP クラス フォーラム
- 61 LFS241 Class Forum
- 52 LFS242 Class Forum
- 42 LFS243 Class Forum
- 19 LFS244 Class Forum
- 4 LFS250-JP クラス フォーラム
- 166 LFS253 Class Forum
- 19 LFS256 Class Forum
- 1.4K LFS258 Class Forum
- 165 LFS261 Class Forum
- 26 LFS267 Class Forum
- 792 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 87 Storage
- 768 Linux Distributions
- 81 Debian
- 67 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 105 Mobile Computing
- 18 Android
- 72 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 392 Off Topic
- 121 Introductions
- 181 Small Talk
- 29 Study Material
- 940 Programming and Development
- 310 Kernel Development
- 612 Software Development
- 975 Software
- 367 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)

