Chapter 3. Finding RHEL 8 content

The following sections describe how to locate and examine content in the AppStream and BaseOS repositories in Red Hat Enterprise Linux 8.

3.1. Searching for a package

This section describes steps needed for finding a package providing a particular application or other content.

Prerequisites

  • Name of the desired application or content must be known

Procedure

  1. Search for a package with a text string, such as application name:

    $ yum search "text string"
  2. View details about a package:

    $ yum info package

3.2. Listing available modules

This section describes steps needed for finding what modules are available and what their details are.

Procedure

  1. List module streams available to your system:

    $ yum module list

    The output of this command lists module streams with name, stream, profiles, and summary on a separate line.

  2. Display details about a module, including a description, a list of all profiles, and a list of all provided packages:

    $ yum module info module-name
  3. Optional: You can also list which of these packages are installed by each of module profiles:

    $ yum module info --profile module-name
  4. Display the current status of a module, including enabled streams and installed profiles:

    $ yum module list module-name

Example 3.1. Finding out details about a module

This example shows how to locate a module in the AppStream repository and how to find out more about its contents.

Note

The outputs in this example have been edited for brevity. Actual outputs may contain more information than shown here.

Procedure

  1. List available modules:

    $ yum module list
    Name        Stream  Profiles    Summary
    (...)
    postgresql  9.6     client,     PostgreSQL server and client module
                        server [d]
    postgresql  10 [d]  client,     PostgreSQL server and client module
                        server [d]
    postgresql  12      client,     PostgreSQL server and client module
                        server [d]
    (...)
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
  2. Examine details of the postgresql module:

    $ yum module info postgresql
    
    Name             : postgresql
    Stream           : 10 [d][a]
    Version          : 820190104140132
    Context          : 9edba152
    Profiles         : client, server [d]
    Default profiles : server
    Repo             : appstream
    Summary          : PostgreSQL server and client module
    Description      : (...)
    (...)
    
    Name             : postgresql
    Stream           : 12
    Version          : 8010120191120141335
    Context          : e4e244f9
    Profiles         : client, server [d]
    Default profiles : server
    Repo             : appstream
    Summary          : PostgreSQL server and client module
    Description      : (...)
    (...)
    
    Name             : postgresql
    Stream           : 9.6
    Version          : 820190104140337
    Context          : 9edba152
    Profiles         : client, server [d]
    Default profiles : server
    Repo             : appstream
    Summary          : PostgreSQL server and client module
    Description      : (...)
    (...)
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive

    Because no stream is specified, all streams are used for the listing.

  3. Examine profiles available in stream 10 of the postgresql module:

    $ yum module info --profile postgresql:10
    (...)
    Name   : postgresql:10:820190104140132:9edba152:x86_64
    client : postgresql
    server : postgresql-server

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

  4. Install the postgresql module using the default stream 10 and profile server:

    # yum module install postgresql
    Dependencies resolved.
    ====================================================================
     Package           Version                         Repository Size
    ====================================================================
    Installing group/module packages:
     postgresql-server 10.6-1.module+el8+2469+5ecd5aae appstream  5.1 M
    Installing dependencies:
     libpq             10.5-1.el8                      appstream  188 k
     postgresql        10.6-1.module+el8+2469+5ecd5aae appstream  1.5 M
    Installing module profiles:
     postgresql/server
    Enabling module streams:
     postgresql               10
    
    Transaction Summary
    ====================================================================
    Install  3 Packages
    
    Total download size: 6.7 M
    Installed size: 27 M
    Is this ok [y/N]: y
    (...)

    The stream 10 is enabled and packages in its profile server installed.

  5. Inspect the current status of the postgresql module:

    $ yum module list postgresql
    Name       Stream    Profiles                Summary
    postgresql 9.6       client, server [d]      (...)
    postgresql 10 [d][e] client, server [d] [i]  (...)
    postgresql 12        client, server [d]      (...)
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

    The output shows that the default stream 10 is enabled and its profile server is installed.

3.3. Commands for listing content

Following are the commonly used commands for finding content and its details.

List available packages
$ yum list available
Search available YUM repositories for a selected package
$ yum repoquery package
Search for a package using arbitrary text string
$ yum search "text string"
Display details for a package
$ yum info package
Find out which modules provide a package
$ yum module provides package

If the package is available outside any modules, the output of this command is empty.

List available modules
$ yum module list
Display details of a module
$ yum module info module-name
List packages installed by profiles of a module using the default stream
$ yum module info --profile module-name
Display packages installed by profiles of a module using a specified stream
$ yum module info --profile module-name:stream
Display the current status of a module
$ yum module list module-name