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.
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
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,
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?
Hi @WarrenUK ,
I see I have some of the rpm files, these the system has updated:
[[email protected] 7]# pwd
[[email protected] 7]#
[[email protected] 7]# find . -name "*.rpm"
[[email protected] 7]#
If you want to get the rpm file without installing it (to play with it), you can do the following:
yum install --downloadonly
[[email protected] ~]# yum install --downloadonly chromium
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 k
Install 1 Package (+5 Dependent packages)
Once that they have been downloaded, you will see them here:
[[email protected] packages]# pwd
[[email protected] packages]# ls
I hope that helps.
Many thanks Luis.
It's a pleasure!