Using AppStream with yum in Red Hat Enterprise Linux 8

Introduction

In older Red Hat releases and their media (ISO), the content will be in a single directory which holds all the packages. Presently in RHEL 8 release, the Application Stream and yum are divided into two as “BaseOS” and “AppStream”.

The “BaseOS” repository will have few packages which required for setting up a minimal Operating system. All other packages can be found under “AppStream” repository. Application streams will come with modules and RPM packages. To be clear a set of packages will be a module, it will be the whole set of a package and their dependencies, example “PHP” and their dependencies.

Modules will have multiple streams, Each stream will have a different version of packages and their dependencies. The stream which holds the latest packages will be chosen as default stream. For instance, php7.1 and their dependencies are one stream and php7.2 and their dependencies will be a separate stream.

Even it possible to use a different profile in a module in case if we required to install with any specific set of packages to set up a development machine or production machine.

Still can’t understand AppStream? This may help you.

# yum module install php:7.1/minimal

  • module – They are set of packages
  • php – One of the module
  • :7.1 – One of the Stream = Version
  • /minimal – One of the profile.
Appstream
Yum AppStream

Read more about using Yum

In RHEL 8 By default, it comes with Yum 4.x version and “dnf” will be working on the backend of yum. To perform any installation using module we required to have the idea of using Yum, Let’s start with running yum commands with modules. In case if you are new to yum have read from below link.

Running Yum Commands with modules in AppStream

Now it’s time to start running all available modules and profile with Yum command, we will walk through most of the required modules and profile usage in the following guide with examples.

Print the Yum Version

First, let us check what version of Yum and dnf we are using.

# rpm -qa | grep yum
# yum --version

These are the version we are using in RHEL 8.

[root@linuxsysadmins ~]# rpm -qa | grep yum
yum-4.0.4-1.el8.noarch
[root@linuxsysadmins ~]#
[root@linuxsysadmins ~]# yum --version
4.0.4
Installed: dnf-0:4.0.4-1.el8.noarch at Sun 03 Feb 2019 10:02:13 PM GMT
Built : Red Hat, Inc. http://bugzilla.redhat.com/bugzilla at Mon 15 Oct 2018 02:25:44 PM GMT
Installed: rpm-0:4.14.2-4.el8.x86_64 at Sun 03 Feb 2019 10:01:40 PM GMT
Built : Red Hat, Inc. http://bugzilla.redhat.com/bugzilla at Mon 22 Oct 2018 09:19:33 AM GMT
[root@linuxsysadmins ~]#

Listing all available modules in AppStream.

# yum module list

The output of the module list will have Name of each module, Stream, profile and a short summary about the module.

[root@linuxsysadmins ~]# yum module list
Updating Subscription Management repositories.
Unable to read consumer identity
Last metadata expiration check: 0:47:32 ago on Sat 02 Mar 2019 01:15:57 AM +04.
Name Stream Profiles Summary
389-ds 1.4 default 389 Directory Server (base)
App-cpanminus 1.7044 [d] default [d] Get, unpack, build and install CPAN modules
DBD-MySQL 4.046 [d] default [d] A MySQL interface for Perl
DBD-Pg 3.7 [d] default [d] A PostgreSQL interface for Perl
DBD-SQLite 1.58 [d] default [d] SQLite DBI driver
DBI 1.641 [d] default [d] A database access API for Perl
YAML 1.24 [d] default [d] Perl parser for YAML
ant 1.10 [d] default [d] Java build tool
container-tools 1.0 [d] default [d] Common tools and dependencies for container runtimes
freeradius 3.0 [d] server [d] High-performance and highly configurable free RADIUS server
gimp 2.8 [d] devel, default [d] gimp module
go-toolset rhel8 [d] default [d] Go
httpd 2.4 [d] devel, minimal, default [d] Apache HTTP Server
idm DL1 adtrust, client, dns, server, default [d] The Red Hat Enterprise Linux Identity Management system module
idm client [d] default [d] RHEL IdM long term support client module
inkscape 0.92.3 [d] default [d]
javapackages-runtime 201801 [d] default [d] Basic runtime utilities to support Java applications
llvm-toolset rhel8 [d] default [d] LLVM
mailman 2.1 [d] default [d]
mariadb 10.3 [d] client, server, galera, default [d] MariaDB Module
maven 3.5 [d] default [d] Java project management and project comprehension tool
mercurial 4.6 [d] default [d] Mercurial -- a distributed SCM
mod_auth_openidc 2.3 Apache module suporting OpenID Connect authentication
mod_perl 2.0.10 [d] devel, default [d], reload An embedded Perl interpreter for the Apache HTTP Server
mysql 8.0 [d] client, server, default [d] MySQL Module
nginx 1.14 [d] default [d] nginx webserver
nodejs 10 [d] development, minimal, s2i, default [d] Javascript runtime
nodejs 8 development, minimal, s2i, default [d] Javascript runtime
parfait 0.5 default Parfait Module
perl 5.24 minimal, default Practical Extraction and Report Language
perl 5.26 [d] minimal, default [d] Practical Extraction and Report Language
php 7.1 devel, minimal, default [d] PHP scripting language
php 7.2 [d] devel, minimal, default [d] PHP scripting language
pki-core 10.6 PKI Core
pki-deps 10.6 PKI Dependencies
postgresql 10 [d] client, default [d] postgresql module
postgresql 9.6 client, default [d] postgresql module
python27 2.7 [d] default [d] Python programming language, version 2.7
python36 3.6 [d] build, default [d] Python programming language, version 3.6
redis 4.0 [d] default [d] Redis persistent key-value database
rhn-tools 1.0 [d] default [d] Red Hat Satellite 5 tools for RHEL
ruby 2.5 [d] default [d] An interpreter of object-oriented scripting language
rust-toolset rhel8 [d] default [d] Rust
satellite-5-client 1.0 [d] gui, default [d] Red Hat Satellite 5 client packages
scala 2.10 [d] default [d] A hybrid functional/object-oriented language for the JVM
sos-collector rhel8 [d] default [d] Utility to collect sosreports from multi-node environments
squid 4 [d] default [d] Squid - Optimising Web Delivery
subversion 1.10 [d] server, default [d] Apache Subversion
swig 3.0 [d] complete, default [d] Connects C/C++/Objective C to some high-level programming languages
varnish 6 [d] default [d] Varnish HTTP cache
virt rhel [d] default [d] Virtualization module
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@linuxsysadmins ~]#

Gathering module Information

To get more information about a specific module we can use the “info” option with the module.

# yum module info php

This will provide a long output with available versions of PHP packages including dependencies and its Stream with available profiles as shown below.

[root@linuxsysadmins ~]# yum module info php
Updating Subscription Management repositories.
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
AppStream 2.8 kB/s | 2.8 kB 00:01
BaseOS 2.7 kB/s | 2.7 kB 00:01
Name : php
Stream : 7.1
Version : 820181025145012
Context : 76554e01
Profiles : devel, minimal, default [d]
Default profiles : default
Repo : AppStream
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
: php-cli-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-common-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-dba-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-dbg-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-devel-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-embedded-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-enchant-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-fpm-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-gd-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-gmp-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-intl-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-json-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-ldap-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-mbstring-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-mysqlnd-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-odbc-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-opcache-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-pdo-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-pear-1:1.10.5-8.el8+1543+e18ce76f.noarch
: php-pecl-apcu-0:5.1.11-1.el8+1543+e18ce76f.x86_64
: php-pecl-apcu-devel-0:5.1.11-1.el8+1543+e18ce76f.x86_64
: php-pecl-zip-0:1.15.3-1.el8+1543+e18ce76f.x86_64
: php-pgsql-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-process-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-recode-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-snmp-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-soap-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-xml-0:7.1.20-2.el8+1700+11d526eb.x86_64
: php-xmlrpc-0:7.1.20-2.el8+1700+11d526eb.x86_64
Name : php
Stream : 7.2 [d]
Version : 20181010120239
Context : 76554e01
Profiles : devel, minimal, default [d]
Default profiles : default
Repo : AppStream
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
: php-cli-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-common-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-dba-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-dbg-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-devel-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-embedded-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-enchant-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-fpm-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-gd-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-gmp-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-intl-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-json-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-ldap-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-mbstring-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-mysqlnd-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-odbc-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-opcache-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-pdo-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-pear-1:1.10.5-8.el8+1544+98b86041.noarch
: php-pecl-apcu-0:5.1.12-1.el8+1544+98b86041.x86_64
: php-pecl-apcu-devel-0:5.1.12-1.el8+1544+98b86041.x86_64
: php-pecl-zip-0:1.15.3-1.el8+1544+98b86041.x86_64
: php-pgsql-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-process-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-recode-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-snmp-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-soap-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-xml-0:7.2.11-1.el8+2002+9409c40c.x86_64
: php-xmlrpc-0:7.2.11-1.el8+2002+9409c40c.x86_64
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@linuxsysadmins ~]#

Listing all available profile for a module in AppStream

PHP package may have different profiles let list and verify.

# yum module info --profile php

From the below output, we can see what are the available profiles. They can be devel, minimal and default. In case while performing the installation if you have not used any profile the default profile will be chosen automatically.

[root@linuxsysadmins ~]# yum module info --profile php
Updating Subscription Management repositories.
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:06:00 ago on Sat 02 Mar 2019 02:10:44 AM +04.
Name : php:7.1:820181025145012: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
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
[root@linuxsysadmins ~]#

To list only for anyone of PHP version it can be limited using “–profile” with package and version as follows.

# yum module info --profile php:7.1

From below output we can see only for a specific stream.

[root@linuxsysadmins ~]# yum module info --profile php:7.1
Updating Subscription Management repositories.
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:14:03 ago on Sat 02 Mar 2019 02:10:44 AM +04.
Name : php:7.1:820181025145012: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
[root@linuxsysadmins ~]#

Installing packages using module and profile

Let’s start to install nodejs version 8 package and their dependencies using module and profile.

# yum module install nodejs:8/development

While using “development” profile we can notice it pulling down many dependencies.

[root@linuxsysadmins ~]# yum module install nodejs:8/development
Updating Subscription Management repositories.
Last metadata expiration check: 0:40:38 ago on Sat 02 Mar 2019 02:10:44 AM +04.
Dependencies resolved.
Package Arch Version Repository Size
Installing group/module packages:
nodejs x86_64 1:8.11.4-2.el8+2022+2ec55091 AppStream 7.5 M
nodejs-devel x86_64 1:8.11.4-2.el8+2022+2ec55091 AppStream 9.5 M
npm x86_64 1:5.6.0-1.8.11.4.2.el8+2022+2ec55091 AppStream 4.1 M
Installing dependencies:
dwz x86_64 0.12-9.el8 AppStream 109 k
efi-srpm-macros noarch 3-2.el8 AppStream 22 k
ghc-srpm-macros noarch 1.4.2-7.el8 AppStream 9.4 k
go-srpm-macros noarch 2-16.el8 AppStream 14 k
http-parser x86_64 2.8.0-1.el8 AppStream 40 k
http-parser-devel x86_64 2.8.0-1.el8 AppStream 18 k
libuv x86_64 1:1.23.1-1.el8 AppStream 134 k
libuv-devel x86_64 1:1.23.1-1.el8 AppStream 34 k
nodejs-packaging noarch 17-2.el8+1542+7419d6fb AppStream 19 k
ocaml-srpm-macros noarch 5-4.el8 AppStream 9.5 k
openblas-srpm-macros noarch 2-2.el8 AppStream 8.0 k
perl-srpm-macros noarch 1-25.el8 AppStream 11 k
python-srpm-macros noarch 3-35.el8 AppStream 14 k
python3-rpm-macros noarch 3-35.el8 AppStream 13 k
qt5-srpm-macros noarch 5.11.1-2.el8 AppStream 11 k
redhat-rpm-config noarch 115-1.el8 AppStream 82 k
rust-srpm-macros noarch 5-2.el8 AppStream 9.3 k
keyutils-libs-devel x86_64 1.5.10-6.el8 BaseOS 48 k
krb5-devel x86_64 1.16.1-19.el8 BaseOS 546 k
libcom_err-devel x86_64 1.44.3-1.el8 BaseOS 37 k
libkadm5 x86_64 1.16.1-19.el8 BaseOS 184 k
libselinux-devel x86_64 2.8-5.el8 BaseOS 199 k
libsepol-devel x86_64 2.8-1.el8 BaseOS 85 k
libverto-devel x86_64 0.3.0-5.el8 BaseOS 18 k
openssl-devel x86_64 1:1.1.1-6.el8 BaseOS 2.3 M
pcre2-devel x86_64 10.31-11.el8 BaseOS 591 k
pcre2-utf16 x86_64 10.31-11.el8 BaseOS 223 k
pcre2-utf32 x86_64 10.31-11.el8 BaseOS 215 k
unzip x86_64 6.0-38.el8 BaseOS 192 k
zip x86_64 3.0-21.el8 BaseOS 270 k
zlib-devel x86_64 1.2.11-10.el8 BaseOS 56 k
Installing module profiles:
nodejs/development
Enabling module streams:
nodejs 8
Transaction Summary
Install 34 Packages
Total size: 27 M
Installed size: 110 M
Is this ok [y/N]: n
Operation aborted.

I have canceled the development installation let me try to install with a minimal profile.

# yum module install nodejs:8/minimal

Refer below output from minimal profile installation.

[root@linuxsysadmins ~]# yum module install nodejs:8/minimal
Updating Subscription Management repositories.
Last metadata expiration check: 0:47:21 ago on Sat 02 Mar 2019 02:10:44 AM +04.
Dependencies resolved.
Package Arch Version Repository Size
Installing group/module packages:
nodejs x86_64 1:8.11.4-2.el8+2022+2ec55091 AppStream 7.5 M
Installing dependencies:
http-parser x86_64 2.8.0-1.el8 AppStream 40 k
libuv x86_64 1:1.23.1-1.el8 AppStream 134 k
npm x86_64 1:5.6.0-1.8.11.4.2.el8+2022+2ec55091 AppStream 4.1 M
Installing module profiles:
nodejs/minimal
Enabling module streams:
nodejs 8
Transaction Summary
Install 4 Packages
Total size: 12 M
Installed size: 55 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installed: libuv-1:1.23.1-1.el8.x86_64
Installing : libuv-1:1.23.1-1.el8.x86_64 1/4
Installed: libuv-1:1.23.1-1.el8.x86_64
Installed: http-parser-2.8.0-1.el8.x86_64
Installing : http-parser-2.8.0-1.el8.x86_64 2/4
Installed: http-parser-2.8.0-1.el8.x86_64
Installed: npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64
Installing : npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64 3/4
Installed: npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64
Installed: nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64
Installing : nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64 4/4
Installed: nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64
Running scriptlet: nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64 4/4
Verifying : http-parser-2.8.0-1.el8.x86_64 1/4
Verifying : libuv-1:1.23.1-1.el8.x86_64 2/4
Verifying : nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64 3/4
Verifying : npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64 4/4
Installed:
nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64 http-parser-2.8.0-1.el8.x86_64 libuv-1:1.23.1-1.el8.x86_64 npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64
Complete!
[root@linuxsysadmins ~]#

Installing with Multiple Profiles.

For instance you need to install both module profiles like server and client of MariaDB.

# yum module install --profile mariadb/client

This will install both the server and client profile contains packages.

Enabling and Disabling modules

It’s possible to enable and disable the modules when we don’t need to receive an updated version of nodejs.

# yum module enable nodejs
# yum module disable nodejs

Removing Packages using modules and profiles

By removing an installed module, it will remove its core package and dependencies as it done the installation.

# yum module remove nodejs:8/minimal

The module and dependencies will be removed.

[root@linuxsysadmins ~]# yum module remove nodejs:8/minimal
Updating Subscription Management repositories.
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:11:12 ago on Sat 02 Mar 2019 03:07:50 AM +04.
Dependencies resolved.
Package Arch Version Repository Size
Removing:
nodejs x86_64 1:8.11.4-2.el8+2022+2ec55091 @AppStream 38 M
Removing unused dependencies:
http-parser x86_64 2.8.0-1.el8 @AppStream 76 k
libuv x86_64 1:1.23.1-1.el8 @AppStream 348 k
npm x86_64 1:5.6.0-1.8.11.4.2.el8+2022+2ec55091 @AppStream 17 M
Removing module profiles:
nodejs/minimal
Transaction Summary
Remove 4 Packages
Freed space: 55 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Erase: nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64
Erasing : nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64 1/4
Erase: nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64
Erase: npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64
Erasing : npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64 2/4
Erase: npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64
Erase: http-parser-2.8.0-1.el8.x86_64
Erasing : http-parser-2.8.0-1.el8.x86_64 3/4
Erase: http-parser-2.8.0-1.el8.x86_64
Erase: libuv-1:1.23.1-1.el8.x86_64
Erasing : libuv-1:1.23.1-1.el8.x86_64 4/4
Erase: libuv-1:1.23.1-1.el8.x86_64
Running scriptlet: libuv-1:1.23.1-1.el8.x86_64 4/4
Verifying : http-parser-2.8.0-1.el8.x86_64 1/4
Verifying : libuv-1:1.23.1-1.el8.x86_64 2/4
Verifying : nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64 3/4
Verifying : npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64 4/4
Removed:
nodejs-1:8.11.4-2.el8+2022+2ec55091.x86_64 http-parser-2.8.0-1.el8.x86_64 libuv-1:1.23.1-1.el8.x86_64 npm-1:5.6.0-1.8.11.4.2.el8+2022+2ec55091.x86_64
Complete!
[root@linuxsysadmins ~]#

We have removed the installed minimal module nodejs8 with its dependencies.

That’s it, we have come to know what is AppStream and yum in RHEL 8 and how to use it effectively.

Conclusion:

We have seen how to use the AppStream in Red Hat Enterprise Linux 8 which makes the life easier for system administrators to install a specific version of packages and its dependencies without any conflict. Let us see in the next RHEL 8 guide till then subscribe to our newsletter and check other articles. Your comments and feedbacks are most welcome.