Chapter 4. Searching for RHEL 8 content


In the following sections, learn how to locate and examine content in the AppStream and BaseOS repositories in Red Hat Enterprise Linux 8 by using YUM.

4.1. Searching for software packages

To identify which package provides the software you require, you can use YUM to search the repositories.

Procedure

  • Depending on your scenario, use one of the following options to search the repository:

    • To search for a term in the name or summary of packages, enter:

      $ yum search <term>
      Copy to Clipboard
    • To search for a term in the name, summary, or description of packages, enter:

      $ yum search --all <term>
      Copy to Clipboard

      Note that searching additionally in the description by using the --all option is slower than a normal search operation.

4.2. Listing software packages

You can use YUM to display a list of packages and their versions that are available in the repositories.

Procedure

  • List the latest versions of all available packages, including architectures, version numbers, and the repository they where installed from:

    $ yum list --all
    ...
    cups.x86_64           1:2.2.6-57.el8       @rhel-AppStream
    cups-client.x86_64    1:2.2.6-57.el8       @rhel-AppStream
    cups-devel.i686       1:2.2.6-57.el8       rhel-AppStream
    cups-devel.x86_64     1:2.2.6-57.el8       rhel-AppStream
    ...
    Copy to Clipboard

    The @ sign in front of a repository indicates that the package in this line is currently installed.

    Alternatively, to display all available packages, including version numbers and architectures, enter:

    $ yum list --all
    ...
    cups-1:2.2.6-57.el8.x86_64
    cups-client-1:2.2.6-57.el8.x86_64
    cups-devel-1:2.2.6-57.el8.i686
    cups-devel-1:2.2.6-57.el8.x86_64
    ...
    Copy to Clipboard

    Optionally, you can filter the output by using other options instead of --all, for example:

    • Use --installed to list only installed packages.
    • Use --available to list all available packages.
    • Use --upgrades to list packages for which newer versions are available.
Note

You can filter the results by appending global expressions as arguments. For more information, see Specifying global expressions in yum input.

4.3. Listing repositories

To get an overview of repositories that are enabled and disabled on your system, you can list them.

Procedure

  1. List all enabled repositories on your system,:

    # yum repolist
    Copy to Clipboard

    To display only certain repositories, append one of the following options to the command:

    • Append --disabled to list only disabled repositories.
    • Append --all to list both enabled and disabled repositories.
  2. Optional: List additional information about the repositories:

    # yum repoinfo <repository_name>
    Copy to Clipboard
    Note

    You can filter the results by appending global expressions as arguments. For more information, see Specifying global expressions in yum input.

4.4. Displaying package information

You can query YUM repositories to display further details about a package, such as the following:

  • Version
  • Release
  • Architecture
  • Package size
  • Description

Procedure

  • Display information about one or more available packages:

    # yum info <package_name>
    Copy to Clipboard

    This command displays the information for the currently installed package and, if available, its newer versions that are in the repository.

Note

You can filter the results by appending global expressions as arguments. For more information, see Specifying global expressions in yum input.

4.5. Listing package groups and packages they provide

Package groups bundle multiple packages, and you can use package groups to install all packages assigned to a group in a single step. However, before the installation, you must identify the name of the required package group.

Procedure

  1. List both installed and available groups:

    # yum group list
    Copy to Clipboard

    Note that you can filter the results by appending the --installed and --available option to the yum group list command. By using the --hidden option, you can display hidden groups in the output.

  2. List mandatory, optional, and default packages contained in a particular group:

    # yum group info <group_name>
    Copy to Clipboard
    Note

    You can filter the results by appending global expressions as arguments. For more details, see Specifying global expressions in yum input.

  3. Optional: View the number of installed and available groups:

    # yum group summary
    Copy to Clipboard

4.6. Listing available modules and their contents

By searching for modules and displaying information about them with YUM, you can identify which modules are available in the repositories and select the appropriate stream before you install a module.

Procedure

  1. List the module information in one of the following ways:

    • List all available modules:

      $ yum module list
      Name         Stream   Profiles                                Summary
      ...
      nodejs       18       common [d], development, minimal, s2i   Javascript runtime
      postgresql   15       client, server [d]                      PostgreSQL server and client module
      ...
      
      Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
      Copy to Clipboard

      Use the yum module list <module_name> command to list the same information but only for a specific module.

    • Search for which module provides a certain package:

      $ yum module provides <package_name>
      Copy to Clipboard

      For example, to display which module and profiles provide the npm package, enter:

      $ yum module provides npm
      ...
      npm-1:8.19.4-1.16.20.2.4.module+el8.9.0+21536+8fdee1fb.x86_64
      Module   : nodejs:16:8090020240315081818:a75119d5:x86_64
      Profiles : common development s2i
      Repo     : rhel-AppStream
      Summary  : Javascript runtime
      ...
      Copy to Clipboard
  2. Use one of these methods to list module details:

    • List all details about a module, including a description, list of all profiles, and a list of all packages the module provides:

      $ yum module info <module_name>
      Copy to Clipboard

      For example, to display details about the nodejs module, enter:

      $ yum module info nodejs
      ...
      Name             : nodejs
      Stream           : 20
      Version          : 8090020240228165436
      Context          : a75119d5
      Architecture     : x86_64
      Profiles         : common [d], development, minimal, s2i
      Default profiles : common
      Repo             : rhel-AppStream
      Summary          : Javascript runtime
      Description      : Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
      Requires         : platform:[el8]
      Artifacts        : nodejs-1:20.11.1-1.module+el8.9.0+21380+12032667.src
                       : nodejs-1:20.11.1-1.module+el8.9.0+21380+12032667.x86_64
      ...
      Copy to Clipboard
    • List which packages each module profile installs:

      $ yum module info --profile <module_name>
      Copy to Clipboard
      Note

      Each of the profiles installs a different set of packages, including their dependencies.

      For example, to display this information for the nodejs module, enter:

      $ yum module info --profile nodejs
      ...
      Name        : nodejs:18:8090020240301110609:a75119d5:x86_64
      common      : nodejs
                  : npm
      development : nodejs
                  : nodejs-devel
                  : npm
      minimal     : nodejs
      s2i         : nodejs
                  : nodejs-nodemon
                  : npm
      ...
      Copy to Clipboard

4.7. Specifying global expressions in YUM input

You can filter the results of yum commands by appending one or more global expressions as arguments.

Procedure

  • Use one of the following methods if you use global expressions in yum commands:

    • Enclose the entire global expression in single or double quotation marks:

      # yum provides "*/<file_name>"
      Copy to Clipboard

      Note that you must precede <file_name> either by a backslash (/) character for an absolute path or */ to use a wildcard if the full path is unknown.

    • Escape the wildcard characters by preceding them with a backslash (\) character:

      # yum provides \*/<file-name>
      Copy to Clipboard
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat