Chapter 2. Discovering content in Application Stream

The following sections describe how to discover content in Application Stream in Red Hat Enterprise Linux 8.

2.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

2.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: If desired, display details about packages installed by each of module’s 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

2.3. Example: Finding out details about a module

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

Procedure

  1. List available modules:

    $ yum module list
    Name      Stream     Profiles                     Summary
    (...)
    php       7.1        devel, minimal,  PHP scripting language
                         default [d]
    php       7.2 [d]    devel, minimal,  PHP scripting language
                         default [d]
    (...)
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
  2. Examine details of the php module:

    $ yum module info php
    Name             : php
    Stream           : 7.2 [d]
    Version          : 20181010120239
    Context          : 76554e01
    Profiles         : devel, minimal, default [d]
    Default profiles : default
    Repo             : appstream-8
    Summary          : PHP scripting language
    Description      : php 7.2 module
    Artifacts        : apcu-panel-0:5.1.12-1.el8+1544+98b86041.noarch
                     : libzip-0:1.5.1-1.el8+1544+98b86041.x86_64
                     : libzip-devel-0:1.5.1-1.el8+1544+98b86041.x86_64
                     : libzip-tools-0:1.5.1-1.el8+1544+98b86041.x86_64
                     : php-0:7.2.11-1.el8+2002+9409c40c.x86_64
                     : php-bcmath-0:7.2.11-1.el8+2002+9409c40c.x86_64
    (...)
    Name             : php
    Stream           : 7.1
    Version          : 820181025145012
    Context          : 76554e01
    Profiles         : devel, minimal, default [d]
    Default profiles : default
    Repo             : appstream-8
    Summary          : PHP scripting language
    Description      : php 7.1 module
    Artifacts        : apcu-panel-0:5.1.11-1.el8+1543+e18ce76f.noarch
                     : libzip-0:1.5.1-1.el8+1543+e18ce76f.x86_64
                     : libzip-devel-0:1.5.1-1.el8+1543+e18ce76f.x86_64
                     : libzip-tools-0:1.5.1-1.el8+1543+e18ce76f.x86_64
                     : php-0:7.1.20-2.el8+1700+11d526eb.x86_64
                     : php-bcmath-0:7.1.20-2.el8+1700+11d526eb.x86_64
    (...)

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

  3. Examine profiles available in stream 7.2 of the php module:

    $ yum module info --profile php:7.2
    (...)
    Name    : php:7.2:20181010120239:76554e01:x86_64
    devel   : libzip
            : php-cli
            : php-common
            : php-devel
            : php-fpm
            : php-json
            : php-mbstring
            : php-pear
            : php-pecl-zip
            : php-process
            : php-xml
    minimal : php-cli
            : php-common
    default : php-cli
            : php-common
            : php-fpm
            : php-json
            : php-mbstring
            : php-xml

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

  4. Install the php module using the default stream 7.2 and profile default:

    # yum install @php
    Dependencies resolved.
    ===============================================================================
     Package            Arch     Version                       Repository     Size
    ===============================================================================
    Installing group/module packages:
     php-cli            x86_64   7.2.11-1.el8+2002+9409c40c    appstream-8   3.1 M
     php-fpm            x86_64   7.2.11-1.el8+2002+9409c40c    appstream-8   1.6 M
    Installing dependencies:
     nginx-filesystem   noarch   1:1.14.0-3.el8+1631+ba902cf0  appstream-8    23 k
    Installing module profiles:
     php/default
    Enabling module streams:
     httpd                       2.4
     nginx                       1.14
     php                         7.2
    
    Transaction Summary
    ===============================================================================
    Install  3 Packages
    
    Total download size: 4.7 M
    Installed size: 15 M
    Is this ok [y/N]: y
    (...)

    The stream 7.2 is enabled and packages in its profile default installed.

  5. Inspect the current status of the php module:

    $ yum module list php
    Name    Stream        Profiles                          Summary
    php     7.1           devel, minimal, default [d]       PHP scripting language
    php     7.2 [d][e]    devel, minimal, default [d] [i]   PHP scripting language
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

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

2.4. Commands for listing content

This section lists commonly used commands for finding content and its details in Application Stream.

Command list

List available packages
$ yum list available
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