Chapter 5. Installing RHEL 8 content


In the following sections, learn how to install content in Red Hat Enterprise Linux 8 by using YUM.

5.1. Installing packages

If a software is not part of the default installation, you can manually install it. YUM automatically resolves and installs dependencies.

Prerequisites

Procedure

  • Use one of the following methods to install packages:

    • To install packages from the repositories, enter:

      # yum install <package_name_1> <package_name_2> ...

      If you install packages on a system that supports multiple architectures, such as AMD64 and Intel 64, you can specify the architecture of the package by appending it to the package name:

      # yum install <package_name>.<architecture>
    • To install a package if you only know the path to the file the package provides but not the package name, you can use this path to install the corresponding package:

      # yum install <path_to_file>
    • To install a local RPM file, enter:

      # yum install <path_to_RPM_file>

      If the package has dependencies, specify the paths to these RPM files as well. Otherwise, YUM downloads the dependencies from the repositories or fails if they are not available in the repositories.

Additional resources

5.2. Installing package groups

Package groups bundle multiple packages, and you can use package groups to install all packages assigned to a group in a single step.

Procedure

  • Use one of the following methods to install a package group:

    • To install a package group by a group name, enter one of the following commands::

      # yum group install <group_name>
      # yum install @<group_name>
    • To install a package group by the groupID, enter:

      # yum group install <group_ID>

5.3. Enabling a module stream

If the package you want to install is provided by a module stream, you must enable the respective module stream.

Note

If the package is provided by a module stream marked as default, yum automatically enables that module stream before installing this package.

Important

It is recommended to always select a specific module stream for installation. Always consider each stream’s life cycle.

Note that certain default module streams reach the End of Life status prior to the end of the RHEL major release.

Procedure

  • Enable the module stream:

    # yum module enable <module_name>:<stream>
    Note

    If another stream of the module was previously active because it was default, it becomes inactive.

5.4. Installing modular content

For certain software, Red Hat provides modules. You can use modules to install a specific version (stream) and set of packages (profiles).

Important

Always consider the module stream’s life cycle.

Prerequisites

  • You do not have any packages installed from another stream of the same module.

Procedure

  1. List modules that provide the package you want to install:

    # yum module list <module_name>

    For example, to list modules that provide the postgresql-server package, enter:

    $ yum module list postgresql
    Name        Stream  Profiles            Summary
    postgresql  9.6     client, server [d]  PostgreSQL server and client module
    postgresql  10 [d]  client, server [d]  PostgreSQL server and client module
    postgresql  12      client, server [d]  PostgreSQL server and client module
    postgresql  13      client, server [d]  PostgreSQL server and client module
    postgresql  15      client, server [d]  PostgreSQL server and client module
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

    The output shows that the postgresql module is available with streams 9.6, 10, 12, 13, and 15. The default stream is 10 ([d]).

  2. Install a selected module stream:

    # yum module install <module-name>:<stream>/<profile>

    If a default profile for a stream is defined, you can omit /<profile> in the command to install this default profile of the stream.

    For example, to install the default profile (server) for stream 13 of the postgresql module, enter:

    # yum module install postgresql:13
    ...
    Dependencies resolved.
    ===================================================================================================================
     Package                  Architecture  Version                                        Repository             Size
    ===================================================================================================================
    Installing group/module packages:
     postgresql-server        x86_64        13.10-1.module+el8.7.0+18279+1ca8cf12          rhel-AppStream        5.6 M
    Installing dependencies:
     libicu                   x86_64        60.3-2.el8_1                                   rhel                  8.8 M
     libpq                    x86_64        13.5-1.el8                                     rhel-AppStream        198 k
     postgresql               x86_64        13.10-1.module+el8.7.0+18279+1ca8cf12          rhel-AppStream        1.5 M
    Installing module profiles:
     postgresql/server
    Enabling module streams:
     postgresql                             13

Verification

  • Verify that the correct module stream is enabled ([e]) and the required profile was installed ([i]):

    # yum module list postgresql
    ...
    Name                Stream          Profiles                       Summary
    postgresql          9.6             client, server [d]             PostgreSQL server and client module
    postgresql          10 [d]          client, server [d]             PostgreSQL server and client module
    postgresql          12              client, server [d]             PostgreSQL server and client module
    postgresql          13 [e]          client, server [d] [i]         PostgreSQL server and client module
    postgresql          15              client, server [d]             PostgreSQL server and client module
    postgresql          16              client, server [d]             PostgreSQL server and client module
    
    Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

5.5. Specifying package details for installation

You can specify package details for a precise package installation process. To do so, append the following suffixes to the yum install command to explicitly define how to parse an argument:

  • Use -n to specify the exact name of the package.
  • Use -na to specify the exact package name and architecture.
  • Use -nevra to specify the exact package name, epoch, version, release, and architecture.

Procedure

  • Depending on your scenario, use one of the following options to optimize the package installation process:

    • To install a package by using its exact name, enter:

      # yum install-n <package_name>
    • To install a package by using its exact name and architecture, enter:

      # yum install-na <package_name>.<architecture>
    • To install a package by using its exact name, epoch, version, release, and architecture, enter:

      # yum install-nevra <package_name>-<epoch>:<version>-<release>.<architecture>

5.6. Additional resources

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.

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.

© 2024 Red Hat, Inc.