Welcome to the new Linux Foundation Forum!

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

  • lee42xlee42x Posts: 128

    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

  • coopcoop Posts: 343

    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,

  • WarrenUKWarrenUK Posts: 20

    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?

  • luisviveropenaluisviveropena Posts: 368
    edited January 29

    Hi @WarrenUK ,

    I see I have some of the rpm files, these the system has updated:

    [[email protected] 7]# pwd
    /var/cache/yum/x86_64/7
    [[email protected] 7]#
    [[email protected] 7]# find . -name "*.rpm"
    ./updates/packages/bpftool-3.10.0-1062.9.1.el7.x86_64.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

    For example:

    [[email protected] ~]# 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 k

    Transaction Summary

    Install 1 Package (+5 Dependent packages)

    Once that they have been downloaded, you will see them here:

    [[email protected] packages]# pwd
    /var/cache/yum/x86_64/7/epel/packages

    [[email protected] 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.rpm

    I hope that helps.

    Regards,
    Luis.

  • WarrenUKWarrenUK Posts: 20

    Many thanks Luis.

  • It's a pleasure!

Sign In or Register to comment.