Red Hat Training

A Red Hat training course is available for RHEL 8

Considerations in adopting RHEL 8

Red Hat Enterprise Linux 8

Key differences between Red Hat Enterprise Linux 7 and Red Hat Enterprise Linux 8

Red Hat Customer Content Services

Abstract

This document provides an overview of changes in Red Hat Enterprise Linux 8 since Red Hat Enterprise Linux 7 to help you evaluate migration to Red Hat Enterprise Linux 8.

Providing feedback on Red Hat documentation

We appreciate your input on our documentation. Please let us know how we could make it better. To do so:

  • For simple comments on specific passages, make sure you are viewing the documentation in the Multi-page HTML format. Highlight the part of text that you want to comment on. Then, click the Add Feedback pop-up that appears below the highlighted text, and follow the displayed instructions.
  • For submitting more complex feedback, create a Bugzilla ticket:

    1. Go to the Bugzilla website.
    2. As the Component, use Documentation.
    3. Fill in the Description field with your suggestion for improvement. Include a link to the relevant part(s) of documentation.
    4. Click Submit Bug.

Chapter 1. Preface

This document provides an overview of differences between two major versions of Red Hat Enterprise Linux: RHEL 7 and RHEL 8. It provides a list of changes relevant for evaluating migration to RHEL 8 rather than an exhaustive list of all alterations.

Capabilities and limits of RHEL 8 as compared to other versions of the system are available in the Knowledgebase article Red Hat Enterprise Linux technology capabilities and limits.

Information regarding the RHEL life cycle is provided in the Red Hat Enterprise Linux Life Cycle document.

The Package manifest document provides a package listing for RHEL 8.

For details regarding RHEL 8 usage, see the RHEL 8 product documentation.

For guidance regarding an in-place upgrade from RHEL 7 to RHEL 8, see Upgrading to RHEL 8.

For information about major differences between RHEL 6 and RHEL 7, see the RHEL 7 Migration Planning Guide.

Chapter 2. Architectures

Red Hat Enterprise Linux 8 is distributed with the kernel version 4.18, which provides support for the following architectures:

  • AMD and Intel 64-bit architectures
  • The 64-bit ARM architecture
  • IBM Power Systems, little endian
  • IBM Z

Make sure you purchase the appropriate subscription for each architecture. For more information, see Get Started with Red Hat Enterprise Linux - additional architectures. For a list of available subscriptions, see Subscription Utilization on the Customer Portal.

Note that all architectures are supported by the standard kernel packages in RHEL 8; no kernel-alt package is needed.

Chapter 3. Repositories

Red Hat Enterprise Linux 8 is distributed through two main repositories:

  • BaseOS
  • AppStream

Both repositories are required for a basic RHEL installation, and are available with all RHEL subscriptions.

Content in the BaseOS repository is intended to provide the core set of the underlying OS functionality that provides the foundation for all installations. This content is available in the RPM format and is subject to support terms similar to those in previous releases of RHEL. For a list of packages distributed through BaseOS, see the Package manifest.

Content in the Application Stream repository includes additional user space applications, runtime languages, and databases in support of the varied workloads and use cases. Content in AppStream is available in one of two formats - the familiar RPM format and an extension to the RPM format called modules. For a list of packages available in AppStream, see the Package manifest.

In addition, the CodeReady Linux Builder repository is available with all RHEL subscriptions. It provides additional packages for use by developers. Packages included in the CodeReady Linux Builder repository are unsupported.

For more information about RHEL 8 repositories, see the Package manifest.

Chapter 4. Application streams

Red Hat Enterprise Linux 8 introduces the concept of Application Streams. Multiple versions of user space components are now delivered and updated more frequently than the core operating system packages. This provides greater flexibility to customize Red Hat Enterprise Linux without impacting the underlying stability of the platform or specific deployments.

Components made available as Application Streams can be packaged as modules or RPM packages and are delivered through the AppStream repository in RHEL 8. Each Application Stream component has a given life cycle, see Red Hat Enterprise Linux 8 Application Streams Life Cycle.

Modules are collections of packages representing a logical unit: an application, a language stack, a database, or a set of tools. These packages are built, tested, and released together.

Module streams represent versions of the Application Stream components. For example, two streams (versions) of the PostgreSQL database server are available in the postgresql module: PostgreSQL 10 (the default stream) and PostgreSQL 9.6. Only one module stream can be installed on the system. Different versions can be used in separate containers.

Detailed module commands are described in the Installing, managing, and removing user space components document. For a list of modules available in AppStream, see the Package manifest.

Chapter 5. Installer and image creation

5.1. Add-ons

5.1.1. OSCAP

The OSCAP add-on is enabled by default in Red Hat Enterprise Linux 8.

5.1.2. Kdump

The Kdump add-on adds support for configuring kernel crash dumping during installation. This add-on has full support in Kickstart (using the %addon com_redhat_kdump command and its options), and is fully integrated as an additional window in the graphical and text-based user interfaces.

5.2. Installer networking

5.2.1. Device naming scheme

A new network device naming scheme that generates network interface names based on a user-defined prefix is available in Red Hat Enterprise Linux 8. The net.ifnames.prefix boot option allows the device naming scheme to be used by the installation program and the installed system. See the dracut.cmdline(7) man page for information.

5.3. Installation images and packages

5.3.1. Unified ISO

In Red Hat Enterprise Linux 8, a unified ISO automatically loads the BaseOS and AppStream installation source repositories. This feature works for the first base repository that is loaded during installation. For example, if you boot the installation with no repository configured and have the unified ISO as the base repository in the graphical user interface (GUI), or if you boot the installation using the inst.repo= option that points to the unified ISO.

As a result, the AppStream repository is enabled under the Additional Repositories section of the Installation Source GUI window. You cannot remove the AppStream repository or change its settings but you can disable it in Installation Source. This feature does not work if you boot the installation using a different base repository and then change it to the unified ISO. If you do that, the base repository is replaced. However, the AppStream repository is not replaced and points to the original file.

5.3.2. Stage2 image

In Red Hat Enterprise Linux 8, multiple network locations of stage2 or Kickstart files can be specified to prevent installation failure. This update enables the specification of multiple inst.stage2 and inst.ks boot options with network locations of stage2 and a Kickstart file. This avoids the situation in which the requested files cannot be reached and the installation fails because the contacted server with the stage2 or the Kickstart file is inaccessible.

With this new update, the installation failure can be avoided if multiple locations are specified. If all the defined locations are URLs, namely HTTP, HTTPS, or FTP, they will be tried sequentially until the requested file is fetched successfully. If there is a location that is not a URL, only the last specified location is tried. The remaining locations are ignored.

5.3.3. inst.addrepo parameter

Previously, you could only specify a base repository from the kernel boot parameters. In Red Hat Enterprise Linux 8, a new kernel parameter, inst.addrepo=<name>,<url>, allows you to specify an additional repository during installation. This parameter has two mandatory values: the name of the repository and the URL that points to the repository. For more information, see the inst-addrepo usage.

5.3.4. Installation from an expanded ISO

Red Hat Enterprise Linux 8 supports installing from a repository on a local hard drive. Previously, the only installation method from a hard drive was using an ISO image as the installation source. However, the Red Hat Enterprise Linux 8 ISO image might be too big for some file systems; for example, the FAT32 file system cannot store files larger than 4 GiB. In Red Hat Enterprise Linux 8, you can enable installation from a repository on a local hard drive; you only need to specify the directory instead of the ISO image. For example: inst.repo=hd:<device>:<path to the repository>.

For more information about the Red Hat Enterprise Linux 8 BaseOS and AppStream repositories, see the Repositories section of this document.

5.4. Installer Graphical User Interface

5.4.1. The Installation Summary window

The Installation Summary window of the Red Hat Enterprise Linux 8 graphical installation has been updated to a new three-column layout that provides improved organization of graphical installation settings.

5.5. System Purpose new in RHEL

5.5.1. System Purpose support in the graphical installation

Previously, the Red Hat Enterprise Linux installation program did not provide system purpose information to Subscription Manager. In Red Hat Enterprise Linux 8, you can set the intended purpose of the system during a graphical installation by using the System Purpose window, or in a Kickstart configuration file by using the syspurpose command. When you set a system’s purpose, the entitlement server receives information that helps auto-attach a subscription that satisfies the intended use of the system.

5.5.2. System Purpose support in Pykickstart

Previously, it was not possible for the pykickstart library to provide system purpose information to Subscription Manager. In Red Hat Enterprise Linux 8, pykickstart parses the new syspurpose command and records the intended purpose of the system during automated and partially-automated installation. The information is then passed to the installation program, saved on the newly-installed system, and available for Subscription Manager when subscribing the system.

5.6. Installer module support

5.6.1. Installing modules using Kickstart

In Red Hat Enterprise Linux 8, the installation program has been extended to handle all modular features. Kickstart scripts can now enable module and stream combinations, install module profiles, and install modular packages.

5.7. Kickstart changes

The folowing sections describe the changes in Kickstart commands and options in Red Hat Enterprise Linux 8.

5.7.1. auth or authconfig is deprecated in RHEL 8

The auth or authconfig Kickstart command is deprecated in Red Hat Enterprise Linux 8 because the authconfig tool and package have been removed.

Similarly to authconfig commands issued on command line, authconfig commands in Kickstart scripts now use the authselect-compat tool to run the new authselect tool. For a description of this compatibility layer and its known issues, see the manual page authselect-migration(7). The installation program will automatically detect use of the deprecated commands and install on the system the authselect-compat package to provide the compatibility layer.

5.7.2. Kickstart no longer supports Btrfs

The Btrfs file system is not supported in Red Hat Enterprise Linux 8. As a result, the Graphical User Interface (GUI) and the Kickstart commands no longer support Btrfs.

5.7.3. Using Kickstart files from previous RHEL releases

If you are using Kickstart files from previous RHEL releases, see the Repositories section of the Considerations in adopting RHEL 8 document for more information about the Red Hat Enterprise Linux 8 BaseOS and AppStream repositories.

5.7.4. Deprecated Kickstart comands and options

The following Kickstart commands and options have been deprecated in Red Hat Enterprise Linux 8. Using them in Kickstart files will print a warning in the logs.

  • auth or authconfig - use authselect instead
  • device
  • deviceprobe
  • dmraid
  • install - use the subcommands or methods directly as commands
  • lilo
  • lilocheck
  • mouse
  • multipath
  • bootloader --upgrade
  • ignoredisk --interactive
  • partition --active
  • reboot --kexec

Where only specific options are listed, the base command and its other options are still available and not deprecated.

Note also you can turn the deprecated command warnings into errors with the inst.ksstrict boot option.

5.7.5. Removed Kickstart comands and options

The following Kickstart commands and options have been completely removed in Red Hat Enterprise Linux 8. Using them in Kickstart files will cause an error.

  • upgrade (This command had already previously been deprecated.)
  • btrfs
  • part/partition btrfs
  • part --fstype btrfs or partition --fstype btrfs
  • logvol --fstype btrfs
  • raid --fstype btrfs
  • unsupported_hardware

Where only specific options and values are listed, the base command and its other options are still available and not removed.

5.7.6. New Kickstart comands and options

The following commands and options have been added in Red Hat Enterprise Linux 8.

RHEL 8.0

  • authselect
  • module

5.8. Image creation

5.8.1. Custom system image creation with Image Builder

The Image Builder tool enables users to create customized RHEL images. Image Builder is available in AppStream in the lorax-composer package.

With Image Builder, users can create custom system images which include additional packages. Image Builder functionality can be accessed through:

  • a graphical user interface in the web console
  • a command line interface in the composer-cli tool.

Image Builder output formats include, among others:

  • live ISO disk image
  • qcow2 file for direct use with a virtual machine or OpenStack
  • file system image file
  • cloud images for Azure, VMWare and AWS

To learn more about Image Builder, see the documentation title Composing a customized RHEL system image.

Chapter 6. Software management

6.1. Notable changes to the YUM stack

On Red Hat Enterprise Linux (RHEL) 8, installing software is ensured by the new version of the YUM tool, which is based on the DNF technology (YUM v4).

6.1.1. Advantages of YUM v4 over YUM v3

YUM v4 has the following advantages over the previous YUM v3 used on RHEL 7:

  • Increased performance
  • Support for modular content
  • Well-designed stable API for integration with tooling

For detailed information about differences between the new YUM v4 tool and the previous version YUM v3 from RHEL 7, see Changes in DNF CLI compared to YUM.

6.1.2. How to use YUM v4

Installing software

YUM v4 is compatible with YUM v3 when using from the command line, editing or creating configuration files.

For installing software, you can use the yum command and its particular options in the same way as on RHEL 7.

See more detailed information on Installing software with yum.

Availability of plug-ins

Legacy YUM v3 plug-ins are incompatible with the new version of YUM v4. Selected yum plug-ins and utilities have been ported to the new DNF back end, and can be installed under the same names as in RHEL 7. They also provide compatibility symlinks, so the binaries, configuration files and directories can be found in usual locations.

In the event that a plug-in is no longer included, or a replacement does not meet a usability need, please reach out to Red Hat Support to request a Feature Enhancement as described in How do I open and manage a support case on the Customer Portal?

For more information, see Plugin Interface.

Availability of APIs

Note that the legacy Python API provided by YUM v3 is no longer available. Users are advised to migrate their plug-ins and scripts to the new API provided by YUM v4 (DNF Python API), which is stable and fully supported. The upstream project documents the new DNF Python API - see the DNF API Reference.

The Libdnf and Hawkey APIs (both C and Python) are to be considered unstable, and will likely change during RHEL 8 life cycle.

6.1.3. Availability of YUM configuration file options

This section summarizes changes in configuration file options between RHEL 7 and RHEL 8 for the /etc/yum/yum.conf and /etc/yum/repos.d/*.repo files.

Table 6.1. Changes in configuration file options for the /etc/yum/yum.conf file

RHEL 7 optionRHEL 8 status

alwaysprompt

removed

assumeno

available

assumeyes

available

autocheck_running_kernel

available

autosavets

removed

bandwidth

available

bugtracker_url

available

cachedir

available

check_config_file_age

available

clean_requirements_on_remove

available

color

available

color_list_available_downgrade

available

color_list_available_install

available

color_list_available_reinstall

available

color_list_available_running_kernel

removed

color_list_available_upgrade

available

color_list_installed_extra

available

color_list_installed_newer

available

color_list_installed_older

available

color_list_installed_reinstall

available

color_list_installed_running_kernel

removed

color_search_match

available

color_update_installed

available

color_update_local

available

color_update_remote

available

commands

removed

config_file_path

available

debuglevel

available

deltarpm

available

deltarpm_metadata_percentage

removed

deltarpm_percentage

available

depsolve_loop_limit

removed

disable_excludes

available

diskspacecheck

available

distroverpkg

removed

enable_group_conditionals

removed

errorlevel

available

exactarchlist

removed

exclude

available

exit_on_lock

available

fssnap_abort_on_errors

removed

fssnap_automatic_keep

removed

fssnap_automatic_post

removed

fssnap_automatic_pre

removed

fssnap_devices

removed

fssnap_percentage

removed

ftp_disable_epsv

removed

gpgcheck

available

group_command

removed

group_package_types

available

groupremove_leaf_only

removed

history_list_view

available

history_record

available

history_record_packages

available

http_caching

removed

installonly_limit

available

installonlypkgs

available

installrootkeep

removed

ip_resolve

available

keepalive

removed

keepcache

available

kernelpkgnames

removed

loadts_ignoremissing

removed

loadts_ignorenewrpm

removed

loadts_ignorerpm

removed

localpkg_gpgcheck

available

logfile

removed

max_connections

removed

mddownloadpolicy

removed

mdpolicy

removed

metadata_expire

available

metadata_expire_filter

removed

minrate

available

mirrorlist_expire

removed

multilib_policy

available

obsoletes

available

override_install_langs

removed

overwrite_groups

removed

password

available

payload_gpgcheck

removed

persistdir

available

pluginconfpath

available

pluginpath

available

plugins

available

protected_multilib

removed

protected_packages

available

proxy

available

proxy_password

available

proxy_username

available

query_install_excludes

removed

recent

available

recheck_installed_requires

removed

remove_leaf_only

removed

repo_gpgcheck

available

repopkgsremove_leaf_only

removed

reposdir

available

reset_nice

available

retries

available

rpmverbosity

available

shell_exit_status

removed

showdupesfromrepos

available

skip_broken

available

skip_missing_names_on_install

removed

skip_missing_names_on_update

removed

ssl_check_cert_permissions

removed

sslcacert

available

sslclientcert

available

sslclientkey

available

sslverify

available

syslog_device

removed

syslog_facility

removed

syslog_ident

removed

throttle

available

timeout

available

tolerant

removed

tsflags

available

ui_repoid_vars

removed

upgrade_group_objects_upgrade

available

upgrade_requirements_on_install

removed

usercache

removed

username

available

usr_w_check

removed

Table 6.2. Changes in configuration file options for the /etc/yum/repos.d/*.repo file

RHEL 7 optionRHEL 8 status

async

removed

bandwidth

available

baseurl

available

compare_providers_priority

removed

cost

available

deltarpm_metadata_percentage

removed

deltarpm_percentage

available

enabled

available

enablegroups

available

exclude

available

failovermethod

removed

ftp_disable_epsv

removed

gpgcakey

removed

gpgcheck

available

gpgkey

available

http_caching

removed

includepkgs

available

ip_resolve

available

keepalive

removed

metadata_expire

available

metadata_expire_filter

removed

metalink

available

mirrorlist

available

mirrorlist_expire

removed

name

available

password

available

proxy

available

proxy_password

available

proxy_username

available

repo_gpgcheck

available

repositoryid

removed

retries

available

skip_if_unavailable

available

ssl_check_cert_permissions

removed

sslcacert

available

sslclientcert

available

sslclientkey

available

sslverify

available

throttle

available

timeout

available

ui_repoid_vars

removed

username

available

6.1.4. YUM v4 features behaving differently

Some of the YUM v3 features may behave differently in YUM v4. If any such change negatively impacts your workflows, please open a case with Red Hat Support, as described in How do I open and manage a support case on the Customer Portal?

6.1.4.1. yum list presents duplicate entries

When listing packages using the yum list command, duplicate entries may be presented, one for each repository where a package of the same name and version resides.

This is intentional, and it allows the users to distinguish such packages when necessary.

For example, if package-1.2 is available in both repo1 and repo2, YUM v4 will print both instances:

[…​]
package-1.2    repo1
package-1.2    repo2
[…​]

By contrast, the legacy YUM v3 command filtered out such duplicates so that only one instance was shown:

[…​]
package-1.2    repo1
[…​]

6.2. Notable RPM features and changes

Red Hat Enterprise Linux (RHEL) 8 is distributed with RPM 4.14. This version introduces many enhancements over RPM 4.11, which is available in RHEL 7.

Notable features include:

  • The debuginfo packages can be installed in parallel
  • Support for weak dependencies
  • Support for rich or boolean dependencies
  • Support for packaging files above 4 GB in size
  • Support for file triggers

See more information about New RPM features in RHEL 8.

Notable changes include:

  • Stricter spec-parser
  • Simplified signature checking the output in non-verbose mode
  • Additions and deprecation in macros

Chapter 7. Infrastructure services

7.1. Time synchronization

Accurate timekeeping is important for a number of reasons. In Linux systems, the Network Time Protocol (NTP) protocol is implemented by a daemon running in user space.

7.1.1. Implementation of NTP

RHEL 7 supported two implementations of the NTP protocol: ntp and chrony.

In RHEL 8, the NTP protocol is implemented only by the chronyd daemon, provided by the chrony package.

The ntp daemon is no longer available. If you used ntp on your RHEL 7 system, you might need to migrate to chrony.

Possible replacements for previous ntp features that are not supported by chrony are documented in Achieving some settings previously supported by ntp in chrony.

7.1.2. Introduction to chrony suite

chrony is an implementation of NTP, which performs well in a wide range of conditions, including intermittent network connections, heavily congested networks, changing temperatures (ordinary computer clocks are sensitive to temperature), and systems that do not run continuously, or run on a virtual machine.

You can use chrony:

  • To synchronize the system clock with NTP servers
  • To synchronize the system clock with a reference clock, for example a GPS receiver
  • To synchronize the system clock with a manual time input
  • As an NTPv4(RFC 5905) server or peer to provide a time service to other computers in the network

For more information about chrony, see Configuring basic system settings.

7.1.2.1. Differences between chrony and ntp

See the following resources for information about differences between chrony and ntp:

7.1.2.1.1. Chrony applies leap second correction by default

In RHEL 8, the default chrony configuration file, /etc/chrony.conf, includes the leapsectz directive.

The leapsectz directive enables chronyd to:

  • Get information about leap seconds from the system tz database (tzdata)
  • Set the TAI-UTC offset of the system clock in order that the system provides an accurate International Atomic Time (TAI) clock (CLOCK_TAI)

The directive is not compatible with servers that hide leap seconds from their clients using a leap smear, such as chronyd servers configured with the leapsecmode and smoothtime directives. If a client chronyd is configured to synchronize to such servers, remove leapsectz from the configuration file.

7.1.3. Additional information

For more information on how to configure NTP using the chrony suite, see Configuring basic system settings.

7.2. BIND - Implementation of DNS

RHEL 8 includes BIND (Berkeley Internet Name Domain) in version 9.11. This version of the DNS server introduces multiple new features and feature changes compared to version 9.10.

New features:

  • A new method of provisioning secondary servers called Catalog Zones has been added.
  • Domain Name System Cookies are now sent by the named service and the dig utility.
  • The Response Rate Limiting feature can now help with mitigation of DNS amplification attacks.
  • Performance of response-policy zone (RPZ) has been improved.
  • A new zone file format called map has been added. Zone data stored in this format can be mapped directly into memory, which enables zones to load significantly faster.
  • A new tool called delv (domain entity lookup and validation) has been added, with dig-like semantics for looking up DNS data and performing internal DNS Security Extensions (DNSSEC) validation.
  • A new mdig command is now available. This command is a version of the dig command that sends multiple pipelined queries and then waits for responses, instead of sending one query and waiting for the response before sending the next query.
  • A new prefetch option, which improves the recursive resolver performance, has been added.
  • A new in-view zone option, which allows zone data to be shared between views, has been added. When this option is used, multiple views can serve the same zones authoritatively without storing multiple copies in memory.
  • A new max-zone-ttl option, which enforces maximum TTLs for zones, has been added. When a zone containing a higher TTL is loaded, the load fails. Dynamic DNS (DDNS) updates with higher TTLs are accepted but the TTL is truncated.
  • New quotas have been added to limit queries that are sent by recursive resolvers to authoritative servers experiencing denial-of-service attacks.
  • The nslookup utility now looks up both IPv6 and IPv4 addresses by default.
  • The named service now checks whether other name server processes are running before starting up.
  • When loading a signed zone, named now checks whether a Resource Record Signature’s (RSIG) inception time is in the future, and if so, it regenerates the RRSIG immediately.
  • Zone transfers now use smaller message sizes to improve message compression, which reduces network usage.

Feature changes:

  • The version 3 XML schema for the statistics channel, including new statistics and a flattened XML tree for faster parsing, is provided by the HTTP interface. The legacy version 2 XML schema is no longer supported.
  • The named service now listens on both IPv6 and IPv4 interfaces by default.
  • The named service no longer supports GeoIP. Access control lists (ACLs) defined by presumed location of query sender are unavailable.

7.3. DNS resolution

In RHEL 7, the nslookup and host utilities were able to accept any reply without the recursion available flag from any name server listed. In RHEL 8, nslookup and host ignore replies from name servers with recursion not available unless it is the name server that is last configured. In case of the last configured name server, answer is accepted even without the recursion available flag.

However, if the last configured name server is not responding or unreachable, name resolution fails. To prevent such fail, you can use one of the following approaches:

  • Ensure that configured name servers always reply with the recursion available flag set.
  • Allow recursion for all internal clients.

Optionally, you can also use the dig utility to detect whether recursion is available or not.

7.4. Printing

7.4.2. Location of CUPs logs

CUPS provides three kinds of logs:

  • Error log
  • Access log
  • Page log

In RHEL 8, the logs are no longer stored in specific files within the /var/log/cups directory, which was used in RHEL 7. Instead, all three types are logged centrally in systemd-journald together with logs from other programs.

For more information on how to use CUPS logs in RHEL 8, see Deploying different types of servers.

7.4.3. Additional information

For more information how to configure printing in RHEL 8, see Deploying different types of servers.

7.5. Performance and power management options

7.5.1. Notable changes in the recommended Tuned profile

In RHEL 8, the recommended Tuned profile, reported by the tuned-adm recommend command, is selected based on the following rules:

  • If the syspurpose role (reported by the syspurpose show command) contains atomic, and at the same time:

    • if Tuned is running on bare metal, the atomic-host profile is selected
    • if Tuned is running in a virtual machine, the atomic-guest profile is selected
  • If Tuned is running in a virtual machine, the virtual-guest profile is selected
  • If the syspurpose role contains desktop or workstation and the chassis type (reported by dmidecode) is Notebook, Laptop, or Portable, then the balanced profile is selected
  • If none of the above rules matches, the throughput-performance profile is selected

Note that the first rule that matches takes effect.

7.6. Other changes to infrastructure services components

This section summarizes other notable changes to particular infrastructure services components.

Table 7.1. Notable changes to infrastructure services components

NameType of changeAdditional information

acpid

Option change

-d (debug) no longer implies -f (foreground)

bind

Configuration option removal

dnssec-lookaside auto removed; use no instead

brltty

Configuration option change

--message-delay brltty renamed to --message-timeout

brltty

Configuration option removal

-U [--update-interval=] removed

brltty

Configuration option change

A Bluetooth device address may now contain dashes (-) instead of colons (:). The bth: and bluez: device qualifier aliases are no longer supported.

cups

Functionality removal

Upstream removed support of interface scripts because of security reasons. Use ppds and drivers provided by OS or proprietary ones.

cups

Directive options removal

Removed Digest and BasicDigest authentication types for AuthType and DefaultAuthType directives in /etc/cups/cupsd.conf. Migrate to Basic.

cups

Directive options removal

Removed Include from cupsd.conf

cups

Directive options removal

Removed ServerCertificate and ServerKey from cups-files.conf use Serverkeychain instead

cups

Directives moved between conf files

SetEnv and PassEnv moved from cupsd.conf to cups-files.conf

cups

Directives moved between conf files

PrintcapFormat moved from cupsd.conf to cups-files.conf

cups-filters

Default configuration change

Names of remote print queues discovered by cups-browsed are now created based on device ID of printer, not on the name of remote print queue.

cups-filters

Default configuration change

CreateIPPPrinterQueues must be set to All for automatic creation of queues of IPP printers

cyrus-imapd

Data format change

Cyrus-imapd 3.0.7 has different data format.

dhcp

Options incompatibility

The -I option is now used for standard-ddns-updates. For the previous functionality (dhcp-client-identifier), use the new -C option.

dosfstools

Behavior change

Data structures are now automatically aligned to cluster size. To disable the alignment, use the -a option. fsck.fat now defaults to interactive repair mode which previously had to be selected with the -r option.

finger

Functionality removal

 

GeoIP

Functionality removal

 

grep

Behavior change

grep now treats files containining data improperly encoded for the current locale as binary.

grep

Behavior change

grep -P no longer reports an error and exits when given invalid UTF-8 data

grep

Behavior change

grep now warns if the GREP_OPTIONS environment variable is now used. Use an alias or script instead.

grep

Behavior change

grep -P eports an error and exits in locales with multibyte character encodings other than UTF-8

grep

Behavior change

When searching binary data, grep may treat non-text bytes as line terminators, which impacts performance significantly.

grep

Behavior change

grep -z no longer automatically treats the byte '\200' as binary data.

grep

Behavior change

Context no longer excludes selected lines omitted because of -m.

irssi

Behavior change

SSLv2 and SSLv3 no longer supported

lftp

Change of options

xfer:log and xfer:log-file`deprecated; now available under `log:enabled and log:file commands

ntp

Functionality removal

ntp has been removed; use chrony instead

postfix

Configuration change

3.x version have compatibility safety net that runs Postfix programs with backwards-compatible default settings after an upgrade.

postfix

Configuration change

In the Postfix MySQL database client, the default option_group value has changed to client, set it to empty value for backward compatible behavior.

postfix

Configuration change

The postqueue command no longer forces all message arrival times to be reported in UTC. To get the old behavior, set TZ=UTC in main.cf.

postfix

Configuration change

ECDHE - smtpd_tls_eecdh_grade defaults to auto; new parameter tls_eecdh_auto_curves with the names of curves that may be negotiated

postfix

Configuration change

Changed defaults for append_dot_mydomain (new: no, old: yes), master.cf chroot (new: n, old: y), smtputf8 (new: yes, old: no).

postfix

Configuration change

Changed defaults for relay_domains (new: empty, old: $mydestination).

postfix

Configuration change

The mynetworks_style default value has changed from subnet to host.

powertop

Option removal

-d removed

powertop

Option change

-h is no longer alias for --html. It is now an alias for --help.

powertop

Option removal

-u removed

quagga

Functionality removal

 

sendmail

Configuration change

sendmail uses uncompressed IPv6 addresses by default, which permits a zero subnet to have a more specific match. Configuration data must use the same format, so make sure patterns such as IPv6:[0-9a-fA-F:]*:: and IPv6:: are updated before using 8.15.

spamassasin

Command line option removal

Removed --ssl-version in spamd

spamassasin

Change in supported SSL versions

In spamc and spamd, SSLv3 is no longer supported.

spamassasin

Functionality removal

sa-update no longer supports SHA1 validation of filtering rules, and uses SHA256/SHA512 validation instead.

vim

Default settings change

Vim runs default.vim script, if no ~/.vimrc file is available.

vim

Default settings change

Vim now supports bracketed paste from terminal. Include 'set t_BE=' in vimrc for the previous behavior.

vsfptd

Default configuration change

anonymous_enable disabled

vsfptd

Default configuration change

strict_ssl_read_eof now defaults to YES

vsfptd

Functionality removal

tcp_wrappers no longer supported

vsfptd

Default configuration change

TLSv1 and TLSv1.1 are disabled by default

wireshark

Python bindings removal

Dissectors can no longer be written in Python, use C instead.

wireshark

Option removal

-C suboption for -N option for asynchronous DNS name resolution removed

wireshark

Ouput change

With the -H option, the output no longer shows SHA1, RIPEMD160 and MD5 hashes. It now shows SHA256, RIPEMD160 and SHA1 hashes.

wvdial

Functionality removal

 

Chapter 8. Security

8.1. Changes in core cryptographic components

8.1.1. System-wide cryptographic policies are applied by default

Crypto-policies is a component in Red Hat Enterprise Linux 8, which configures the core cryptographic subsystems, covering the TLS, IPsec, DNSSEC, Kerberos protocols, and the OpenSSH suite. It provides a small set of policies, which the administrator can select using the update-crypto-policies command.

The DEFAULT system-wide cryptographic policy offers secure settings for current threat models. It allows the TLS 1.2 and 1.3 protocols, as well as the IKEv2 and SSH2 protocols. The RSA keys and Diffie-Hellman parameters are accepted if larger than 2047 bits.

See the Consistent security by crypto policies in Red Hat Enterprise Linux 8 article on the Red Hat Blog and the update-crypto-policies(8) man page for more information.

8.1.2. Strong crypto defaults by removing insecure cipher suites and protocols

The following list contains cipher suites and protocols removed from the core cryptographic libraries in RHEL 8. They are not present in the sources, or their support is disabled during the build, so applications cannot use them.

  • DES (since RHEL 7)
  • All export grade cipher suites (since RHEL 7)
  • MD5 in signatures (since RHEL 7)
  • SSLv2 (since RHEL 7)
  • SSLv3 (since RHEL 8)
  • All ECC curves < 224 bits (since RHEL 6)
  • All binary field ECC curves (since RHEL 6)

8.1.3. Cipher suites and protocols disabled in all policy levels

The following cipher suites and protocols are disabled in all crypto policy levels. They can be enabled only by an explicit configuration of individual applications.

  • DH with parameters < 1024 bits
  • RSA with key size < 1024 bits
  • Camellia
  • ARIA
  • SEED
  • IDEA
  • Integrity-only cipher suites
  • TLS CBC mode cipher suites using SHA-384 HMAC
  • AES-CCM8
  • All ECC curves incompatible with TLS 1.3, including secp256k1
  • IKEv1 (since RHEL 8)

8.1.4. Switching the system to FIPS mode

The system-wide cryptographic policies contain a policy level that enables cryptographic modules self-checks in accordance with the requirements by Federal Information Processing Standard (FIPS) Publication 140-2. The fips-mode-setup tool that enables or disables FIPS mode internally uses the FIPS system-wide cryptographic policy level.

To switch the system to FIPS mode in RHEL 8, enter the following command and restart your system:

# fips-mode-setup --enable

See the fips-mode-setup(8) man page for more information.

8.1.5. TLS 1.0 and TLS 1.1 are deprecated

The TLS 1.0 and TLS 1.1 protocols are disabled in the DEFAULT system-wide cryptographic policy level. If your scenario, for example, a video conferencing application in the Firefox web browser, requires using the deprecated protocols, switch the system-wide cryptographic policy to the LEGACY level:

# update-crypto-policies --set LEGACY

For more information, see the Strong crypto defaults in RHEL 8 and deprecation of weak crypto algorithms Knowledgebase article on the Red Hat Customer Portal and the update-crypto-policies(8) man page.

8.1.6. TLS 1.3 support in cryptographic libraries

This update enables Transport Layer Security (TLS) 1.3 by default in all major back-end crypto libraries. This enables low latency across the operating system communications layer and enhances privacy and security for applications by taking advantage of new algorithms, such as RSA-PSS or X25519.

8.1.7. DSA is deprecated in RHEL 8

The Digital Signature Algorithm (DSA) is considered deprecated in Red Hat Enterprise Linux 8. Authentication mechanisms that depend on DSA keys do not work in the default configuration. Note that OpenSSH clients do not accept DSA host keys even in the LEGACY system-wide cryptographic policy level.

8.1.8. SSL2 Client Hello has been deprecated in NSS

The Transport Layer Security (TLS) protocol version 1.2 and earlier allow to start a negotiation with a Client Hello message formatted in a way that is backward compatible with the Secure Sockets Layer (SSL) protocol version 2. Support for this feature in the Network Security Services (NSS) library has been deprecated and it is disabled by default.

Applications that require support for this feature need to use the new SSL_ENABLE_V2_COMPATIBLE_HELLO API to enable it. Support for this feature may be removed completely in future releases of Red Hat Enterprise Linux 8.

8.1.9. NSS now use SQL by default

The Network Security Services (NSS) libraries now use the SQL file format for the trust database by default. The DBM file format, which was used as a default database format in previous releases, does not support concurrent access to the same database by multiple processes and it has been deprecated in upstream. As a result, applications that use the NSS trust database to store keys, certificates, and revocation information now create databases in the SQL format by default. Attempts to create databases in the legacy DBM format fail. The existing DBM databases are opened in read-only mode, and they are automatically converted to the SQL format. Note that NSS support the SQL file format since Red Hat Enterprise Linux 6.

8.2. SSH

8.2.1. OpenSSH rebased to version 7.8p1

The openssh packages have been upgraded to upstream version 7.8p1. Notable changes include:

  • Removed support for the SSH version 1 protocol.
  • Removed support for the hmac-ripemd160 message authentication code.
  • Removed support for RC4 (arcfour) ciphers.
  • Removed support for Blowfish ciphers.
  • Removed support for CAST ciphers.
  • Changed the default value of the UseDNS option to no.
  • Disabled DSA public key algorithms by default.
  • Changed the minimal modulus size for Diffie-Hellman parameters to 2048 bits.
  • Changed semantics of the ExposeAuthInfo configuration option.
  • The UsePrivilegeSeparation=sandbox option is now mandatory and cannot be disabled.
  • Set the minimal accepted RSA key size to 1024 bits.

8.2.2. libssh implements SSH as a core cryptographic component

This change introduces libssh as a core cryptographic component in Red Hat Enterprise Linux 8. The libssh library implements the Secure SHell (SSH) protocol.

Note that libssh does not comply with the system-wide crypto policy.

8.2.3. libssh2 is not available in RHEL 8

The deprecated libssh2 library misses features, such as support for elliptic curves or Generic Security Service Application Program Interface (GSSAPI), and it has been removed from RHEL 8 in favor of libssh

8.3. Rsyslog

8.3.1. The default rsyslog configuration file format is now non-legacy

The configuration files in the rsyslog packages now use the non-legacy format by default. The legacy format can be still used, however, mixing current and legacy configuration statements has several constraints. Configurations carried from previous RHEL releases should be revised. See the rsyslog.conf(5) man page for more information.

8.3.2. The imjournal option and configuring system logging with minimized journald usage

To avoid duplicate records that might appear when journald rotated its files, the imjournal option has been added. Note that use of this option can affect performance.

Note that the system with rsyslog can be configured to provide better performance as described in the Configuring system logging without journald or with minimized journald usage Knowledgebase article.

8.3.3. Negative effects of the default logging setup on performance

The default logging environment setup might consume 4 GB of memory or even more and adjustments of rate-limit values are complex when systemd-journald is running with rsyslog.

See the Negative effects of the RHEL default logging setup on performance and their mitigations Knowledgebase article for more information.

8.4. OpenSCAP

8.4.1. OpenSCAP API consolidated

This update provides OpenSCAP shared library API that has been consolidated. 63 symbols have been removed, 14 added, and 4 have an updated signature. The removed symbols in OpenSCAP 1.3.0 include:

  • symbols that were marked as deprecated in version 1.2.0
  • SEAP protocol symbols
  • internal helper functions
  • unused library symbols
  • unimplemented symbols

8.4.2. A utility for security and compliance scanning of containers is not available

In Red Hat Enterprise Linux 7, the oscap-docker utility can be used for scanning of Docker containers based on Atomic technologies. In Red Hat Enterprise Linux 8, the Docker- and Atomic-related OpenSCAP commands are not available. As a result, oscap-docker or an equivalent utility for security and compliance scanning of containers is not available in RHEL 8 at the moment.

8.5. Audit

8.5.1. Audit 3.0 replaces audispd with auditd

With this update, functionality of audispd has been moved to auditd. As a result, audispd configuration options are now part of auditd.conf. In addition, the plugins.d directory has been moved under /etc/audit. The current status of auditd and its plug-ins can now be checked by running the service auditd state command.

8.6. SELinux

8.6.1. New SELinux booleans

This update of the SELinux system policy introduces the following booleans:

  • colord_use_nfs
  • mysql_connect_http
  • pdns_can_network_connect_db
  • ssh_use_tcpd
  • sslh_can_bind_any_port
  • sslh_can_connect_any_port
  • virt_use_pcscd

To get a list of booleans including their meaning, and to find out if they are enabled or disabled, install the selinux-policy-devel package and use:

# semanage boolean -l

8.6.2. SELinux packages migrated to Python 3

The functionality of the libselinux-python package is now provided by the python3-libselinux package, and the policycoreutils-python has been replaced by the policycoreutils-python-utils and python3-policycoreutils packages.

8.7. Removed security functionality

8.7.1. shadow-utils no longer allow all-numeric user and group names

The useradd and groupadd commands disallow user and group names consisting purely of numeric characters. The reason for not allowing such names is that this can confuse potentially many tools that work with user and group names and user and group ids (which are numbers). Please note that the all-numeric user and group names are deprecated in Red Hat Enterprise Linux 7 and their support is completely removed in Red Hat Enterprise Linux 8.

8.7.2. securetty is now disabled by default

Because of the dynamic nature of tty device files on modern Linux systems, the securetty PAM module has been disabled by default and the /etc/securetty configuration file is no longer included in RHEL. Since /etc/securetty listed many possible devices so that the practical effect in most cases was to allow by default, this change has only a minor impact. However, if you use a more restrictive configuration, you need to add a line enabling the pam_securetty.so module to the appropriate files in the /etc/pam.d directory, and create a new /etc/securetty file.

8.7.3. The Clevis HTTP pin has been removed

The Clevis HTTP pin has been removed from RHEL 8, and the clevis encrypt http sub-command is no longer available.

8.7.4. Coolkey has been removed

The Coolkey driver for smart cards has been removed from RHEL 8, and OpenSC now provides its functionality.

8.7.5. crypto-utils have been removed

The crypto-utils packages have been removed from RHEL 8. You can use tools provided by the openssl, gnutls-utils, and nss-tools packages instead.

8.7.6. KLIPS has been removed from Libreswan

In Red Hat Enterprise Linux 8, support for Kernel IP Security (KLIPS) IPsec stack has been removed from Libreswan.

Chapter 9. Networking

9.1. NetworkManager

9.1.1. Legacy network scripts support

Network scripts are deprecated in Red Hat Enterprise Linux 8 and are no longer provided by default. The basic installation provides a new version of the ifup and ifdown scripts which call NetworkManager through the nmcli tool. In Red Hat Enterprise Linux 8, to run the ifup and the ifdown scripts, NetworkManager must be running.

Note

Custom commands in /sbin/ifup-local, ifdown-pre-local and ifdown-local scripts are not executed.

If any of these scripts are required, the installation of the deprecated network scripts in the system is still possible with the following command:

~]# yum install network-scripts

The ifup and the ifdown scripts link to the installed legacy network scripts.

Calling the legacy network scripts shows a warning about their deprecation.

9.1.2. NetworkManager supports SR-IOV virtual functions

In Red Hat Enterprise Linux 8, NetworkManager allows configuring the number of virtual functions (VF) for interfaces that support single-root I/O virtualization (SR-IOV). Additionally, NetworkManager allows configuring some attributes of the VFs, such as the MAC address, VLAN, the spoof checking setting and allowed bitrates. Note that all properties related to SR-IOV are available in the sriov connection setting. For more details, see the nm-settings(5) man page.

9.1.3. NetworkManager supports a wildcard interface name match for connections

Previously, it was possible to restrict a connection to a given interface using only an exact match on the interface name. With this update, connections have a new match.interface-name property which supports wildcards. This update enables users to choose the interface for a connection in a more flexible way using a wildcard pattern.

9.1.4. NetworkManager supports configuring ethtool offload features

With this enhancement, NetworkManager supports configuring ethtool offload features, and users no longer need to use init scripts or a NetworkManager dispatcher script. As a result, users can now configure the offload feature as a part of the connection profile using one of the following methods:

  • By using the nmcli utility
  • By editing key files in the /etc/NetworkManager/system-connections/ directory
  • By editing the /etc/sysconfig/network-scripts/ifcfg-* files

Note that this feature is currently not supported in graphical interfaces and in the nmtui utility.

9.1.5. NetworkManager now uses the internal DHCP plug-in by default

NetworkManager supports the internal and dhclient DHCP plug-ins. By default, NetworkManager in Red Hat Enterprise Linux (RHEL) 7 uses the dhclient and RHEL 8 the internal plug-in. In certain situations, the plug-ins behave differently. For example, dhclient can use additional settings specified in the /etc/dhcp/ directory.

If you upgrade from RHEL 7 to RHEL 8 and NetworkManager behaves different, add the following setting to the [main] section in the /etc/NetworkManager/NetworkManager.conf file to use the dhclient plug-in:

[main]
dhcp=dhclient

9.1.6. The NetworkManager-config-server package is not installed by default in RHEL 8

The NetworkManager-config-server package is only installed by default if you select either the Server or Server with GUI base environment during the setup. If you selected a different environment, use the yum install NetworkManager-config-server command to install the package.

9.2. Packet filtering

9.2.1. nftables replaces iptables as the default network packet filtering framework

The nftables framework provides packet classification facilities and it is the designated successor to the iptables, ip6tables, arptables, and ebtables tools. It offers numerous improvements in convenience, features, and performance over previous packet-filtering tools, most notably:

  • lookup tables instead of linear processing
  • a single framework for both the IPv4 and IPv6 protocols
  • rules all applied atomically instead of fetching, updating, and storing a complete ruleset
  • support for debugging and tracing in the ruleset (nftrace) and monitoring trace events (in the nft tool)
  • more consistent and compact syntax, no protocol-specific extensions
  • a Netlink API for third-party applications

Similarly to iptables, nftables use tables for storing chains. The chains contain individual rules for performing actions. The nft tool replaces all tools from the previous packet-filtering frameworks. The libnftables library can be used for low-level interaction with nftables Netlink API over the libmnl library.

The iptables, ip6tables, ebtables and arptables tools are replaced by nftables-based drop-in replacements with the same name. While external behavior is identical to their legacy counterparts, internally they use nftables with legacy netfilter kernel modules through a compatibility interface where required.

Effect of the modules on the nftables ruleset can be observed using the nft list ruleset command. Since these tools add tables, chains, and rules to the nftables ruleset, be aware that nftables rule-set operations, such as the nft flush ruleset command, might affect rule sets installed using the formerly separate legacy commands.

To quickly identify which variant of the tool is present, version information has been updated to include the back-end name. In RHEL 8, the nftables-based iptables tool prints the following version string:

$ iptables --version
iptables v1.8.0 (nf_tables)

For comparison, the following version information is printed if legacy iptables tool is present:

$ iptables --version
iptables v1.8.0 (legacy)

9.2.2. Arptables FORWARD is removed from filter tables in RHEL 8

The arptables FORWARD chain functionality has been removed in Red Hat Enterprise Linux (RHEL) 8. You can now use the FORWARD chain of the ebtables tool adding the rules into it.

9.2.3. Output of iptables-ebtables is not 100% compatible with ebtables

In RHEL 8, the ebtables command is provided by the iptables-ebtables package, which contains an nftables-based reimplementation of the tool. This tool has a different code base, and its output deviates in aspects, which are either negligible or deliberate design choices.

Consequently, when migrating your scripts parsing some ebtables output, adjust the scripts to reflect the following:

  • MAC address formatting has been changed to be fixed in length. Where necessary, individual byte values contain a leading zero to maintain the format of two characters per octet.
  • Formatting of IPv6 prefixes has been changed to conform with RFC 4291. The trailing part after the slash character no longer contains a netmask in the IPv6 address format but a prefix length. This change applies to valid (left-contiguous) masks only, while others are still printed in the old formatting.

9.2.4. New tools to convert iptables to nftables

This update adds the iptables-translate and ip6tables-translate tools to convert the existing iptables or ip6tables rules into the equivalent ones for nftables. Note that some extensions lack translation support. If such an extension exists, the tool prints the untranslated rule prefixed with the # sign. For example:

| % iptables-translate -A INPUT -j CHECKSUM --checksum-fill
| nft # -A INPUT -j CHECKSUM --checksum-fill

Additionally, users can use the iptables-restore-translate and ip6tables-restore-translate tools to translate a dump of rules. Note that before that, users can use the iptables-save or ip6tables-save commands to print a dump of current rules. For example:

| % sudo iptables-save >/tmp/iptables.dump
| % iptables-restore-translate -f /tmp/iptables.dump
| # Translated by iptables-restore-translate v1.8.0 on Wed Oct 17 17:00:13 2018
| add table ip nat
| ...

9.3. Changes in wpa_supplicant

9.3.1. journalctl can now read the wpa_supplicant log

In Red Hat Enterprise Linux (RHEL) 8, the wpa_supplicant package is built with CONFIG_DEBUG_SYSLOG enabled. This allows reading the wpa_supplicant log using the journalctl utility instead of checking the contents of the /var/log/wpa_supplicant.log file.

9.3.2. The compile-time support for wireless extensions in wpa_supplicant is disabled

The wpa_supplicant package does not support wireless extensions. When a user is trying to use wext as a command-line argument, or trying to use it on old adapters which only support wireless extensions, will not be able to run the wpa_supplicant daemon.

9.4. A new data chunk type, I-DATA, added to SCTP

This update adds a new data chunk type, I-DATA, and stream schedulers to the Stream Control Transmission Protocol (SCTP). Previously, SCTP sent user messages in the same order as they were sent by a user. Consequently, a large SCTP user message blocked all other messages in any stream until completely sent. When using I-DATA chunks, the Transmission Sequence Number (TSN) field is not overloaded. As a result, SCTP now can schedule the streams in different ways, and I-DATA allows user messages interleaving (RFC 8260). Note that both peers must support the I-DATA chunk type.

9.5. Notable TCP features in RHEL 8

Red Hat Enterprise Linux 8 is distributed with TCP networking stack version 4.18, which provides higher performances, better scalability, and more stability. Performances are boosted especially for busy TCP server with a high ingress connection rate.

Additionally, two new TCP congestion algorithms, BBR and NV, are available, offering lower latency, and better throughput than cubic in most scenarios.

9.5.1. TCP BBR support in RHEL 8

A new TCP congestion control algorithm, Bottleneck Bandwidth and Round-trip time (BBR) is now supported in Red Hat Enterprise Linux (RHEL) 8. BBR attempts to determine the bandwidth of the bottleneck link and the Round-trip time (RTT). Most congestion algorithms are based on packet loss (including CUBIC, the default Linux TCP congestion control algorithm), which have problems on high-throughput links. BBR does not react to loss events directly, it adjusts the TCP pacing rate to match it with the available bandwidth. Users of TCP BBR should switch to the fq queueing setting on all the involved interfaces.

Note that users should explicitly use fq and not fq_codel.

For more details, see the tc-fq man page.

9.7. Network interface name changes

In Red Hat Enterprise Linux 8, the same consistent network device naming scheme is used by default as in RHEL 7. However, certain kernel drivers, such as e1000e, nfp, qede, sfc, tg3 and bnxt_en changed their consistent name on a fresh installation of RHEL 8. However, the names are preserved on upgrade from RHEL 7.

9.8. The -ok option of the tc command removed

The -ok option of the tc command has been removed in Red Hat Enterprise Linux 8. As a workaround, users can implement code to communicate directly via netlink with the kernel. Response messages received, indicate completion and status of sent requests. An alternative way for less time-critical applications is to call tc for each command separately. This may happen with a custom script which simulates the tc -batch behavior by printing OK for each successful tc invocation.

Chapter 10. Kernel

10.1. Resource control

10.1.1. Control group v2 available as a Technology Preview in RHEL 8

Control group v2 mechanism is a unified hierarchy control group. Control group v2 organizes processes hierarchically and distributes system resources along the hierarchy in a controlled and configurable manner.

Unlike the previous version, control group v2 has only a single hierarchy. This single hierarchy enables the Linux kernel to:

  • Categorize processes based on the role of their owner.
  • Eliminate issues with conflicting policies of multiple hierarchies.

Control group v2 supports numerous controllers:

  • CPU controller regulates the distribution of CPU cycles. This controller implements:

    • Weight and absolute bandwidth limit models for normal scheduling policy.
    • Absolute bandwidth allocation model for real time scheduling policy.
  • Memory controller regulates the memory distribution. Currently, the following types of memory usages are tracked:

    • Userland memory - page cache and anonymous memory.
    • Kernel data structures such as dentries and inodes.
    • TCP socket buffers.
  • I/O controller regulates the distribution of I/O resources.
  • Remote Direct Memory Access (RDMA) controller limits RDMA/IB specific resources that certain processes can use. These processes are grouped through the RDMA controller.
  • Process number controller enables the control group to stop any new tasks from being fork()’d or clone()’d after a certain limit.
  • Writeback controller acts as a mechanism, which balances conflicts between I/O and the memory controllers.

The information above was based on cgroups-v2 online documentation. You can refer to the same link to obtain more information about particular control group v2 controllers.

10.2. Memory management

10.2.1. 52-bit PA for 64-bit ARM available

With this update, support for 52-bit physical addressing (PA) for the 64-bit ARM architecture is available. This provides a larger physical address space than previous 48-bit PA.

10.2.2. 5-level page tables x86_64

With Red Hat Enterprise Linux 7, existing memory bus had 48/46 bit of virtual/physical memory addressing capacity, and the Linux kernel implemented 4 levels of page tables to manage these virtual addresses to physical addresses. The physical bus addressing line put the physical memory upper limit capacity at 64 TB.

These limits have been extended to 57/52 bit of virtual/physical memory addressing with 128 PiB of virtual address space (64PB user/64PB kernel) and 4 PB of physical memory capacity.

With the extended address range, the memory management in Red Hat Enterprise Linux 8 adds support for 5-level page table implementation, to be able to handle the expanded address range. By default RHEL8 will disable the 5-level page table support even on systems that support this feature. This is due to a potential performance degradation when using 5 level of page tables if extended virtual or physical address space is not needed. A boot argument will enable systems with hardware that supports this feature to use it.

10.3. Performance analysis and observability tools

10.3.1. bpftool added to kernel

The bpftool utility that serves for inspection and simple manipulation of programs and maps based on extended Berkeley Packet Filtering (eBPF) has been added into the Linux kernel. bpftool is a part of the kernel source tree, and is provided by the bpftool package, which is included as a sub-package of the kernel package.

10.3.2. eBPF available as a Technology Preview

The extended Berkeley Packet Filtering (eBPF) feature is available as a Technology Preview for both networking and tracing. eBPF enables the user space to attach custom programs onto a variety of points (sockets, trace points, packet reception) to receive and process data. The feature includes a new system call bpf(), which supports creating various types of maps, and also to insert various types of programs into the kernel. Note that the bpf() syscall can be successfully used only by a user with the CAP_SYS_ADMIN capability, such as a root user. See the bpf(2) man page for more information.

10.3.3. BCC is available as a Technology Preview

BPF Compiler Collection (BCC) is a user space tool kit for creating efficient kernel tracing and manipulation programs that is available as a Technology Preview in Red Hat Enterprise Linux 8. BCC provides tools for I/O analysis, networking, and monitoring of Linux operating systems using the extended Berkeley Packet Filtering (eBPF).

10.4. Booting process

10.4.1. How to install and boot custom kernels in RHEL 8

The Boot Loader Specification (BLS) defines a scheme and file format to manage bootloader configurations for each boot option in a drop-in directory. There is no need to manipulate the individual drop-in configuration files. This premise is particularly relevant in Red Hat Enterprise Linux 8 because not all architectures use the same bootloader:

  • x86_64, aarch64 and ppc64le with open firmware use GRUB2
  • ppc64le with Open Power Abstraction Layer (OPAL) uses Petitboot
  • s390x uses zipl

Each bootloader has a different configuration file and format that has to be modified when a new kernel is installed or removed. In the previous versions of Red Hat Enterprise Linux the component that permitted this work was the grubby utility. However, for Red Hat Enterprise Linux 8 the bootloader configuration was standardized by implementing the BLS file format, where grubby works as a thin wrapper around the BLS operations.

Chapter 11. Hardware enablement

11.1. Removed hardware support

This section lists device drivers and adapters that were supported in RHEL 7 but are no longer available in RHEL 8.0.

11.1.1. Removed device drivers

Support for the following device drivers has been removed in RHEL 8:

  • 3w-9xxx
  • 3w-sas
  • aic79xx
  • aoe
  • arcmsr
  • ata drivers:

    • acard-ahci
    • sata_mv
    • sata_nv
    • sata_promise
    • sata_qstor
    • sata_sil
    • sata_sil24
    • sata_sis
    • sata_svw
    • sata_sx4
    • sata_uli
    • sata_via
    • sata_vsc
  • bfa
  • cxgb3
  • cxgb3i
  • e1000
  • floppy
  • hptiop
  • initio
  • isci
  • iw_cxgb3
  • mptbase
  • mptctl
  • mptsas
  • mptscsih
  • mptspi
  • mtip32xx
  • mvsas
  • mvumi
  • OSD drivers:

    • osd
    • libosd
  • osst
  • pata drivers:

    • pata_acpi
    • pata_ali
    • pata_amd
    • pata_arasan_cf
    • pata_artop
    • pata_atiixp
    • pata_atp867x
    • pata_cmd64x
    • pata_cs5536
    • pata_hpt366
    • pata_hpt37x
    • pata_hpt3x2n
    • pata_hpt3x3
    • pata_it8213
    • pata_it821x
    • pata_jmicron
    • pata_marvell
    • pata_netcell
    • pata_ninja32
    • pata_oldpiix
    • pata_pdc2027x
    • pata_pdc202xx_old
    • pata_piccolo
    • pata_rdc
    • pata_sch
    • pata_serverworks
    • pata_sil680
    • pata_sis
    • pata_via
    • pdc_adma
  • pm80xx(pm8001)
  • pmcraid
  • qla3xxx
  • stex
  • sx8
  • tulip
  • ufshcd
  • wireless drivers:

    • carl9170
    • iwl4965
    • iwl3945
    • mwl8k
    • rt73usb
    • rt61pci
    • rtl8187
    • wil6210

11.1.2. Removed adapters

Support for the adapters listed below has been removed in RHEL 8. Support for other than listed adapters from the mentioned drivers remains unchanged.

PCI IDs are in the format of vendor:device:subvendor:subdevice. If the subdevice or subvendor:subdevice entry is not listed, devices with any values of such missing entries have been removed.

To check the PCI IDs of the hardware on your system, run the lspci -nn command.

  • The following adapters from the aacraid driver have been removed:

    • PERC 2/Si (Iguana/PERC2Si), PCI ID 0x1028:0x0001:0x1028:0x0001
    • PERC 3/Di (Opal/PERC3Di), PCI ID 0x1028:0x0002:0x1028:0x0002
    • PERC 3/Si (SlimFast/PERC3Si), PCI ID 0x1028:0x0003:0x1028:0x0003
    • PERC 3/Di (Iguana FlipChip/PERC3DiF), PCI ID 0x1028:0x0004:0x1028:0x00d0
    • PERC 3/Di (Viper/PERC3DiV), PCI ID 0x1028:0x0002:0x1028:0x00d1
    • PERC 3/Di (Lexus/PERC3DiL), PCI ID 0x1028:0x0002:0x1028:0x00d9
    • PERC 3/Di (Jaguar/PERC3DiJ), PCI ID 0x1028:0x000a:0x1028:0x0106
    • PERC 3/Di (Dagger/PERC3DiD), PCI ID 0x1028:0x000a:0x1028:0x011b
    • PERC 3/Di (Boxster/PERC3DiB), PCI ID 0x1028:0x000a:0x1028:0x0121
    • catapult, PCI ID 0x9005:0x0283:0x9005:0x0283
    • tomcat, PCI ID 0x9005:0x0284:0x9005:0x0284
    • Adaptec 2120S (Crusader), PCI ID 0x9005:0x0285:0x9005:0x0286
    • Adaptec 2200S (Vulcan), PCI ID 0x9005:0x0285:0x9005:0x0285
    • Adaptec 2200S (Vulcan-2m), PCI ID 0x9005:0x0285:0x9005:0x0287
    • Legend S220 (Legend Crusader), PCI ID 0x9005:0x0285:0x17aa:0x0286
    • Legend S230 (Legend Vulcan), PCI ID 0x9005:0x0285:0x17aa:0x0287
    • Adaptec 3230S (Harrier), PCI ID 0x9005:0x0285:0x9005:0x0288
    • Adaptec 3240S (Tornado), PCI ID 0x9005:0x0285:0x9005:0x0289
    • ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk), PCI ID 0x9005:0x0285:0x9005:0x028a
    • ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator), PCI ID 0x9005:0x0285:0x9005:0x028b
    • ASR-2230S + ASR-2230SLP PCI-X (Lancer), PCI ID 0x9005:0x0286:0x9005:0x028c
    • ASR-2130S (Lancer), PCI ID 0x9005:0x0286:0x9005:0x028d
    • AAR-2820SA (Intruder), PCI ID 0x9005:0x0286:0x9005:0x029b
    • AAR-2620SA (Intruder), PCI ID 0x9005:0x0286:0x9005:0x029c
    • AAR-2420SA (Intruder), PCI ID 0x9005:0x0286:0x9005:0x029d
    • ICP9024RO (Lancer), PCI ID 0x9005:0x0286:0x9005:0x029e
    • ICP9014RO (Lancer), PCI ID 0x9005:0x0286:0x9005:0x029f
    • ICP9047MA (Lancer), PCI ID 0x9005:0x0286:0x9005:0x02a0
    • ICP9087MA (Lancer), PCI ID 0x9005:0x0286:0x9005:0x02a1
    • ICP5445AU (Hurricane44), PCI ID 0x9005:0x0286:0x9005:0x02a3
    • ICP9085LI (Marauder-X), PCI ID 0x9005:0x0285:0x9005:0x02a4
    • ICP5085BR (Marauder-E), PCI ID 0x9005:0x0285:0x9005:0x02a5
    • ICP9067MA (Intruder-6), PCI ID 0x9005:0x0286:0x9005:0x02a6
    • Themisto Jupiter Platform, PCI ID 0x9005:0x0287:0x9005:0x0800
    • Themisto Jupiter Platform, PCI ID 0x9005:0x0200:0x9005:0x0200
    • Callisto Jupiter Platform, PCI ID 0x9005:0x0286:0x9005:0x0800
    • ASR-2020SA SATA PCI-X ZCR (Skyhawk), PCI ID 0x9005:0x0285:0x9005:0x028e
    • ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator), PCI ID 0x9005:0x0285:0x9005:0x028f
    • AAR-2410SA PCI SATA 4ch (Jaguar II), PCI ID 0x9005:0x0285:0x9005:0x0290
    • CERC SATA RAID 2 PCI SATA 6ch (DellCorsair), PCI ID 0x9005:0x0285:0x9005:0x0291
    • AAR-2810SA PCI SATA 8ch (Corsair-8), PCI ID 0x9005:0x0285:0x9005:0x0292
    • AAR-21610SA PCI SATA 16ch (Corsair-16), PCI ID 0x9005:0x0285:0x9005:0x0293
    • ESD SO-DIMM PCI-X SATA ZCR (Prowler), PCI ID 0x9005:0x0285:0x9005:0x0294
    • AAR-2610SA PCI SATA 6ch, PCI ID 0x9005:0x0285:0x103C:0x3227
    • ASR-2240S (SabreExpress), PCI ID 0x9005:0x0285:0x9005:0x0296
    • ASR-4005, PCI ID 0x9005:0x0285:0x9005:0x0297
    • IBM 8i (AvonPark), PCI ID 0x9005:0x0285:0x1014:0x02F2
    • IBM 8i (AvonPark Lite), PCI ID 0x9005:0x0285:0x1014:0x0312
    • IBM 8k/8k-l8 (Aurora), PCI ID 0x9005:0x0286:0x1014:0x9580
    • IBM 8k/8k-l4 (Aurora Lite), PCI ID 0x9005:0x0286:0x1014:0x9540
    • ASR-4000 (BlackBird), PCI ID 0x9005:0x0285:0x9005:0x0298
    • ASR-4800SAS (Marauder-X), PCI ID 0x9005:0x0285:0x9005:0x0299
    • ASR-4805SAS (Marauder-E), PCI ID 0x9005:0x0285:0x9005:0x029a
    • ASR-3800 (Hurricane44), PCI ID 0x9005:0x0286:0x9005:0x02a2
    • Perc 320/DC, PCI ID 0x9005:0x0285:0x1028:0x0287
    • Adaptec 5400S (Mustang), PCI ID 0x1011:0x0046:0x9005:0x0365
    • Adaptec 5400S (Mustang), PCI ID 0x1011:0x0046:0x9005:0x0364
    • Dell PERC2/QC, PCI ID 0x1011:0x0046:0x9005:0x1364
    • HP NetRAID-4M, PCI ID 0x1011:0x0046:0x103c:0x10c2
    • Dell Catchall, PCI ID 0x9005:0x0285:0x1028
    • Legend Catchall, PCI ID 0x9005:0x0285:0x17aa
    • Adaptec Catch All, PCI ID 0x9005:0x0285
    • Adaptec Rocket Catch All, PCI ID 0x9005:0x0286
    • Adaptec NEMER/ARK Catch All, PCI ID 0x9005:0x0288
  • The following adapters from the mpt2sas driver have been removed:

    • SAS2004, PCI ID 0x1000:0x0070
    • SAS2008, PCI ID 0x1000:0x0072
    • SAS2108_1, PCI ID 0x1000:0x0074
    • SAS2108_2, PCI ID 0x1000:0x0076
    • SAS2108_3, PCI ID 0x1000:0x0077
    • SAS2116_1, PCI ID 0x1000:0x0064
    • SAS2116_2, PCI ID 0x1000:0x0065
    • SSS6200, PCI ID 0x1000:0x007E
  • The following adapters from the megaraid_sas driver have been removed:

    • Dell PERC5, PCI ID 0x1028:0x15
    • SAS1078R, PCI ID 0x1000:0x60
    • SAS1078DE, PCI ID 0x1000:0x7C
    • SAS1064R, PCI ID 0x1000:0x411
    • VERDE_ZCR, PCI ID 0x1000:0x413
    • SAS1078GEN2, PCI ID 0x1000:0x78
    • SAS0079GEN2, PCI ID 0x1000:0x79
    • SAS0073SKINNY, PCI ID 0x1000:0x73
    • SAS0071SKINNY, PCI ID 0x1000:0x71
  • The following adapters from the qla2xxx driver have been removed:

    • ISP24xx, PCI ID 0x1077:0x2422
    • ISP24xx, PCI ID 0x1077:0x2432
    • ISP2422, PCI ID 0x1077:0x5422
    • QLE220, PCI ID 0x1077:0x5432
    • QLE81xx, PCI ID 0x1077:0x8001
    • QLE10000, PCI ID 0x1077:0xF000
    • QLE84xx, PCI ID 0x1077:0x8044
    • QLE8000, PCI ID 0x1077:0x8432
    • QLE82xx, PCI ID 0x1077:0x8021
  • The following adapters from the qla4xxx driver have been removed:

    • QLOGIC_ISP8022, PCI ID 0x1077:0x8022
    • QLOGIC_ISP8324, PCI ID 0x1077:0x8032
    • QLOGIC_ISP8042, PCI ID 0x1077:0x8042
  • The following adapters from the be2iscsi driver have been removed:

    • BladeEngine 2 (BE2) devices

      • BladeEngine2 10Gb iSCSI Initiator (generic), PCI ID 0x19a2:0x212
      • OneConnect OCe10101, OCm10101, OCe10102, OCm10102 BE2 adapter family, PCI ID 0x19a2:0x702
      • OCe10100 BE2 adapter family, PCI ID 0x19a2:0x703
    • BladeEngine 3 (BE3) devices

      • OneConnect TOMCAT iSCSI, PCI ID 0x19a2:0x0712
      • BladeEngine3 iSCSI, PCI ID 0x19a2:0x0222
  • The following Ethernet adapters controlled by the be2net driver have been removed:

    • BladeEngine 2 (BE2) devices

      • OneConnect TIGERSHARK NIC, PCI ID 0x19a2:0x0700
      • BladeEngine2 Network Adapter, PCI ID 0x19a2:0x0211
    • BladeEngine 3 (BE3) devices

      • OneConnect TOMCAT NIC, PCI ID 0x19a2:0x0710
      • BladeEngine3 Network Adapter, PCI ID 0x19a2:0x0221
  • The following adapters from the lpfc driver have been removed:

    • BladeEngine 2 (BE2) devices

      • OneConnect TIGERSHARK FCoE, PCI ID 0x19a2:0x0704
    • BladeEngine 3 (BE3) devices

      • OneConnect TOMCAT FCoE, PCI ID 0x19a2:0x0714
    • Fibre Channel (FC) devices

      • FIREFLY, PCI ID 0x10df:0x1ae5
      • PROTEUS_VF, PCI ID 0x10df:0xe100
      • BALIUS, PCI ID 0x10df:0xe131
      • PROTEUS_PF, PCI ID 0x10df:0xe180
      • RFLY, PCI ID 0x10df:0xf095
      • PFLY, PCI ID 0x10df:0xf098
      • LP101, PCI ID 0x10df:0xf0a1
      • TFLY, PCI ID 0x10df:0xf0a5
      • BSMB, PCI ID 0x10df:0xf0d1
      • BMID, PCI ID 0x10df:0xf0d5
      • ZSMB, PCI ID 0x10df:0xf0e1
      • ZMID, PCI ID 0x10df:0xf0e5
      • NEPTUNE, PCI ID 0x10df:0xf0f5
      • NEPTUNE_SCSP, PCI ID 0x10df:0xf0f6
      • NEPTUNE_DCSP, PCI ID 0x10df:0xf0f7
      • FALCON, PCI ID 0x10df:0xf180
      • SUPERFLY, PCI ID 0x10df:0xf700
      • DRAGONFLY, PCI ID 0x10df:0xf800
      • CENTAUR, PCI ID 0x10df:0xf900
      • PEGASUS, PCI ID 0x10df:0xf980
      • THOR, PCI ID 0x10df:0xfa00
      • VIPER, PCI ID 0x10df:0xfb00
      • LP10000S, PCI ID 0x10df:0xfc00
      • LP11000S, PCI ID 0x10df:0xfc10
      • LPE11000S, PCI ID 0x10df:0xfc20
      • PROTEUS_S, PCI ID 0x10df:0xfc50
      • HELIOS, PCI ID 0x10df:0xfd00
      • HELIOS_SCSP, PCI ID 0x10df:0xfd11
      • HELIOS_DCSP, PCI ID 0x10df:0xfd12
      • ZEPHYR, PCI ID 0x10df:0xfe00
      • HORNET, PCI ID 0x10df:0xfe05
      • ZEPHYR_SCSP, PCI ID 0x10df:0xfe11
      • ZEPHYR_DCSP, PCI ID 0x10df:0xfe12
    • Lancer FCoE CNA devices

      • OCe15104-FM, PCI ID 0x10df:0xe260
      • OCe15102-FM, PCI ID 0x10df:0xe260
      • OCm15108-F-P, PCI ID 0x10df:0xe260

11.1.3. Other removed hardware support

11.1.3.1. FCoE software removal

Fibre Channel over Ethernet (FCoE) software has been removed from Red Hat Enterprise Linux 8. Specifically, the fcoe.ko kernel module is no longer available for creating software FCoE interfaces over Ethernet adapters and drivers. This change is due to a lack of industry adoption for software-managed FCoE.

Specific changes to Red Hat Enterprise 8 include:

  • The fcoe.ko kernel module is no longer available. This removes support for software FCoE with Data Center Bridging enabled Ethernet adapters and drivers.
  • Link-level software configuration via Data Center Bridging eXchange (DCBX) using lldpad is no longer supported for FCoE.

    • The fcoe-utils tools (specifically fcoemon) is configured by default to not validate DCB configuration or communicate with lldpad.
    • The lldpad integration in fcoemon might be permanently disabled.
  • The libhbaapi and libhbalinux libraries are no longer used by fcoe-utils, and will not undergo any direct testing from Red Hat.

Support for the following remains unchanged:

  • Currently supported offloading FCoE adapters that appear as Fibre Channel adapters to the operating system and do not use the fcoe-utils management tools, unless stated in a separate note. This applies to select adapters supported by the lpfc FC driver. Note that the bfa driver is not included in Red Hat Enterprise Linux 8.
  • Currently supported offloading FCoE adapters that do use the fcoe-utils management tools but have their own kernel drivers instead of fcoe.ko and manage DCBX configuration in their drivers and/or firmware, unless stated in a separate note. The fnic, bnx2fc, and qedf drivers will continue to be fully supported in Red Hat Enterprise Linux 8.
  • The libfc.ko and libfcoe.ko kernel modules that are required for some of the supported drivers covered by the previous statement.

For more information, see Section 12.2.8, “Software FCoE and Fibre Channel no longer support the target mode”.

11.1.3.2. The e1000 network driver is not supported in RHEL 8

In Red Hat Enterprise Linux 8, the e1000 network driver is not supported. This affects both bare metal and virtual environments. However, the newer e1000e network driver continues to be fully supported in RHEL 8.

11.1.3.3. RHEL 8 does not support the tulip driver

With this update, the tulip network driver is no longer supported. As a consequence, when using RHEL 8 on a Generation 1 virtual machine (VM) on the Microsoft Hyper-V hypervisor, the "Legacy Network Adapter" device does not work, which causes PXE installation of such VMs to fail.

For the PXE installation to work, install RHEL 8 on a Generation 2 Hyper-V VM. If you require a RHEL 8 Generation 1 VM, use ISO installation.

11.1.3.4. The qla2xxx driver no longer supports target mode

Support for target mode with the qla2xxx QLogic Fibre Channel driver has been disabled. The effects of this change are:

  • The kernel no longer provides the tcm_qla2xxx module.
  • The rtslib library and the targetcli utility no longer support qla2xxx.

Initiator mode with qla2xxx is still supported.

Chapter 12. File systems and storage

12.1. File systems

12.1.1. Btrfs has been removed

The Btrfs file system has been removed in Red Hat Enterprise Linux 8. This includes the following components:

  • The btrfs.ko kernel module
  • The btrfs-progs package
  • The snapper package

You can no longer create, mount, or install on Btrfs file systems in Red Hat Enterprise Linux 8. The Anaconda installer and the Kickstart commands no longer support Btrfs.

12.1.2. XFS now supports shared copy-on-write data extents

The XFS file system supports shared copy-on-write data extent functionality. This feature enables two or more files to share a common set of data blocks. When either of the files sharing common blocks changes, XFS breaks the link to common blocks and creates a new file. This is similar to the copy-on-write (COW) functionality found in other file systems.

Shared copy-on-write data extents are:

Fast
Creating shared copies does not utilize disk I/O.
Space-efficient
Shared blocks do not consume additional disk space.
Transparent
Files sharing common blocks act like regular files.

Userspace utilities can use shared copy-on-write data extents for:

  • Efficient file cloning, such as with the cp --reflink command
  • Per-file snapshots

This functionality is also used by kernel subsystems such as Overlayfs and NFS for more efficient operation.

Shared copy-on-write data extents are now enabled by default when creating an XFS file system, starting with the xfsprogs package version 4.17.0-2.el8.

Note that Direct Access (DAX) devices currently do not support XFS with shared copy-on-write data extents. To create an XFS file system without this feature, use the following command:

# mkfs.xfs -m reflink=0 block-device

Red Hat Enterprise Linux 7 can mount XFS file systems with shared copy-on-write data extents only in the read-only mode.

12.1.3. The ext4 file system now supports metadata checksums

With this update, ext4 metadata is protected by checksums. This enables the file system to recognize the corrupt metadata, which avoids damage and increases the file system resilience.

12.1.4. The /etc/sysconfig/nfs file and legacy NFS service names are no longer available

In Red Hat Enterprise Linux 8.0, the NFS configuration has moved from the /etc/sysconfig/nfs configuration file, which was used in Red Hat Enterprise Linux 7, to /etc/nfs.conf.

The /etc/nfs.conf file uses a different syntax. Red Hat Enterprise Linux 8 attempts to automatically convert all options from /etc/sysconfig/nfs to /etc/nfs.conf when upgrading from Red Hat Enterprise Linux 7.

Both configuration files are supported in Red Hat Enterprise Linux 7. Red Hat recommends that you use the new /etc/nfs.conf file to make NFS configuration in all versions of Red Hat Enterprise Linux compatible with automated configuration systems.

Additionally, the following NFS service aliases have been removed and replaced by their upstream names:

  • nfs.service, replaced by nfs-server.service
  • nfs-secure.service, replaced by rpc-gssd.service
  • rpcgssd.service, replaced by rpc-gssd.service
  • nfs-idmap.service, replaced by nfs-idmapd.service
  • rpcidmapd.service, replaced by nfs-idmapd.service
  • nfs-lock.service, replaced by rpc-statd.service
  • nfslock.service, replaced by rpc-statd.service

12.2. Storage

12.2.1. The BOOM boot manager simplifies the process of creating boot entries

BOOM is a boot manager for Linux systems that use boot loaders supporting the BootLoader Specification for boot entry configuration. It enables flexible boot configuration and simplifies the creation of new or modified boot entries: for example, to boot snapshot images of the system created using LVM.

BOOM does not modify the existing boot loader configuration, and only inserts additional entries. The existing configuration is maintained, and any distribution integration, such as kernel installation and update scripts, continue to function as before.

BOOM has a simplified command-line interface (CLI) and API that ease the task of creating boot entries.

12.2.2. Stratis is now available

Stratis is a new local storage manager. It provides managed file systems on top of pools of storage with additional features to the user.

Stratis enables you to more easily perform storage tasks such as:

  • Manage snapshots and thin provisioning
  • Automatically grow file system sizes as needed
  • Maintain file systems

To administer Stratis storage, use the stratis utility, which communicates with the stratisd background service.

Stratis is provided as a Technology Preview.

For more information, see the Stratis documentation: Managing layered local storage with Stratis.

12.2.3. LUKS2 is now the default format for encrypting volumes

In RHEL 8, the LUKS version 2 (LUKS2) format replaces the legacy LUKS (LUKS1) format. The dm-crypt subsystem and the cryptsetup tool now uses LUKS2 as the default format for encrypted volumes. LUKS2 provides encrypted volumes with metadata redundancy and auto-recovery in case of a partial metadata corruption event.

Due to the internal flexible layout, LUKS2 is also an enabler of future features. It supports auto-unlocking through the generic kernel-keyring token built in libcryptsetup that allow users unlocking of LUKS2 volumes using a passphrase stored in the kernel-keyring retention service.

Other notable enhancements include:

  • The protected key setup using the wrapped key cipher scheme.
  • Easier integration with Policy-Based Decryption (Clevis).
  • Up to 32 key slots - LUKS1 provides only 8 key slots.

For more details, see the cryptsetup(8) and cryptsetup-reencrypt(8) man pages.

12.2.4. Multiqueue scheduling on block devices

Block devices now use multiqueue scheduling in Red Hat Enterprise Linux 8. This enables the block layer performance to scale well with fast solid-state drives (SSDs) and multi-core systems.

The SCSI Multiqueue (scsi-mq) driver is now enabled by default, and the kernel boots with the scsi_mod.use_blk_mq=Y option. This change is consistent with the upstream Linux kernel.

Device Mapper Multipath (DM Multipath) requires the scsi-mq driver to be active.

12.2.5. VDO now supports all architectures

Virtual Data Optimizer (VDO) is now available on all of the architectures supported by RHEL 8.

12.2.6. VDO no longer supports read cache

The read cache functionality has been removed from Virtual Data Optimizer (VDO). The read cache is always disabled on VDO volumes, and you can no longer enable it using the --readCache option of the vdo utility.

Red Hat might reintroduce the VDO read cache in a later Red Hat Enterprise Linux release, using a different implementation.

12.2.7. The dmraid package has been removed

The dmraid package has been removed from Red Hat Enterprise Linux 8. Users requiring support for combined hardware and software RAID host bus adapters (HBA) should use the mdadm utility, which supports native MD software RAID, the SNIA RAID Common Disk Data Format (DDF), and the Intel® Matrix Storage Manager (IMSM) formats.

12.2.8. Software FCoE and Fibre Channel no longer support the target mode

  • Software FCoE: NIC Software FCoE target functionality is removed in Red Hat Enterprise Linux 8.0.
  • Fibre Channel no longer supports the target mode. Target mode is disabled for the qla2xxx QLogic Fibre Channel driver in Red Hat Enterprise Linux 8.0.

For more information, see Section 11.1.3.1, “FCoE software removal”.

12.2.9. The detection of marginal paths in DM Multipath has been improved

The multipathd service now supports improved detection of marginal paths. This helps multipath devices avoid paths that are likely to fail repeatedly, and improves performance. Marginal paths are paths with persistent but intermittent I/O errors.

The following options in the /etc/multipath.conf file control marginal paths behavior:

  • marginal_path_double_failed_time
  • marginal_path_err_sample_time
  • marginal_path_err_rate_threshold
  • marginal_path_err_recheck_gap_time

DM Multipath disables a path and tests it with repeated I/O for the configured sample time if:

  • the listed multipath.conf options are set,
  • a path fails twice in the configured time, and
  • other paths are available.

If the path has more than the configured err rate during this testing, DM Multipath ignores it for the configured gap time, and then retests it to see if it is working well enough to be reinstated.

For more information, see the multipath.conf man page.

12.2.10. New overrides section of the DM Multipath configuration file

The /etc/multipath.conf file now includes an overrides section that allows you to set a configuration value for all of your devices. These attributes are used by DM Multipath for all devices unless they are overwritten by the attributes specified in the multipaths section of the /etc/multipath.conf file for paths that contain the device. This functionality replaces the all_devs parameter of the devices section of the configuration file, which is no longer supported.

12.2.11. NVMe/FC is fully supported on Broadcom Emulex and Marvell Qlogic Fibre Channel adapters

The NVMe over Fibre Channel (NVMe/FC) transport type is now fully supported in Initiator mode when used with Broadcom Emulex and Marvell Qlogic Fibre Channel 32Gbit adapters that feature NVMe support.

NVMe over Fibre Channel is an additional fabric transport type for the Nonvolatile Memory Express (NVMe) protocol, in addition to the Remote Direct Memory Access (RDMA) protocol that was previously introduced in Red Hat Enterprise Linux.

Enabling NVMe/FC:

  • To enable NVMe/FC in the lpfc driver, edit the /etc/modprobe.d/lpfc.conf file and add the following option:

    lpfc_enable_fc4_type=3
  • To enable NVMe/FC in the qla2xxx driver, edit the /etc/modprobe.d/qla2xxx.conf file and add the following option:

    qla2xxx.ql2xnvmeenable=1

Additional restrictions:

  • Multipath is not supported with NVMe/FC.
  • NVMe clustering is not supported with NVMe/FC.
  • With Marvell Qlogic adapters, Red Hat Enterprise Linux does not support using NVMe/FC and SCSI/FC on an initiator port at the same time.
  • kdump is not supported with NVMe/FC.
  • Booting from Storage Area Network (SAN) NVMe/FC is not supported.

12.2.12. Support for Data Integrity Field/Data Integrity Extension (DIF/DIX)

DIF/DIX is an addition to the SCSI Standard. It remains in Technology Preview for all HBAs and storage arrays, except for those specifically listed as supported.

DIF/DIX increases the size of the commonly used 512 byte disk block from 512 to 520 bytes, adding the Data Integrity Field (DIF). The DIF stores a checksum value for the data block that is calculated by the Host Bus Adapter (HBA) when a write occurs. The storage device then confirms the checksum on receipt, and stores both the data and the checksum. Conversely, when a read occurs, the checksum can be verified by the storage device, and by the receiving HBA.

12.3. LVM

12.3.1. Removal of clvmd for managing shared storage devices

LVM no longer uses clvmd (cluster lvm daemon) for managing shared storage devices. Instead, LVM now uses lvmlockd (lvm lock daemon).

  • For details about using lvmlockd, see the lvmlockd(8) man page. For details about using shared storage in general, see the lvmsystemid(7) man page.
  • For information on using LVM in a Pacemaker cluster, see the help screen for the LVM-activate resource agent.
  • For an example of a procedure to configure a shared logical volume in a Red Hat High Availability cluster, see Configuring a GFS2 file system in a cluster.

12.3.2. Removal of lvmetad daemon

LVM no longer uses the lvmetad daemon for caching metadata, and will always read metadata from disk. LVM disk reading has been reduced, which reduces the benefits of caching.

Previously, autoactivation of logical volumes was indirectly tied to the use_lvmetad setting in the lvm.conf configuration file. The correct way to disable autoactivation continues to be setting auto_activation_volume_list in the lvm.conf file.

12.3.3. LVM can no longer manage devices formatted with the GFS pool volume manager or the lvm1 metadata format.

LVM can no longer manage devices formatted with the GFS pool volume manager or the`lvm1` metadata format. if you created your logical volume before Red Hat Enterprise Linux 4 was introduced, then this may affect you. Volume groups using the lvm1 format should be converted to the lvm2 format using the vgconvert command.

12.3.4. LVM libraries and LVM Python bindings have been removed

The lvm2app library and LVM Python bindings, which were provided by the lvm2-python-libs package, have been removed. Red Hat recommends the following solutions instead:

  • The LVM D-Bus API in combination with the lvm2-dbusd service. This requires using Python version 3.
  • The LVM command-line utilities with JSON formatting; this formatting has been available since the lvm2 package version 2.02.158.
  • The libblockdev library, included in AppStream, for C/C++

You must port any applications using the removed libraries and bindings to the D-Bus API before upgrading to Red Hat Enterprise Linux 8.

12.3.5. The ability to mirror the log for LVM mirrors has been removed

The mirrored log feature of mirrored LVM volumes has been removed. Red Hat Enterprise Linux (RHEL) 8 no longer supports creating or activating LVM volumes with a mirrored mirror log.

The recommended replacements are:

  • RAID1 LVM volumes. The main advantage of RAID1 volumes is their ability to work even in degraded mode and to recover after a transient failure.
  • Disk mirror log. To convert a mirrored mirror log to disk mirror log, use the following command: lvconvert --mirrorlog disk my_vg/my_lv.

Chapter 13. High availability and clusters

In Red Hat Enterprise Linux 8, pcs fully supports the Corosync 3 cluster engine and the Kronosnet (knet) network abstraction layer for cluster communication. When planning an upgrade to a RHEL 8 cluster from an existing RHEL 7 cluster, some of the considerations you must take into account are as follows:

  • Application versions: What version of the highly-available application will the RHEL 8 cluster require?
  • Application process order: What may need to change in the start and stop processes of the application?
  • Cluster infrastructure: Since pcs supports multiple network connections in RHEL 8, does the number of NICs known to the cluster change?
  • Needed packages: Do you need to install all of the same packages on the new cluster?

Because of these and other considerations for running a Pacemaker cluster in RHEL 8, it is not possible to perform in-place upgrades from RHEL 7 to RHEL 8 clusters and you must configure a new cluster in RHEL 8. You cannot run a cluster that includes nodes running both RHEL 7 and RHEL 8.

Additionally, you should plan for the following before performing an upgrade:

  • Final cutover: What is the process to stop the application running on the old cluster and start it on the new cluster to reduce application downtime?
  • Testing: Is it possible to test your migration strategy ahead of time in a development/test environment?

The major differences in cluster creation and administration between RHEL 7 and RHEL 8 are listed in the following sections.

13.1. New formats for pcs cluster setup, pcs cluster node add and pcs cluster node remove commands

In Red Hat Enterprise Linux 8, pcs fully supports the use of node names, which are now required and replace node addresses in the role of node identifier. Node addresses are now optional.

  • In the pcs host auth command, node addresses default to node names.
  • In the pcs cluster setup and pcs cluster node add commands, node addresses default to the node addresses specified in the pcs host auth command.

With these changes, the formats for the commands to set up a cluster, add a node to a cluster, and remove a node from a cluster have changed. For information on these new command formats, see the help display for the pcs cluster setup, pcs cluster node add and pcs cluster node remove commands.

13.2. Master resources renamed to promotable clone resources

Red Hat Enterprise Linux (RHEL) 8 supports Pacemaker 2.0, in which a master/slave resource is no longer a separate type of resource but a standard clone resource with a promotable meta-attribute set to true. The following changes have been implemented in support of this update:

  • It is no longer possible to create master resources with the pcs command. Instead, it is possible to create promotable clone resources. Related keywords and commands have been changed from master to promotable.
  • All existing master resources are displayed as promotable clone resources.
  • When managing a RHEL7 cluster in the Web UI, master resources are still called master, as RHEL7 clusters do not support promotable clones.

13.3. New commands for authenticating nodes in a cluster

Red Hat Enterprise Linux (RHEL) 8 incorporates the following changes to the commands used to authenticate nodes in a cluster.

  • The new command for authentication is pcs host auth. This command allows users to specify host names, addresses and pcsd ports.
  • The pcs cluster auth command authenticates only the nodes in a local cluster and does not accept a node list
  • It is now possible to specify an address for each node. pcs/pcsd will then communicate with each node using the specified address. These addresses can be different than the ones corosync uses internally.
  • The pcs pcsd clear-auth command has been replaced by the pcs pcsd deauth and pcs host deauth commands. The new commands allow users to deauthenticate a single host as well as all hosts.
  • Previously, node authentication was bidirectional, and running the pcs cluster auth command caused all specified nodes to be authenticated against each other. The pcs host auth command, however, causes only the local host to be authenticated against the specified nodes. This allows better control of what node is authenticated against what other nodes when running this command. On cluster setup itself, and also when adding a node, pcs automatically synchronizes tokens on the cluster, so all nodes in the cluster are still automatically authenticated as before and the cluster nodes can communicate with each other.

Note that these changes are not backward compatible. Nodes that were authenticated on a RHEL 7 system will need to be authenticated again.

13.4. LVM volumes in a Red Hat High Availability active/passive cluster

When configuring LVM volumes as resources in a Red Hat HA active/passive cluster in RHEL 8, you configure the volumes as an LVM-activate resource. In RHEL 7, you configured the volumes as an LVM resource. For an example of a cluster configuration procedure that includes configuring an LVM volume as a resource in an active/passive cluster in RHEL 8, see Configuring an active/passive Apache HTTP server in a Red Hat High Availability cluster.

13.5. Shared LVM volumes in a Red Hat High Availability active/active cluster

In Red Hat Enterprise Linux 8, LVM uses the LVM lock daemon lvmlockd instead of clvmd for managing shared storage devices in an active/active cluster. This requires that you configure the logical volumes on which you mount a GFS2 file system as shared logical volumes. Additionally, this requires that you use the LVM-activate resource agent to manage an LVM volume and that you use the lvmlockd resource agent to manage the lvmlockd daemon. For a full procedure for configuring a RHEL 8 Pacemaker cluster that includes GFS2 file systems using shared logical volumes, see Configuring a GFS2 file system in a cluster.

13.6. GFS2 file systems in a RHEL 8 Pacemaker cluster

In Red Hat Enterprise Linux 8, LVM uses the LVM lock daemon lvmlockd instead of clvmd for managing shared storage devices in an active/active cluster as described in Section 12.3.1, “Removal of clvmd for managing shared storage devices”.

In order to use GFS2 file systems that were created on a RHEL 7 system in a RHEL 8 cluster, you must configure the logical volumes on which they are mounted as shared logical volumes in a RHEL 8 system, and you must start locking for the volume group. For an example of the procedure that configures existing RHEL 7 logical volumes as shared logical volumes for use in a RHEL 8 Pacemaker cluster, see Migrating a GFS2 file system from RHEL7 to RHEL8.

Chapter 14. Shells and command-line tools

14.1. Localization is distributed in multiple packages

In Red Hat Enterprise Linux (RHEL) 8, locales and translations are no longer provided by the single glibc-common package. Instead, every locale and language is available in a glibc-langpack-CODE package. Additionally, not all locales are installed by default, only these selected in the installer. Users must install all further locale packages that they need separately.

The meta-packages which install extra add-on packages containing translations, dictionaries and locales for every package installed on the system are called langpacks.

See more information about Installing and using langpacks.

14.2. Removed support for all-numeric user and group names

In Red Hat Enterprise Linux (RHEL) 8, the useradd and groupadd commands does not allow you to use user and group names consisting purely of numeric characters. The reason for not allowing such names is that this can confuse tools that work with user and group names and user and group ids, which are numbers.

See more information about Managing users using command-line tools.

14.3. The nobody user replaces nfsnobody

Red Hat Enterprise Linux (RHEL) 7 used the nobody user and group pair with the ID of 99 and the nfsnobody user and group pair with the ID of 65534, which is also the default kernel overflow ID.

In RHEL 8, both of these pair have been merged into the nobody user and group pair, which uses the ID of 65534. The nfsnobody pair is not created in RHEL 8.

This change reduces the confusion about files that are owned by nobody but are not related to NFS.

14.4. Version control systems

RHEL 8 provides the following version control systems:

  • Git 2.18, a distributed revision control system with a decentralized architecture.
  • Mercurial 4.8, a lightweight distributed version control system, designed for efficient handling of large projects.
  • Subversion 1.10, a centralized version control system.

Note that the Concurrent Versions System (CVS) and Revision Control System (RCS), available in RHEL 7, are not distributed with RHEL 8.

14.4.1. Notable changes in Subversion 1.10

Subversion 1.10 introduces a number of new features since the version 1.7 distributed in RHEL 7, as well as the following compatibility changes:

  • Due to incompatibilities in the Subversion libraries used for supporting language bindings, Python 3 bindings for Subversion 1.10 are unavailable. As a consequence, applications that require Python bindings for Subversion are unsupported.
  • Repositories based on Berkeley DB are no longer supported. Before migrating, back up repositories created with Subversion 1.7 by using the svnadmin dump command. After installing RHEL 8, restore the repositories using the svnadmin load command.
  • Existing working copies checked out by the Subversion 1.7 client in RHEL 7 must be upgraded to the new format before they can be used from Subversion 1.10. After installing RHEL 8, run the svn upgrade command in each working copy.
  • Smartcard authentication for accessing repositories using https:// is no longer supported.

Chapter 15. Dynamic programming languages, web servers, database servers

15.1. Dynamic programming languages

15.1.1. Notable changes in Python

15.1.1.1. Python 3 is the default Python implementation in RHEL 8

Red Hat Enterprise Linux 8 is distributed with Python 3.6. The package might not be installed by default. To install Python 3.6, use the yum install python3 command.

Python 2.7 is available in the python2 package. However, Python 2 will have a shorter life cycle and its aim is to facilitate a smoother transition to Python 3 for customers.

Neither the default python package nor the unversioned /usr/bin/python executable is distributed with RHEL 8. Customers are advised to use python3 or python2 directly. Alternatively, administrators can configure the unversioned python command using the alternatives command.

For details, see Using Python in Red Hat Enterprise Linux 8.

15.1.1.2. Migrating from Python 2 to Python 3

As a developer, you may want to migrate your former code that is written in Python 2 to Python 3. For more information on how to migrate large code bases to Python 3, see The Conservative Python 3 Porting Guide.

Note that after this migration, the original Python 2 code becomes interpretable by the Python 3 interpreter and stays interpretable for the Python 2 interpreter as well.

15.1.1.3. Configuring the unversioned Python

System administrators can configure the unversioned python command on the system using the alternatives command. Note that the required package, either python3 or python2, needs to be installed before configuring the unversioned command to the respective version.

To configure the unversioned python command to Python 3 directly, run:

alternatives --set python /usr/bin/python3

Use an analogous command if you choose Python 2.

Alternatively, you can configure the unversioned python command interactively:

  1. Run the following command:

    alternatives --config python
  2. Select the required version from the provided list.

To reset this configuration and remove the unversioned python command, run:

alternatives --auto python
Warning

Additional Python-related commands, such as pip3, do not have configurable unversioned variants.

15.1.1.4. Python scripts must specify major version in hashbangs at RPM build time

In RHEL 8, executable Python scripts are expected to use hashbangs (shebangs) specifying explicitly at least the major Python version.

The /usr/lib/rpm/redhat/brp-mangle-shebangs buildroot policy (BRP) script is run automatically when building any RPM package. This script attempts to correct hashbangs in all executable files. When the script encounters ambiguous Python hashbangs that do not specify the major version of Python, it generates errors and the RPM build fails. Examples of such ambiguous hashbangs include:

  • #! /usr/bin/python
  • #! /usr/bin/env python

To modify hashbangs in the Python scripts causing these build errors at RPM build time, use the pathfix.py script from the platform-python-devel package:

pathfix.py -pn -i %{__python3} PATH ...

Multiple PATHs can be specified. If a PATH is a directory, pathfix.py recursively scans for any Python scripts matching the pattern ^[a-zA-Z0-9_]+\.py$, not only those with an ambiguous hashbang. Add the command for running pathfix.py to the %prep section or at the end of the %install section.

For more information, see Handling hashbangs in Python scripts.

15.1.1.5. Python binding of the net-snmp package is unavailable

The Net-SNMP suite of tools does not provide binding for Python 3, which is the default Python implementation in RHEL 8. Consequently, python-net-snmp, python2-net-snmp, or python3-net-snmp packages are unavailable in RHEL 8.

15.1.1.6. Additional resources

15.1.2. Notable changes in PHP

Red Hat Enterprise Linux 8 is distributed with PHP 7.2. This version introduces the following major changes over PHP 5.4, which is available in RHEL 7:

  • PHP uses FastCGI Process Manager (FPM) by default (safe for use with a threaded httpd)
  • The php_value and php-flag variables should no longer be used in the httpd configuration files; they should be set in pool configuration instead: /etc/php-fpm.d/*.conf
  • PHP script errors and warnings are logged to the /var/log/php-fpm/www-error.log file instead of /var/log/httpd/error.log
  • When changing the PHP max_execution_time configuration variable, the httpd ProxyTimeout setting should be increased to match
  • The user running PHP scripts is now configured in the FPM pool configuration (the /etc/php-fpm/d/www.conf file; the apache user is the default)
  • The php-fpm service needs to be restarted after a configuration change or after a new extension is installed
  • The zip extension has been moved from the php-common package to a separate package, php-pecl-zip

The following extensions have been removed:

  • aspell
  • mysql (note that the mysqli and pdo_mysql extensions are still available, provided by php-mysqlnd package)
  • memcache

15.1.3. Notable changes in Perl

Perl 5.26, distributed with RHEL 8, introduces the following changes over the version available in RHEL 7:

  • Unicode 9.0 is now supported.
  • New op-entry, loading-file, and loaded-file SystemTap probes are provided.
  • Copy-on-write mechanism is used when assigning scalars for improved performance.
  • The IO::Socket::IP module for handling IPv4 and IPv6 sockets transparently has been added.
  • The Config::Perl::V module to access perl -V data in a structured way has been added.
  • A new perl-App-cpanminus package has been added, which contains the cpanm utility for getting, extracting, building, and installing modules from the Comprehensive Perl Archive Network (CPAN) repository.
  • The current directory . has been removed from the @INC module search path for security reasons.
  • The do statement now returns a deprecation warning when it fails to load a file because of the behavioral change described above.
  • The do subroutine(LIST) call is no longer supported and results in a syntax error.
  • Hashes are randomized by default now. The order in which keys and values are returned from a hash changes on each perl run. To disable the randomization, set the PERL_PERTURB_KEYS environment variable to 0.
  • Unescaped literal { characters in regular expression patterns are no longer permissible.
  • Lexical scope support for the $_ variable has been removed.
  • Using the defined operator on an array or a hash results in a fatal error.
  • Importing functions from the UNIVERSAL module results in a fatal error.
  • The find2perl, s2p, a2p, c2ph, and pstruct tools have been removed.
  • The ${^ENCODING} facility has been removed. The encoding pragma’s default mode is no longer supported. To write source code in other encoding than UTF-8, use the encoding’s Filter option.
  • The perl packaging is now aligned with upstream. The perl package installs also core modules, while the /usr/bin/perl interpreter is provided by the perl-interpreter package. In previous releases, the perl package included just a minimal interpreter, whereas the perl-core package included both the interpreter and the core modules.
  • The IO::Socket::SSL Perl module no longer loads a certificate authority certificate from the ./certs/my-ca.pem file or the ./ca directory, a server private key from the ./certs/server-key.pem file, a server certificate from the ./certs/server-cert.pem file, a client private key from the ./certs/client-key.pem file, and a client certificate from the ./certs/client-cert.pem file. Specify the paths to the files explicitly instead.

15.1.4. Notable changes in Ruby

RHEL 8 provides Ruby 2.5, which introduces numerous new features and enhancements over Ruby 2.0.0 available in RHEL 7. Notable changes include:

  • Incremental garbage collector has been added.
  • The Refinements syntax has been added.
  • Symbols are now garbage collected.
  • The $SAFE=2 and $SAFE=3 safe levels are now obsolete.
  • The Fixnum and Bignum classes have been unified into the Integer class.
  • Performance has been improved by optimizing the Hash class, improved access to instance variables, and the Mutex class being smaller and faster.
  • Certain old APIs have been deprecated.
  • Bundled libraries, such as RubyGems, Rake, RDoc, Psych, Minitest, and test-unit, have been updated.
  • Other libraries, such as mathn, DL, ext/tk, and XMLRPC, which were previously distributed with Ruby, are deprecated or no longer included.
  • The SemVer versioning scheme is now used for Ruby versioning.

15.1.5. Notable changes in SWIG

RHEL 8 includes the Simplified Wrapper and Interface Generator (SWIG) version 3.0, which provides numerous new features, enhancements, and bug fixes over the version 2.0 distributed in RHEL 7. Most notably, support the C++11 standard has been implemented. SWIG now supports also Go 1.6, PHP 7, Octave 4.2, and Python 3.5.

15.1.6. Node.js new in RHEL

Node.js, a software development platform for building fast and scalable network applications in the JavaScript programming language, is provided for the first time in RHEL. It was previously available only as a Software Collection. RHEL 8 provides Node.js 10.

15.1.7. Tcl

Tool command language (Tcl) is a dynamic programming language. The interpreter for this language, together with the C library, is provided by the tcl package.

Using Tcl paired with Tk (Tcl/Tk) enables creating cross-platform GUI applications. Tk is provided by the tk package.

Note that Tk can refer to any of the the following:

  • A programming toolkit for multiple languages
  • A Tk C library bindings available for multiple languages, such as C, Ruby, Perl and Python
  • A wish interpreter that instantiates a Tk console
  • A Tk extension that adds a number of new commands to a particular Tcl interpreter

15.1.7.1. Notable changes in Tcl/Tk 8.6

RHEL 8 is distributed with Tcl/Tk version 8.6, which provides multiple notable changes over Tcl/Tk version 8.5:

  • Object-oriented programming support
  • Stackless evaluation implementation
  • Enhanced exceptions handling
  • Collection of third-party packages built and installed with Tcl
  • Multi-thread operations enabled
  • SQL database-powered scripts support
  • IPv6 networking support
  • Built-in Zlib compression
  • List processing

    Two new commands, lmap and dict map are available, which allow the expression of transformations over Tcl containers.

  • Stacked channels by script

    Two new commands, chan push and chan pop are available, which allow to add or remove transformations to or from I/O channels.

For more detailed information about Tcl/Tk version 8.6 changes and new feaures, see the following resources:

If you need to migrate to Tcl/Tk 8.6, see Migrating to Tcl/Tk 8.6.

15.2. Web servers

15.2.1. Notable changes in the Apache HTTP Server

The Apache HTTP Server, has been updated from version 2.4.6 to version 2.4.37 between RHEL 7 and RHEL 8. This updated version includes several new features, but maintains backwards compatibility with the RHEL 7 version at the level of configuration and Application Binary Interface (ABI) of external modules.

New features include:

  • HTTP/2 support is now provided by the mod_http2 package, which is a part of the httpd module.
  • systemd socket activation is supported. See httpd.socket(8) man page for more details.
  • Multiple new modules have been added:

    • mod_proxy_hcheck - a proxy health-check module
    • mod_proxy_uwsgi - a Web Server Gateway Interface (WSGI) proxy
    • mod_proxy_fdpass - provides support for the passing the socket of the client to another process
    • mod_cache_socache - an HTTP cache using, for example, memcache backend
    • mod_md - an ACME protocol SSL/TLS certificate service
  • The following modules now load by default:

    • mod_request
    • mod_macro
    • mod_watchdog
  • A new subpackage, httpd-filesystem, has been added, which contains the basic directory layout for the Apache HTTP Server including the correct permissions for the directories.
  • Instantiated service support, httpd@.service has been introduced. See the httpd.service man page for more information.
  • A new httpd-init.service replaces the %post script to create a self-signed mod_ssl key pair.
  • Automated TLS certificate provisioning and renewal using the Automatic Certificate Management Environment (ACME) protocol is now supported with the mod_md package (for use with certificate providers such as Let’s Encrypt).
  • The Apache HTTP Server now supports loading TLS certificates and private keys from hardware security tokens directly from PKCS#11 modules. As a result, a mod_ssl configuration can now use PKCS#11 URLs to identify the TLS private key, and, optionally, the TLS certificate in the SSLCertificateKeyFile and SSLCertificateFile directives.
  • A new ListenFree directive in the /etc/httpd/conf/httpd.conf file is now supported.

    Similarly to the Listen directive, ListenFree provides information about IP addresses, ports, or IP address-and-port combinations that the server listens to. However, with ListenFree, the IP_FREEBIND socket option is enabled by default. Hence, httpd is allowed to bind to a nonlocal IP address or to an IP address that does not exist yet. This allows httpd to listen on a socket without requiring the underlying network interface or the specified dynamic IP address to be up at the time when httpd is trying to bind to it.

    Note that the ListenFree directive is currently available only in RHEL 8.

    For more details on ListenFree, see the following table:

    Table 15.1. ListenFree directive’s syntax, status, and modules

    SyntaxStatusModules

    ListenFree [IP-address:]portnumber [protocol]

    MPM

    event, worker, prefork, mpm_winnt, mpm_netware, mpmt_os2

Other notable changes include:

  • The following modules have been removed:

    • mod_file_cache
    • mod_nss
    • mod_perl
  • The default type of the DBM authentication database used by the Apache HTTP Server in RHEL 8 has been changed from SDBM to db5.
  • The mod_wsgi module for the Apache HTTP Server has been updated to Python 3. WSGI applications are now supported only with Python 3, and must be migrated from Python 2.
  • The multi-processing module (MPM) configured by default with the Apache HTTP Server has changed from a multi-process, forked model (known as prefork) to a high-performance multi-threaded model, event.

    Any third-party modules that are not thread-safe need to be replaced or removed. To change the configured MPM, edit the /etc/httpd/conf.modules.d/00-mpm.conf file. See the httpd.service(8) man page for more information.

  • The minimum UID and GID allowed for users by suEXEC are now 1000 and 500, respectively (previously 100 and 100).
  • The /etc/sysconfig/httpd file is no longer a supported interface for setting environment variables for the httpd service. The httpd.service(8) man page has been added for the systemd service.
  • Stopping the httpd service now uses a “graceful stop” by default.
  • The mod_auth_kerb module has been replaced by the mod_auth_gssapi module.

For instructions on deploying, see Setting up the Apache HTTP web server.

15.2.2. The nginx web server new in RHEL

RHEL 8 introduces nginx 1.14, a web and proxy server supporting HTTP and other protocols, with a focus on high concurrency, performance, and low memory usage. nginx was previously available only as a Software Collection.

The nginx web server now supports loading TLS private keys from hardware security tokens directly from PKCS#11 modules. As a result, an nginx configuration can use PKCS#11 URLs to identify the TLS private key in the ssl_certificate_key directive.

15.2.3. Apache Tomcat has been removed

The Apache Tomcat server has been removed from Red Hat Enterprise Linux. Apache Tomcat is a servlet container for the Java Servlet and JavaServer Pages (JSP) technologies. Red Hat recommends that users requiring a servlet container use the JBoss Web Server.

15.3. Proxy caching servers

15.3.1. Varnish Cache new in RHEL

Varnish Cache, a high-performance HTTP reverse proxy, is provided for the first time in RHEL. It was previously available only as a Software Collection. Varnish Cache stores files or fragments of files in memory that are used to reduce the response time and network bandwidth consumption on future equivalent requests. RHEL 8.0 is distributed with Varnish Cache 6.0.

15.3.2. Notable changes in Squid

RHEL 8.0 is distributed with Squid 4.4, a high-performance proxy caching server for web clients, supporting FTP, Gopher, and HTTP data objects. This release provides numerous new features, enhancements, and bug fixes over the version 3.5 available in RHEL 7.

Notable changes include:

  • Configurable helper queue size
  • Changes to helper concurrency channels
  • Changes to the helper binary
  • Secure Internet Content Adaptation Protocol (ICAP)
  • Improved support for Symmetric Multi Processing (SMP)
  • Improved process management
  • Removed support for SSL
  • Removed Edge Side Includes (ESI) custom parser
  • Multiple configuration changes

15.4. Database servers

RHEL 8 provides the following database servers:

  • MySQL 8.0, a multi-user, multi-threaded SQL database server. It consists of the MySQL server daemon, mysqld, and many client programs.
  • MariaDB 10.3, a multi-user, multi-threaded SQL database server. For all practical purposes, MariaDB is binary-compatible with MySQL.
  • PostgreSQL 10 and PostgreSQL 9.6, an advanced object-relational database management system (DBMS).
  • Redis 5, an advanced key-value store. It is often referred to as a data structure server because keys can contain strings, hashes, lists, sets, and sorted sets. Redis is provided for the first time in RHEL.

Note that the NoSQL MongoDB database server is not included in RHEL 8.0 because it uses the Server Side Public License (SSPL).

Database servers are not installable in parallel

The mariadb and mysql modules cannot be installed in parallel in RHEL 8.0 due to conflicting RPM packages.

By design, it is impossible to install more than one version (stream) of the same module in parallel. For example, you need to choose only one of the available streams from the postgresql module, either 10 (default) or 9.6. Parallel installation of components is possible in Red Hat Software Collections for RHEL 6 and RHEL 7. In RHEL 8, different versions of database servers can be used in containers.

15.4.1. Notable changes in MariaDB 10.3

MariaDB 10.3 provides numerous new features over the version 5.5 distributed in RHEL 7, such as:

  • Common table expressions
  • System-versioned tables
  • FOR loops
  • Invisible columns
  • Sequences
  • Instant ADD COLUMN for InnoDB
  • Storage-engine independent column compression
  • Parallel replication
  • Multi-source replication

In addition, the new mariadb-connector-c packages provide a common client library for MySQL and MariaDB. This library is usable with any version of the MySQL and MariaDB database servers. As a result, the user is able to connect one build of an application to any of the MySQL and MariaDB servers distributed with RHEL 8.

Other notable changes include:

  • MariaDB Galera Cluster, a synchronous multi-master cluster, is now a standard part of MariaDB.
  • InnoDB is used as the default storage engine instead of XtraDB.
  • The mariadb-bench subpackage has been removed.
  • The default allowed level of the plug-in maturity has been changed to one level less than the server maturity. As a result, plug-ins with a lower maturity level that were previously working, will no longer load.

See also Using MariaDB on Red Hat Enterprise Linux 8.

15.4.2. Notable changes in MySQL 8.0

RHEL 8 is distributed with MySQL 8.0, which provides, for example, the following enhancements:

  • MySQL now incorporates a transactional data dictionary, which stores information about database objects.
  • MySQL now supports roles, which are collections of privileges.
  • The default character set has been changed from latin1 to utf8mb4.
  • Support for common table expressions, both nonrecursive and recursive, has been added.
  • MySQL now supports window functions, which perform a calculation for each row from a query, using related rows.
  • InnoDB now supports the NOWAIT and SKIP LOCKED options with locking read statements.
  • GIS-related functions have been improved.
  • JSON functionality has been enhanced.
  • The new mariadb-connector-c packages provide a common client library for MySQL and MariaDB. This library is usable with any version of the MySQL and MariaDB database servers. As a result, the user is able to connect one build of an application to any of the MySQL and MariaDB servers distributed with RHEL 8.

In addition, the MySQL 8.0 server distributed with RHEL 8 is configured to use mysql_native_password as the default authentication plug-in because client tools and libraries in RHEL 8 are incompatible with the caching_sha2_password method, which is used by default in the upstream MySQL 8.0 version.

To change the default authentication plug-in to caching_sha2_password, edit the /etc/my.cnf.d/mysql-default-authentication-plugin.cnf file as follows:

[mysqld]
default_authentication_plugin=caching_sha2_password

15.4.3. Notable changes in PostgreSQL

RHEL 8.0 provides two versions of the PostgreSQL database server, distributed in two streams of the postgresql module: PostgreSQL 10 (the default stream) and PostgreSQL 9.6. RHEL 7 includes PostgreSQL version 9.2.

Notable changes in PostgreSQL 9.6 are, for example:

  • Parallel execution of the sequential operations: scan, join, and aggregate
  • Enhancements to synchronous replication
  • Improved full-text search enabling users to search for phrases
  • The postgres_fdw data federation driver now supports remote join, sort, UPDATE, and DELETE operations
  • Substantial performance improvements, especially regarding scalability on multi-CPU-socket servers

Major enhancements in PostgreSQL 10 include:

  • Logical replication using the publish and subscribe keywords
  • Stronger password authentication based on the SCRAM-SHA-256 mechanism
  • Declarative table partitioning
  • Improved query parallelism
  • Significant general performance improvements
  • Improved monitoring and control

See also Using PostgreSQL on Red Hat Enterprise Linux 8.

Chapter 16. Compilers and development tools

16.1. Changes in toolchain since RHEL 7

The following sections list changes in toolchain since the release of the described components in Red Hat Enterprise Linux 7. See also Release notes for Red Hat Enterprise Linux 8.0.

16.1.1. Changes in GCC in RHEL 8

In Red Hat Enterprise Linux 8, the GCC toolchain is based on the GCC 8.2 release series. Notable changes since Red Hat Enterprise Linux 7 include:

  • Numerous general optimizations have been added, such as alias analysis, vectorizer improvements, identical code folding, inter-procedural analysis, store merging optimization pass, and others.
  • The Address Sanitizer has been improved.
  • The Leak Sanitizer for detection of memory leaks has been added.
  • The Undefined Behavior Sanitizer for detection of undefined behavior has been added.
  • Debug information can now be produced in the DWARF5 format. This capability is experimental.
  • The source code coverage analysis tool GCOV has been extended with various improvements.
  • Support for the OpenMP 4.5 specification has been added. Additionally, the offloading features of the OpenMP 4.0 specification are now supported by the C, C++, and Fortran compilers.
  • New warnings and improved diagnostics have been added for static detection of certain likely programming errors.
  • Source locations are now tracked as ranges rather than points, which allows much richer diagnostics. The compiler now offers “fix-it” hints, suggesting possible code modifications. A spell checker has been added to offer alternative names and ease detecting typos.

Security

GCC has been extended to provide tools to ensure additional hardening of the generated code. Improvements related to security include:

  • The __builtin_add_overflow, __builtin_sub_overflow, and __builtin_mul_overflow built-in functions for arithmetics with overflow checking have been added.
  • The -fstack-clash-protection option has been added to generate additional code guarding against stack clash.
  • The -fcf-protection option was introduced to check target addresses of control-flow instructions for increased program security.
  • The new -Wstringop-truncation warning option lists calls to bounded string manipulation functions such as strncat, strncpy, or stpncpy that might truncate the copied string or leave the destination unchanged.
  • The -Warray-bounds warning option has been improved to detect out-of-bounds array indices and pointer offsets better.
  • The -Wclass-memaccess warning option has been added to warn about potentially unsafe manipulation of objects of non-trivial class types by raw memory access functions such as memcpy or realloc.

Architecture and processor support

Improvements to architecture and processor support include:

  • Multiple new architecture-specific options for the Intel AVX-512 architecture, a number of its microarchitectures, and Intel Software Guard Extensions (SGX) have been added.
  • Code generation can now target the 64-bit ARM architecture LSE extensions, ARMv8.2-A 16-bit Floating-Point Extensions (FPE), and ARMv8.2-A, ARMv8.3-A, and ARMv8.4-A architecture versions.
  • Handling of the -march=native option on the ARM and 64-bit ARM architectures has been fixed.
  • Support for the z13 and z14 processors of the IBM Z architecture has been added.

Languages and standards

Notable changes related to languages and standards include:

  • The default standard used when compiling code in the C language has changed to C17 with GNU extensions.
  • The default standard used when compiling code in the C++ language has changed to C++14 with GNU extensions.
  • The C++ runtime library now supports the C++11 and C++14 standards.
  • The C++ compiler now implements the C++14 standard with many new features such as variable templates, aggregates with non-static data member initializers, the extended constexpr specifier, sized deallocation functions, generic lambdas, variable-length arrays, digit separators, and others.
  • Support for the C language standard C11 has been improved: ISO C11 atomics, generic selections, and thread-local storage are now available.
  • The new __auto_type GNU C extension provides a subset of the functionality of C++11 auto keyword in the C language.
  • The _FloatN and _FloatNx type names specified by the ISO/IEC TS 18661-3:2015 standard are now recognized by the C front end.
  • The default standard used when compiling code in the C language has changed to C17 with GNU extensions. This has the same effect as using the --std=gnu17 option. Previously, the default was C89 with GNU extensions.
  • GCC can now experimentally compile code using the C++17 language standard, and certain features from the C++20 standard.
  • Passing an empty class as an argument now takes up no space on the Intel 64 and AMD64 architectures, as required by the platform ABI. Passing or returning a class with only deleted copy and move constructors now uses the same calling convention as a class with a non-trivial copy or move constructor.
  • The value returned by the C++11 alignof operator has been corrected to match the C _Alignof operator and return minimum alignment. To find the preferred alignment, use the GNU extension __alignof__.
  • The main version of the libgfortran library for Fortran language code has been changed to 5.
  • Support for the Ada (GNAT), GCC Go, and Objective C/C++ languages has been removed. Use the Go Toolset for Go code development.

16.1.2. Security enhancements in GCC in RHEL 8

This section decribes in detail the changes in GCC related to security and added since the release of Red Hat Enterprise Linux 7.0.

New warnings

These warning options have been added:

OptionDisplays warnings for

-Wstringop-truncation

Calls to bounded string manipulation functions such as strncat, strncpy, and stpncpy that might either truncate the copied string or leave the destination unchanged.

-Wclass-memaccess

Objects of non-trivial class types manipulated in potentially unsafe ways by raw memory functions such as memcpy, or realloc.

The warning helps detect calls that bypass user-defined constructors or copy-assignment operators, corrupt virtual table pointers, data members of const-qualified types or references, or member pointers. The warning also detects calls that would bypass access controls to data members.

-Wmisleading-indentation

Places where the indentation of the code gives a misleading idea of the block structure of the code to a human reader.

-Walloc-size-larger-than=size

Calls to memory allocation functions where the amount of memory to allocate exceeds size. Works also with functions where the allocation is specified by multiplying two parameters, and with any functions decorated with attribute alloc_size.

-Walloc-zero

Calls to memory allocation functions that attempt to allocate zero amount of memory. Works also with functions where the allocation is specified by multiplying two parameters, and with any functions decorated with attribute alloc_size.

-Walloca

All calls to the alloca function.

-Walloca-larger-than=size

Calls to the alloca function where the requested memory is more than size.

-Wvla-larger-than=size

Definitions of Variable Length Arrays (VLA) that can either exceed the specified size or whose bound is not known to be sufficiently constrained.

-Wformat-overflow=level

Both certain and likely buffer overflow in calls to the sprintf family of formatted output functions. For more details and explanation of the level value, see the gcc(1) manual page.

-Wformat-truncation=level

Both certain and likely output truncation in calls to the snprintf family of formatted output functions. For more details and explanation of the level value, see the gcc(1) manual page.

-Wstringop-overflow=type

Buffer overflow in calls to string handling functions such as memcpy and strcpy. For more details and explanation of the level value, see the gcc(1) manual page.

Warning improvements

These GCC warnings have been improved:

  • The -Warray-bounds option has been improved to detect more instances of out-of-bounds array indices and pointer offsets. For example, negative or excessive indices into flexible array members and string literals are detected.
  • The -Wrestrict option introduced in GCC 7 has been enhanced to detect many more instances of overlapping accesses to objects via restrict-qualified arguments to standard memory and string manipulation functions such as memcpy and strcpy.
  • The -Wnonnull option has been enhanced to detect a broader set of cases of passing null pointers to functions that expect a non-null argument (decorated with attribute nonnull).

New UndefinedBehaviorSanitizer

A new run-time sanitizer for detecting undefined behavior called UndefinedBehaviorSanitizer has been added. The following options are noteworthy:

OptionCheck

-fsanitize=float-divide-by-zero

Detect floating-point division by zero.

-fsanitize=float-cast-overflow

Check that the result of floating-point type to integer conversions do not overflow.

-fsanitize=bounds

Enable instrumentation of array bounds and detect out-of-bounds accesses.

-fsanitize=alignment

Enable alignment checking and detect various misaligned objects.

-fsanitize=object-size

Enable object size checking and detect various out-of-bounds accesses.

-fsanitize=vptr

Enable checking of C++ member function calls, member accesses and some conversions between pointers to base and derived classes. Additonally, detect when referenced objects do not have correct dynamic type.

-fsanitize=bounds-strict

Enable strict checking of array bounds. This enables -fsanitize=bounds as well as instrumentation of flexible array member-like arrays.

-fsanitize=signed-integer-overflow

Diagnose arithmetic overflows even on arithmetic operations with generic vectors.

-fsanitize=builtin

Diagnose at run time invalid arguments to __builtin_clz or __builtin_ctz prefixed builtins. Includes checks from -fsanitize=undefined.

-fsanitize=pointer-overflow

Perform cheap run time tests for pointer wrapping. Includes checks from -fsanitize=undefined.

New options for AddressSanitizer

These options have been added to AddressSanitizer:

OptionCheck

-fsanitize=pointer-compare

Warn about comparison of pointers that point to a different memory object.

-fsanitize=pointer-subtract

Warn about subtraction of pointers that point to a different memory object.

-fsanitize-address-use-after-scope

Sanitize variables whose address is taken and used after a scope where the variable is defined.

Other sanitizers and instrumentation

  • The option -fstack-clash-protection has been added to insert probes when stack space is allocated statically or dynamically to reliably detect stack overflows and thus mitigate the attack vector that relies on jumping over a stack guard page provided by the operating system.
  • A new option -fcf-protection=[full|branch|return|none] has been added to perform code instrumentation and increase program security by checking that target addresses of control-flow transfer instructions (such as indirect function call, function return, indirect jump) are valid.

Additional resources

  • For more details and explanation of the values supplied to some of the options above, see the gcc(1) manual page:

    $ man gcc

16.2. Compiler toolsets

RHEL 8.0 provides the following compiler toolsets as Application Streams:

  • Clang and LLVM Toolset 7.0.1, which provides the LLVM compiler infrastructure framework, the Clang compiler for the C and C++ languages, the LLDB debugger, and related tools for code analysis. See the Using Clang and LLVM Toolset document.
  • Rust Toolset 1.31, which provides the Rust programming language compiler rustc, the cargo build tool and dependency manager, the cargo-vendor plugin, and required libraries. See the Using Rust Toolset document.
  • Go Toolset 1.11.5, which provides the Go programming language tools and libraries. Go is alternatively known as golang. See the Using Go Toolset document.

16.3. Java implementations and Java tools in RHEL 8

The RHEL 8 AppStream repository includes:

  • The java-11-openjdk packages, which provide the OpenJDK 11 Java Runtime Environment and the OpenJDK 11 Java Software Development Kit.
  • The java-1.8.0-openjdk packages, which provide the OpenJDK 8 Java Runtime Environment and the OpenJDK 8 Java Software Development Kit.
  • The icedtea-web packages, which provide an implementation of Java Web Start.
  • The ant module, providing a Java library and command-line tool for compiling, assembling, testing, and running Java applications. Ant has been updated to version 1.10.
  • The maven module, providing a software project management and comprehension tool. Maven was previously available only as a Software Collection or in the unsupported Optional channel.
  • The scala module, providing a general purpose programming language for the Java platform. Scala was previously available only as a Software Collection.

In addition, the java-1.8.0-ibm packages are distributed through the Supplementary repository. Note that packages in this repository are unsupported by Red Hat.

16.4. Compatibility-breaking changes in GDB

The version of GDB provided in Red Hat Enterprise Linux 8 contains a number of changes that break compatibility, especially for cases where the GDB output is read directly from the terminal. The following sections provide more details about these changes.

Parsing output of GDB is not recommended. Prefer scripts using the Python GDB API or the GDB Machine Interface (MI).

GDBserver now starts inferiors with shell

To enable expansion and variable substitution in inferior command line arguments, GDBserver now starts the inferior in a shell, same as GDB.

To disable using the shell:

  • When using the target extended-remote GDB command, disable shell with the set startup-with-shell off command.
  • When using the target remote GDB command, disable shell with the --no-startup-with-shell option of GDBserver.

Example 16.1. Example of shell expansion in remote GDB inferiors

This example shows how running the /bin/echo /* command through GDBserver differs on Red Hat Enterprise Linux versions 7 and 8:

  • On RHEL 7:

    $ gdbserver --multi :1234
    $ gdb -batch -ex 'target extended-remote :1234' -ex 'set remote exec-file /bin/echo' -ex 'file /bin/echo' -ex 'run /*'
    /*
  • On RHEL 8:

    $ gdbserver --multi :1234
    $ gdb -batch -ex 'target extended-remote :1234' -ex 'set remote exec-file /bin/echo' -ex 'file /bin/echo' -ex 'run /*'
    /bin /boot (...) /tmp /usr /var

gcj support removed

Support for debugging Java programs compiled with the GNU Compiler for Java (gcj) has been removed.

New syntax for symbol dumping maintenance commands

The symbol dumping maintenance commands syntax now includes options before file names. As a result, commands that worked with GDB in RHEL 7 do not work in RHEL 8.

As an example, the following command no longer stores symbols in a file, but produces an error message:

(gdb) maintenance print symbols /tmp/out main.c

The new syntax for the symbol dumping maintenance commands is:

maint print symbols [-pc address] [--] [filename]
maint print symbols [-objfile objfile] [-source source] [--] [filename]
maint print psymbols [-objfile objfile] [-pc address] [--] [filename]
maint print psymbols [-objfile objfile] [-source source] [--] [filename]
maint print msymbols [-objfile objfile] [--] [filename]

Thread numbers are no loger global

Previously, GDB used only global thread numbering. The numbering has been extended to be displayed per inferior in the form inferior_num.thread_num, such as 2.1. As consequence, thread numbers in the $_thread convenience variable and in the InferiorThread.num Python attribute are no longer unique between inferiors.

GDB now stores a second thread ID per thread, called the global thread ID, which is the new equivalent of thread numbers in previous releases. To access the global thread number, use the $_gthread convenience variable and InferiorThread.global_num Python attribute.

For backwards compatibility, the Machine Interface (MI) thread IDs always contains the global IDs.

Example 16.2. Example of GDB thread number changes

On Red Hat Enterprise Linux 7:

# debuginfo-install coreutils
$ gdb -batch -ex 'file echo' -ex start -ex 'add-inferior' -ex 'inferior 2' -ex 'file echo' -ex start -ex 'info threads' -ex 'pring $_thread' -ex 'inferior 1' -ex 'pring $_thread'
(...)
  Id   Target Id         Frame
* 2    process 203923 "echo" main (argc=1, argv=0x7fffffffdb88) at src/echo.c:109
  1    process 203914 "echo" main (argc=1, argv=0x7fffffffdb88) at src/echo.c:109
$1 = 2
(...)
$2 = 1

On Red Hat Enterprise Linux 8:

# dnf debuginfo-install coreutils
$ gdb -batch -ex 'file echo' -ex start -ex 'add-inferior' -ex 'inferior 2' -ex 'file echo' -ex start -ex 'info threads' -ex 'pring $_thread' -ex 'inferior 1' -ex 'pring $_thread'
(...)
  Id   Target Id         Frame
  1.1  process 4106488 "echo" main (argc=1, argv=0x7fffffffce58) at ../src/echo.c:109
* 2.1  process 4106494 "echo" main (argc=1, argv=0x7fffffffce58) at ../src/echo.c:109
$1 = 1
(...)
$2 = 1

Memory for value contents can be limited

Previously, GDB did not limit the amount of memory allocated for value contents. As a consequence, debugging incorrect programs could cause GDB to allocate too much memory. The max-value-size setting has been added to enable limiting the amount of allocated memory. The default value of this limit is 64 KiB. As a result, GDB in Red Hat Enterprise Linux 8 will not display too large values, but report that the value is too large instead.

As an example, printing a value defined as char s[128*1024]; produces different results:

  • On Red Hat Enterprise Linux 7, $1 = 'A' <repeats 131072 times>
  • On Red Hat Enterprise Linux 8, value requires 131072 bytes, which is more than max-value-size

Sun version of stabs format no longer supported

Support for the Sun version of the stabs debug file format has been removed. The stabs format produced by GCC in RHEL with the gcc -gstabs option is still supported by GDB.

Sysroot handling changes

The set sysroot path command specifies system root when searching for files needed for debugging. Directory names supplied to this command may now be prefixed with the string target: to make GDB read the shared libraries from the target system (both local and remote). The formerly available remote: prefix is now treated as target:. Additionally, the default system root value has changed from empty string to target: for backward compatibility.

The specified system root is prepended to the file name of the main executable, when GDB starts processes remotely, or when it attaches to already running processes (both local and remote). This means that for remote processes, the default value target: makes GDB always try to load the debugging information from the remote system. To prevent this, run the set sysroot command before the target remote command so that local symbol files are found before the remote ones.

HISTSIZE no longer controls GDB command history size

Previously, GDB used the HISTSIZE environment variable to determine how long command history should be kept. GDB has been changed to use the GDBHISTSIZE environment variable instead. This variable is specific only to GDB. The possible values and their effects are:

  • a positive number - use command history of this size,
  • -1 or an empty string - keep history of all commands,
  • non-numeric values - ignored.

Completion limiting added

The maximum number of candidates considered during completion can now be limited using the set max-completions command. To show the current limit, run the show max-completions command. The default value is 200. This limit prevents GDB from generating excessively large completion lists and becoming unresponsive.

As an example, the output after the input p <tab><tab> is:

  • on RHEL 7: Display all 29863 possibilities? (y or n)
  • on RHEL 8: Display all 200 possibilities? (y or n)

HP-UX XDB compatibility mode removed

The -xdb option for the HP-UX XDB compatibility mode has been removed from GDB.

Handling signals for threads

Previously, GDB could deliver a signal to the current thread instead of the thread for which the signal was actually sent. This bug has been fixed, and GDB now always passes the signal to the correct thread when resuming execution.

Additionally, the signal command now always correctly delivers the requested signal to the current thread. If the program is stopped for a signal and the user switched threads, GDB asks for confirmation.

Breakpoint modes always-inserted off and auto merged

The breakpoint always-inserted setting has been changed. The auto value and corresponding behavior has been removed. The default value is now off. Additionally, the off value now causes GDB to not remove breakpoints from the target until all threads stop.

remotebaud commands no longer supported

The set remotebaud and show remotebaud commands are no longer supported. Use the set serial baud and show serial baud commands instead.

16.5. Compatibility-breaking changes in compilers and development tools

C++ ABI change in std::string and std::list

The Application Binary Interface (ABI) of the std::string and std::list classes from the libstdc++ library changed between RHEL 7 (GCC 4.8) and RHEL 8 (GCC 8) to conform to the C++11 standard. The libstdc++ library supports both the old and new ABI, but some other C++ system libraries do not. As a consequence, applications that dynamically link against these libraries will need to be rebuilt. This affects all C++ standard modes, including C++98. It also affects applications built with Red Hat Developer Toolset compilers for RHEL 7, which kept the old ABI to maintain compatibility with the system libraries.

librtkaio removed

With this update, the librtkaio library has been removed. This library provided high performance real time asynchronous I/O access for some files, which was based on Linux kernel Asynchronous I/O support (KAIO).

As a result of the removal:

  • Applications using the LD_PRELOAD method to load librtkaio display a warning about a missing library, load the librt library instead and run correctly.
  • Applications using the LD_LIBRARY_PATH method to load librtkaio load the librt library instead and run correctly, without any warning.
  • Applications using the dlopen() system call to access librtkaio directly load the librt library instead.

Users of librtkaio have the following options:

  • Use the fallback mechanism described above, without any changes to their applications.
  • Change code of their applications to use the librt library, which offers a compatible POSIX-compliant API.
  • Change code of their applications to use the libaio library, which offers a compatible API.

Both librt and libaio can provide comparable features and performance under specific conditions.

Note that the libaio package has Red Hat compatibility level of 2, while librtk and the removed librtkaio level 1.

For more details, see https://fedoraproject.org/wiki/Changes/GLIBC223_librtkaio_removal

Sun RPC and NIS interfaces removed from glibc

The glibc library no longer provides Sun RPC and NIS interfaces for new applications. These interfaces are now available only for running legacy applications. Developers must change their applications to use the libtirpc library instead of Sun RPC and libnsl2 instead of NIS. Applications can benefit from IPv6 support in the replacement libraries.

Valgrind library for MPI debugging support removed

The libmpiwrap.so wrapper library for Valgrind provided by the valgrind-openmpi package has been removed. This library enabled Valgrind to debug programs using the Message Passing Interface (MPI). This library was specific to the Open MPI implementation version in previous versions of Red Hat Enterprise Linux.

Users of libmpiwrap.so are encouraged to build their own version from upstream sources specific to their MPI implementation and version. Supply these custom-built libraries to Valgrind using the LD_PRELOAD technique.

Development headers and static libraries removed from valgrind-devel

Previously, the valgrind-devel sub-package used to include development files for developing custom valgrind tools. This update removes these files because they do not have a guaranteed API, have to be linked statically, and are unsupported. The valgrind-devel package still does contain the development files for valgrind-aware programs and header files such as valgrind.h, callgrind.h, drd.h, helgrind.h, and memcheck.h, which are stable and well supported.

The nosegneg libraries for 32-bit Xen have been removed

Previously, the glibc i686 packages contained an alternative glibc build, which avoided the use of the thread descriptor segment register with negative offsets (nosegneg). This alternative build was only used in the 32-bit version of the Xen Project hypervisor without hardware virtualization support, as an optimization to reduce the cost of full paravirtualization. These alternative builds are no longer used and they have been removed.

GCC no longer builds Ada, Go, and Objective C/C++ code

Capability for building code in the Ada (GNAT), GCC Go, and Objective C/C++ languages has been removed from the GCC compiler.

To build Go code, use the Go Toolset instead.

make new operator != causes a different interpretation of certain existing makefile syntax

The != shell assignment operator has been added to GNU make as an alternative to the $(shell …​) function to increase compatibility with BSD makefiles. As a consequence, variables with name ending in exclamation mark and immediately followed by assignment such as variable!=value are now interpreted as the shell assignment. To restore the previous behavior, add a space after the exclamation mark, such as variable! =value.

For more details and differences between the operator and the function, see the GNU make manual.

Chapter 17. Identity Management

17.1. Identity Management packages are installed as a module

In RHEL 8, the packages necessary for installing an Identity Management (IdM) server and client are distributed as a module. The client stream is the default stream of the idm module, and you can download the packages necessary for installing the client without enabling the stream.

The IdM server module stream is called DL1 and contains multiple profiles that correspond to the different types of IdM servers:

  • server: an IdM server without integrated DNS
  • dns: an IdM server with integrated DNS
  • adtrust: an IdM server that has a trust agreement with Active Directory
  • client: an IdM client

To download the packages in a specific profile of the DL1 stream:

  1. Enable the stream:

    # yum module enable idm:DL1
  2. Switch to the RPMs delivered through the stream:

    # yum distro-sync
  3. Install the selected profile:

    # yum module install idm:DL1/profile

    Replace profile with one of the specific profiles defined above.

For details, see Installing packages required for an Identity Management server and Packages required to install an Identity Management client.

17.2. Active Directory users can now administer Identity Management

In Red Hat Enterprise Linux (RHEL) 7, external group membership allows AD users and groups to access IdM resources in a POSIX environment with the help of the System Security Services Daemon (SSSD).

The IdM LDAP server has its own mechanisms to grant access control. RHEL 8 introduces an update that allows adding an ID user override for an AD user as a member of an IdM group. An ID override is a record describing what a specific Active Directory user or group properties should look like within a specific ID view, in this case the Default Trust View. As a consequence of the update, the IdM LDAP server is able to apply access control rules for the IdM group to the AD user.

AD users are now able to use the self service features of IdM UI, for example to upload their SSH keys, or change their personal data. An AD administrator is able to fully administer IdM without having two different accounts and passwords.

Note

Currently, selected features in IdM may still be unavailable to AD users. For example, setting passwords for IdM users as an AD user from the IdM admins group might fail.

17.3. Session recording solution for RHEL 8 added

A session recording solution has been added to Red Hat Enterprise Linux 8 (RHEL 8). A new tlog package and its associated web console session player enable to record and playback the user terminal sessions. The recording can be configured per user or user group via the System Security Services Daemon (SSSD) service. All terminal input and output is captured and stored in a text-based format in a system journal. The input is inactive by default for security reasons not to intercept raw passwords and other sensitive information.

The solution can be used for auditing of user sessions on security-sensitive systems. In the event of a security breach, the recorded sessions can be reviewed as a part of a forensic analysis. The system administrators are now able to configure the session recording locally and view the result from the RHEL 8 web console interface or from the Command-Line Interface using the tlog-play utility.

17.4. Removed Identity Management functionality

17.4.1. NSS databases not supported in OpenLDAP

The OpenLDAP suite in previous versions of Red Hat Enterprise Linux (RHEL) used the Mozilla Network Security Services (NSS) for cryptographic purposes. With RHEL 8, OpenSSL, which is supported by the OpenLDAP community, replaces NSS. OpenSSL does not support NSS databases for storing certificates and keys. However, it still supports privacy enhanced mail (PEM) files that serve the same purpose.

17.4.2. Selected Python Kerberos packages have been replaced

In Red Hat Enterprise Linux (RHEL) 8, the python-gssapi package, python-requests-gssapi module, and urllib-gssapi library have replaced Python Kerberos packages such as python-krbV, python-kerberos, python-requests-kerberos, and python-urllib2_kerberos. Notable benefits include:

  • python-gssapi is easier to use than python-kerberos and python-krbV
  • python-gssapi supports both python 2 and python 3 whereas python-krbV does not
  • the GSSAPI-based packages allow the use of other Generic Security Services API (GSSAPI) mechanisms in addition to Kerberos, such as the NT LAN Manager NTLM for backward compatibility reasons

This update improves the maintainability and debuggability of GSSAPI in RHEL 8.

17.5. SSSD

17.5.1. authselect replaces authconfig

In RHEL 8, the authselect utility replaces the authconfig utility. authselect comes with a safer approach to PAM stack management that makes the PAM configuration changes simpler for system administrators. authselect can be used to configure authentication methods such as passwords, certificates, smart cards and fingerprint. authselect does not configure services required to join remote domains. This task is performed by specialized tools, such as realmd or ipa-client-install.

17.5.2. KCM replaces KEYRING as the default credential cache storage

In RHEL 8, the default credential cache storage is the Kerberos Credential Manager (KCM) which is backed by the sssd-kcm deamon. KCM overcomes the limitations of the previously used KEYRING, such as its being difficult to use in containerized environments because it is not namespaced, and to view and manage quotas.

With this update, RHEL 8 contains a credential cache that is better suited for containerized environments and that provides a basis for building more features in future releases.

17.5.3. sssctl prints an HBAC rules report for an IdM domain

With this update, the sssctl utility of the System Security Services Daemon (SSSD) can print an access control report for an Identity Management (IdM) domain. This feature meets the need of certain environments to see, for regulatory reasons, a list of users and groups that can access a specific client machine. Running sssctl access-report domain_name on an IdM client prints the parsed subset of host-based access control (HBAC) rules in the IdM domain that apply to the client machine.

Note that no other providers than IdM support this feature.

17.5.4. Local users are cached by SSSD and served through the nss_sss module

In RHEL 8, the System Security Services Daemon (SSSD) serves users and groups from the /etc/passwd and /etc/groups files by default. The sss nsswitch module precedes files in the /etc/nsswitch.conf file.

The advantage of serving local users through SSSD is that the nss_sss module has a fast memory-mapped cache that speeds up Name Service Switch (NSS) lookups compared to accessing the disk and opening the files on each NSS request. Previously, the Name service cache daemon (nscd) helped accelerate the process of accessing the disk. However, using nscd in parallel with SSSD is cumbersome, as both SSSD and nscd use their own independent caching. Consequently, using nscd in setups where SSSD is also serving users from a remote domain, for example LDAP or Active Directory, can cause unpredictable behavior.

With this update, the resolution of local users and groups is faster in RHEL 8. Note that the root user is never handled by SSSD, therefore root resolution cannot be impacted by a potential bug in SSSD. Note also that if SSSD is not running, the nss_sss module handles the situation gracefully by falling back to nss_files to avoid problems. You do not have to configure SSSD in any way, the files domain is added automatically.

17.5.5. SSSD now allows you to select one of the multiple smart card authentication devices

By default, the System Security Services Daemon (SSSD) tries to detect a device for Smartcard authentication automatically. If there are multiple devices connected, SSSD selects the first one it detects. Consequently, you cannot select a particular device, which sometimes leads to failures.

With this update, you can configure a new p11_uri option for the [pam] section of the sssd.conf configuration file. This option enables you to define which device is used for Smartcard authentication.

For example, to select a reader with the slot id 2 detected by the OpenSC PKCS#11 module, add:

p11_uri = library-description=OpenSC%20smartcard%20framework;slot-id=2

to the [pam] section of sssd.conf.

For details, see the man sssd.conf page.

17.6. Removed SSSD functionality

17.6.1. sssd-secrets has been removed

The sssd-secrets component of the System Security Services Daemon (SSSD) has been removed in Red Hat Enterprise Linux 8. This is because Custodia, a secrets service provider, is no longer actively developed. Use other Identity Management tools to store secrets, for example the Identity Management Vault.

Chapter 18. Desktop and graphics

18.1. GNOME Shell is the default desktop environment

RHEL 8 is distributed with GNOME Shell as the default desktop environment.

All packages related to KDE Plasma Workspaces (KDE) have been removed, and it is no longer possible to use KDE as an alternative to the default GNOME desktop environment.

Red Hat does not support migration from RHEL 7 with KDE to RHEL 8 GNOME. Users of RHEL 7 with KDE are recommended to back up their data and install RHEL 8 with GNOME Shell.

18.2. Notable changes in GNOME Shell

RHEL 8 is distributed with GNOME Shell, version 3.28.

This section:

  • Highlights enhancements related to GNOME Shell, version 3.28.
  • Informs about the change in default combination of GNOME Shell environment and display protocol.
  • Explains how to access features that are not available by default.
  • Explains changes in GNOME tools for software management.

18.2.1. GNOME Shell, version 3.28 in RHEL 8

GNOME Shell, version 3.28 is available in RHEL 8. Notable enhancements include:

  • New GNOME Boxes features
  • New on-screen keyboard
  • Extended devices support, most significantly integration for the Thunderbolt 3 interface
  • Improvements for GNOME Software, dconf-editor and GNOME Terminal

18.2.2. GNOME Shell environments

GNOME 3 provides two essential environments:

  • GNOME Standard
  • GNOME Classic

Both environments can use two different protocols to build a graphical user interface:

  • The X11 protocol, which uses X.Org as the display server.
  • The Wayland protocol, which uses GNOME Shell as the Wayland compositor and display server.

    This solution of display server is further referred as GNOME Shell on Wayland.

The default combination in RHEL 8 is GNOME Standard environment using GNOME Shell on Wayland as the display server.

However, you may want to switch to another combination of GNOME Shell environment and graphics protocol stack. For more information, see Section 18.3, “Selecting GNOME environment and display protocol”.

For more information on basics of using both GNOME Shell environments, see Managing RHEL systems from your desktop.

18.2.3. Desktop icons

In RHEL 8, the Desktop icons functionality is no longer provided by the Nautilus file manager, but by the desktop icons gnome-shell extension.

To be able to use the extension, you must install the gnome-shell-extension-desktop-icons package available in the Appstream repository.

For more information on Desktop icons in RHEL 8, see Managing RHEL systems from your desktop.

18.2.4. Fractional scaling

On a GNOME Shell on Wayland session, the fractional scaling feature is available. The feature makes it possible to scale the GUI by fractions, which improves the appearance of scaled GUI on certain displays.

Note that the feature is currently considered experimental and is, therefore, disabled by default.

To enable fractional scaling, run the following command:

# gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

18.2.5. GNOME Software for package management

The gnome-packagekit package that provided a collection of tools for package management in graphical environment on RHEL 7 is no longer available.

On RHEL 8, similar functionality is provided by the GNOME Software utility, which enables you to install and update applications and gnome-shell extensions. GNOME Software is distributed in the gnome-software package.

For more information for installing applications with GNOME software, see Managing RHEL systems from your desktop.

18.2.6. Opening graphical applications with sudo

When attempting to open a graphical application in a terminal using the sudo command, you must do the following:

X11 applications

If the application uses the X11 display protocol, add the local user root in the X server access control list. As a result, root is allowed to connect to Xwayland, which translates the X11 protocol into the Wayland protocol and reversely.

Example 18.1. Adding root to the X server access control list to open xclock with sudo

$ xhost +si:localuser:root

$ sudo xclock

Wayland applications

If the application is Wayland native, include the -E option.

Example 18.2. Opening GNOME Calculator with sudo

$ sudo -E gnome-calculator

Otherwise, if you type just sudo and the name of the application, the operation of opening the application fails with the following error message:

No protocol specified
Unable to init server: could not connect: connection refused
# Failed to parse arguments: Cannot open display

18.3. Selecting GNOME environment and display protocol

For switching between various combinations of GNOME environment and graphics protocol stacks, use the following procedure.

Procedure

  1. From the login screen (GDM), click the cogwheel next to the Sign In button.

    Note

    You cannot access this option from the lock screen. The login screen appears when you first start RHEL 8 or when you log out of your current session.

    gnome environments new

  2. From the drop-down menu that appears, select the option that you prefer.

    Note

    Note that in the menu that appears on the login screen, the X.Org display server is marked as X11 display server.

Important

The change of GNOME environment and graphics protocol stack resulting from the above procedure is persistent across user logouts, and also when powering off or rebooting the computer.

18.4. Graphics stack

In RHEL 8, you can choose between two protocols to build a graphical user interface:

  • X11
  • Wayland

The X11 protocol uses X.Org as the display server. Displaying graphics based on this protocol works the same way as in RHEL 7, where this was the only option.

The Wayland protocol on RHEL 8 uses GNOME Shell as its compositor and display server, which is further referred as GNOME Shell on Wayland.

New installations of RHEL 8 automatically select GNOME Shell on Wayland, so the Wayland protocol is used by default. However, due to Current Wayland limitations or in Environments where X11 is preferred over Wayland, you may want to switch to X.Org, or select the required combination of GNOME environment and display server as described in Selecting GNOME environment and display protocol.

This section describes:

  • Key differences between Wayland and X11
  • Current Wayland limitations
  • Environments where X11 is preferred over Wayland

18.4.1. Key differences between Wayland and X11

X11 Applications

Client applications need to be ported to the Wayland protocol or use a graphical toolkit that has a Wayland backend, such as GTK, to be able to work natively with the compositor and display server based on Wayland.

Legacy X11 applications that cannot be ported to Wayland automatically use Xwayland as a proxy between the X11 legacy clients and the Wayland compositor. Xwayland functions both as an X11 server and a Wayland client. The role of Xwayland is to translate the X11 protocol into the Wayland protocol and reversely, so that X11 legacy applications can work with the display server based on Wayland.

On GNOME Shell on Wayland, Xwayland is started automatically at startup, which ensures that most X11 legacy applications work as expected when using GNOME Shell on Wayland. However, the X11 and Wayland protocols are different, and so some clients relying on X11-specific features may behave differently under Xwayland. For such specific clients, you can switch to the X.Org display server as described in Section 18.3, “Selecting GNOME environment and display protocol”.

libinput

RHEL 8 uses a new unified input stack, libinput, which manages all common device types, such as mice, touchpads, touchscreens, tablets, trackballs and pointing sticks. This unified stack is used both by the X.Org and by the GNOME Shell on Wayland compositor.

GNOME Shell on Wayland uses libinput directly for all devices, and no switchable driver support is available. Under X.Org, libinput is implemented as the X.Org libinput driver. For information on driver support under X.Org, see Managing RHEL systems from your desktop.

Gestures

GNOME Shell on Wayland supports new touchpad and touchscreen gestures. These gestures include:

  • Switching workspaces by dragging up or down with four fingers.
  • Opening the Activities Overview by bringing three fingers closer together.
Additional information

For more information on differences between Wayland and X11, see Managing RHEL systems from your desktop.

18.4.2. Current Wayland limitations

Using the Wayland display protocol has currently multiple notable limitations:

  • Proprietary Nvidia binary drivers are not supported.
  • Certain traditional VNC tools are not available.
  • The X Display Manager Control Protocol (XDMCP) is not supported.

Other limitations include:

  • X.Org* screen manipulation utilities are not available.
  • The xrandr utility is not supported because Wayland handles layout, rotations, and resolutions differently.
  • The GNOME Shell cannot be restarted using the ALT+F2/r method.
  • Due to stability issues, using X11 instead of Wayland is recommended in virtual environments.
  • Wayland does not support the custom or niche devices that cannot be handled by the libinput driver.

For more information on current Wayland limitations, see Managing RHEL systems from your desktop.

18.4.3. Environments where X11 is preferred over Wayland

In certain environments, X11 is preferred over Wayland:

  • Cirrus graphics used in a VM environment
  • Matrox graphics
  • Aspeed graphics
  • QXL graphics used in a VM environment
  • Nvidia graphics when used with the proprietary driver
Important

The Nvidia graphics by default use Nouveau, which is an open source driver. Nouveau is supported on GNOME Shell on Wayland, so you can use Nvidia graphics with Nouveau without any limitations. However, using Nvidia graphics with proprietary Nvidia binary drivers is not supported on GNOME Shell on Wayland. In this case, switch to X.Org as described in Section 18.3, “Selecting GNOME environment and display protocol”.

Note

You can find the current list of environments for which Wayland is not available in the /usr/lib/udev/rules.d/61-gdm.rules file.

Chapter 19. The Web Console

19.1. The web console is now available by default

Packages for the RHEL 8 web console, also known as Cockpit, are now part of Red Hat Enterprise Linux default repositories, and can therefore be immediately installed on a registered RHEL 8 system.

In addition, on a non-minimal installation of RHEL 8, the web console is automatically installed and firewall ports required by the console are automatically open. A system message has also been added prior to login that provides information about how to enable or access the web console.

19.2. New firewall interface

The Networking tab in the RHEL 8 Web Console now includes the Firewall settings. In this section, users can:

  • Enable/Disable firewall
  • Add/remove services

For details, see Using the web console for managing firewall.

19.3. Subscription management

The RHEL 8 web console provides an interface for using Red Hat Subscription Manager installed on your local system. The Subscription Manager connects to the Red Hat Customer Portal and verifies all available:

  • Active subscriptions
  • Expired subscriptions
  • Renewed subscriptions

If you want to renew the subscription or get a different one in Red Hat Customer Portal, you do not have to update the Subscription Manager data manually. The Subscription Manager synchronizes data with Red Hat Customer Portal automatically.

This paragraph is the assembly introduction. It explains what the user will accomplish by working through the modules in the assembly and sets the context for the user story the assembly is based on. Can include more than one paragraph. Consider using the information from the user story.

Note

The web console’s Subscriptions page is now provided by the new subscription-manager-cockpit package.

For details, see Managing subscriptions in the web console.

19.4. Better IdM integration for the web console

If your system is enrolled in an Identity Management (IdM) domain, the RHEL 8 web console now uses the domain’s centrally managed IdM resources by default. This includes the following benefits:

  • The IdM domain’s administrators can use the web console to manage the local machine.
  • The console’s web server automatically switches to a certificate issued by the IdM certificate authority (CA) and accepted by browsers.
  • Users with a Kerberos ticket in the IdM domain do not need to provide login credentials to access the web console.
  • SSH hosts known to the IdM domain are accessible to the web console without manually adding an SSH connection.

Note that for IdM integration with the web console to work properly, the user first needs to run the ipa-advise utility with the enable-admins-sudo option in the IdM master system.

19.5. The web console is now compatible with mobile browsers

With this update, the web console menus and pages can be navigated on mobile browser variants. This makes it possible to manage systems using the RHEL 8 web console from a mobile device.

19.6. The web console front page now displays missing updates and subscriptions

If a system managed by the RHEL 8 web console has outdated packages or a lapsed subscription, a warning is now displayed on the web console front page of the system.

19.7. The web console now supports PBD enrollment

With this update, you can use the the RHEL 8 web console interface to apply Policy-Based Decryption (PBD) rules to disks on managed systems. This uses the Clevis decryption client to facilitate a variety of security management functions in the web console, such as automatic unlocking of LUKS-encrypted disk partitions.

19.8. Support LUKS v2

In the web console’s Storage tab, you can now create, lock, unlock, resize, and otherwise configure encrypted devices using the LUKS (Linux Unified Key Setup) version 2 format.

This new version of LUKS offers:

  • More flexible unlocking policies
  • Stronger cryptography
  • Better compatibility with future changes

19.9. Virtual machines can now be managed using the web console

The Virtual Machines page can now be added to the RHEL 8 web console interface, which enables the user to create and manage libvirt-based virtual machines.

For information about the differences in virtual management features between the RHEL 8 Web Console and the Virtual Machine Manager, see Differences in virtualization features in Virtual Machine Manager and RHEL 8 Web Console.

19.10. Internet Explorer unsupported by the RHEL 8 web console

Support for the Internet Explorer browser has been removed from the RHEL 8 web console. Attempting to open the web console in Internet Explorer now displays an error screen with a list of recommended browsers that can be used instead.

Chapter 20. Virtualization

20.1. Virtual machines can now be managed using the web console

The Virtual Machines page can now be added to the RHEL 8 web console interface, which enables the user to create and manage libvirt-based virtual machines (VMs).

In addition, the Virtual Machine Manager (virt-manager) application has been deprecated, and may become unsupported in a future major release of RHEL.

Note, however, that the web console currently does not provide all of the virtual management features that `virt-manager`does. Notably:

  • To create a new VM, you can only use a fresh installation. It is not possible to import VM images.
  • When creating a new VM, you cannot select a specific storage pool.
  • Storage pools can only be created, not deleted, deactivated, or modified.

For more details about the differences in virtual management features between the RHEL 8 Web Console and the Virtual Machine Manager, see Differences in virtualization features in Virtual Machine Manager and RHEL 8 Web Console.

20.2. The Q35 machine type is now supported by virtualization

Red hat Enterprise Linux 8 introduces the support for Q35, a more modern PCI Express-based machine type. This provides a variety of improvements in features and performance of virtual devices, and ensures that a wider range of modern devices are compatible with virtualization. In addition, virtual machines created in Red Hat Enterprise Linux 8 are set to use Q35 by default.

Note that the previously default PC machine type has become deprecated and may become unsupported in a future major release of RHEL. However, changing the machine type of existing VMs from PC to Q35 is not recommended.

Notable differences between PC and Q35 include:

  • Older operating systems, such as Windows XP, do not support Q35 and will not boot if used on a Q35 VM.
  • Currently, when using RHEL 6 as the operating system on a Q35 VM, hot-plugging a PCI device to that VM in some cases does not work. In addition, certain legacy virtio devices do not work properly on RHEL 6 Q35 VMs.

    Therefore, using the PC machine type is recommended for RHEL 6 VMs.

  • Q35 emulates PCI Express (PCI-e) buses instead of PCI. As a result, a different device topology and addressing scheme is presented to the guest OS.
  • Q35 has a built-in SATA/AHCI controller, instead of an IDE controller.
  • The SecureBoot feature only works on Q35 VMs.

20.3. Removed virtualization functionality

IVSHMEM has been disabled

The inter-VM shared memory device (IVSHMEM) feature, which provides shared memory between multiple virtual machines, is now disabled in Red Hat Enterprise Linux 8. A virtual machine configured with this device will fail to boot. Similarly, attempting to hot-plug such a device device will fail as well.

virt-install can no longer use NFS locations

With this update, the virt-install utility cannot mount NFS locations. As a consequence, attempting to install a virtual machine using virt-install with a NFS address as a value of the --location option fails. To work around this change, mount your NFS share prior to using virt-install, or use a HTTP location.

RHEL 8 does not support the tulip driver

With this update, the tulip network driver is no longer supported. As a consequence, when using RHEL 8 on a Generation 1 virtual machine (VM) on the Microsoft Hyper-V hypervisor, the "Legacy Network Adapter" device does not work, which causes PXE installation of such VMs to fail.

For the PXE installation to work, install RHEL 8 on a Generation 2 Hyper-V VM. If you require a RHEL 8 Generation 1 VM, use ISO installation.

LSI Logic SAS and Parallel SCSI drivers are not supported

The LSI Logic SAS driver (mptsas) and LSI Logic Parallel driver (mptspi) for SCSI are no longer supported. As a consequence, the drivers can be used for installing RHEL 8 as a guest operating system on a VMWare hypervisor to a SCSI disk, but the created VM will not be supported by Red Hat.

Installing virtio-win no longer creates a floppy disk image with the Windows drivers

Due to the limitation of floppy drives, virtio-win drivers are no longer provided as floppy images. Users should use the ISO image instead.

Chapter 21. Containers

A set of container images is available for Red Hat Enterprise Linux (RHEL) 8.0. Notable changes include:

  • Docker is not included in RHEL 8.0. For working with containers, use the podman, buildah, skopeo, and runc tools.

    For information on these tools and on using containers in RHEL 8, see Building, running, and managing containers.

  • The podman tool has been released as a fully supported feature.

    The podman tool manages pods, container images, and containers on a single node. It is built on the libpod library, which enables management of containers and groups of containers, called pods.

    To learn how to use podman, see Building, running, and managing containers.

  • In RHEL 8 GA, Red Hat Universal Base Images (UBI) are newly available. UBIs replace some of the images Red Hat previously provided, such as the standard and the minimal RHEL base images.

    Unlike older Red Hat images, UBIs are freely redistributable. This means they can be used in any environment and shared anywhere. You can use them even if you are not a Red Hat customer.

    For UBI documentation, see Building, running, and managing containers.

  • In RHEL 8 GA, additional container images are available that provide AppStream components, for which container images are distributed with Red Hat Software Collections in RHEL 7. All of these RHEL 8 images are based on the ubi8 base image.
  • Container images ARM for the 64-bit ARM architecture are fully supported in RHEL 8.
  • The rhel-tools container has been removed in RHEL 8. The sos and redhat-support-tool tools are provided in the support-tools container. System administrators can also use this image as a base for building system tools container image.
  • The support for rootless containers is available as a technology preview in RHEL 8.

    Rootless containers are containers that are created and managed by regular system users without administrative permissions.

Appendix A. Changes to packages

This chapter lists changes to packages between RHEL 7 and RHEL 8.

A.1. New packages

The following packages are new in RHEL 8:

# | 389-ds-base-legacy-tools

A | aajohan-comfortaa-fonts, abrt-addon-coredump-helper, abrt-cli-ng, abrt-plugin-machine-id, abrt-plugin-sosreport, adcli-doc, alsa-ucm, alsa-utils-alsabat, anaconda-install-env-deps, annobin, ant-lib, ant-xz, apcu-panel, apr-util-bdb, aspell-en, assertj-core, assertj-core-javadoc, atlas-corei2, atlas-corei2-devel, audispd-plugins-zos, authselect, authselect-compat, authselect-libs

B | bacula-logwatch, beignet, blivet-data, bluez-obexd, bnd-maven-plugin, boom-boot, boom-boot-conf, boom-boot-grub2, boost-container, boost-coroutine, boost-fiber, boost-log, boost-mpich-python3, boost-numpy3, boost-openmpi-python3, boost-python3, boost-python3-devel, boost-stacktrace, boost-type_erasure, brltty-dracut, brltty-espeak-ng, brotli, brotli-devel, bubblewrap, buildah

C | c2esp, cargo, cargo-doc, cargo-vendor, cjose, cjose-devel, clang, clang-analyzer, clang-devel, clang-libs, clang-tools-extra, cldr-emoji-annotation, clippy, cmake-data, cmake-doc, cmake-filesystem, cmake-rpm-macros, cockpit-composer, cockpit-dashboard, cockpit-machines, cockpit-packagekit, cockpit-pcp, cockpit-session-recording, cockpit-storaged, compat-guile18, compat-guile18-devel, compat-libgfortran-48, compat-libpthread-nonshared, compat-openssl10, compiler-rt, composer-cli, container-exception-logger, container-selinux, containernetworking-plugins, containers-common, coreutils-common, coreutils-single, cppcheck, createrepo_c, createrepo_c-devel, createrepo_c-libs, crypto-policies, CUnit, CUnit-devel, cyrus-imapd-vzic

D | dbus-c, dbus-c-devel, dbus-c++-glib, dbus-common, dbus-daemon, dbus-tools, dhcp-client, dhcp-relay, dhcp-server, dleyna-renderer, dnf, dnf-automatic, dnf-data, dnf-plugin-spacewalk, dnf-plugin-subscription-manager, dnf-plugins-core, dnf-utils, dnssec-trigger-panel, docbook2X, dotnet, dotnet-host, dotnet-host-fxr-2.1, dotnet-runtime-2.1, dotnet-sdk-2.1, dotnet-sdk-2.1.5xx, dpdk, dpdk-devel, dpdk-doc, dpdk-tools, dracut-live, dracut-squash, driverctl, drpm, drpm-devel, dtc

E | edk2-aarch64, edk2-ovmf, efi-filesystem, efi-srpm-macros, egl-wayland, eglexternalplatform-devel, eigen3-devel, emacs-lucid, enca, enca-devel, enchant2, enchant2-devel, espeak-ng, evemu, evemu-libs, execstack

F | fence-agents-lpar, fence-agents-zvm, fftw-libs-quad, freeradius-rest, fuse-common, fuse-overlayfs, fuse-sshfs, fuse3, fuse3-devel, fuse3-libs

G | galera, gcc-gdb-plugin, gcc-offload-nvptx, gdb-headless, gdbm-libs, gdk-pixbuf2-modules, gdk-pixbuf2-xlib, gdk-pixbuf2-xlib-devel, gegl04, gegl04-devel, genwqe-tools, genwqe-vpd, genwqe-zlib, genwqe-zlib-devel, geronimo-jpa, geronimo-jpa-javadoc, gfbgraph, gflags, gflags-devel, ghc-srpm-macros, ghostscript-tools-dvipdf, ghostscript-tools-fonts, ghostscript-tools-printing, ghostscript-x11, git-clang-format, git-core, git-core-doc, git-subtree, glassfish-annotation-api, glassfish-annotation-api-javadoc, glassfish-jax-rs-api, glassfish-jax-rs-api-javadoc, glassfish-jaxb-bom, glassfish-jaxb-bom-ext, glassfish-jaxb-codemodel, glassfish-jaxb-codemodel-annotation-compiler, glassfish-jaxb-codemodel-parent, glassfish-jaxb-core, glassfish-jaxb-external-parent, glassfish-jaxb-parent, glassfish-jaxb-rngom, glassfish-jaxb-runtime, glassfish-jaxb-runtime-parent, glassfish-jaxb-txw-parent, glassfish-jaxb-txw2, glassfish-legal, glassfish-master-pom, glassfish-servlet-api, glassfish-servlet-api-javadoc, glibc-all-langpacks, glibc-langpack-aa, glibc-langpack-af, glibc-langpack-agr, glibc-langpack-ak, glibc-langpack-am, glibc-langpack-an, glibc-langpack-anp, glibc-langpack-ar, glibc-langpack-as, glibc-langpack-ast, glibc-langpack-ayc, glibc-langpack-az, glibc-langpack-be, glibc-langpack-bem, glibc-langpack-ber, glibc-langpack-bg, glibc-langpack-bhb, glibc-langpack-bho, glibc-langpack-bi, glibc-langpack-bn, glibc-langpack-bo, glibc-langpack-br, glibc-langpack-brx, glibc-langpack-bs, glibc-langpack-byn, glibc-langpack-ca, glibc-langpack-ce, glibc-langpack-chr, glibc-langpack-cmn, glibc-langpack-crh, glibc-langpack-cs, glibc-langpack-csb, glibc-langpack-cv, glibc-langpack-cy, glibc-langpack-da, glibc-langpack-de, glibc-langpack-doi, glibc-langpack-dsb, glibc-langpack-dv, glibc-langpack-dz, glibc-langpack-el, glibc-langpack-en, glibc-langpack-eo, glibc-langpack-es, glibc-langpack-et, glibc-langpack-eu, glibc-langpack-fa, glibc-langpack-ff, glibc-langpack-fi, glibc-langpack-fil, glibc-langpack-fo, glibc-langpack-fr, glibc-langpack-fur, glibc-langpack-fy, glibc-langpack-ga, glibc-langpack-gd, glibc-langpack-gez, glibc-langpack-gl, glibc-langpack-gu, glibc-langpack-gv, glibc-langpack-ha, glibc-langpack-hak, glibc-langpack-he, glibc-langpack-hi, glibc-langpack-hif, glibc-langpack-hne, glibc-langpack-hr, glibc-langpack-hsb, glibc-langpack-ht, glibc-langpack-hu, glibc-langpack-hy, glibc-langpack-ia, glibc-langpack-id, glibc-langpack-ig, glibc-langpack-ik, glibc-langpack-is, glibc-langpack-it, glibc-langpack-iu, glibc-langpack-ja, glibc-langpack-ka, glibc-langpack-kab, glibc-langpack-kk, glibc-langpack-kl, glibc-langpack-km, glibc-langpack-kn, glibc-langpack-ko, glibc-langpack-kok, glibc-langpack-ks, glibc-langpack-ku, glibc-langpack-kw, glibc-langpack-ky, glibc-langpack-lb, glibc-langpack-lg, glibc-langpack-li, glibc-langpack-lij, glibc-langpack-ln, glibc-langpack-lo, glibc-langpack-lt, glibc-langpack-lv, glibc-langpack-lzh, glibc-langpack-mag, glibc-langpack-mai, glibc-langpack-mfe, glibc-langpack-mg, glibc-langpack-mhr, glibc-langpack-mi, glibc-langpack-miq, glibc-langpack-mjw, glibc-langpack-mk, glibc-langpack-ml, glibc-langpack-mn, glibc-langpack-mni, glibc-langpack-mr, glibc-langpack-ms, glibc-langpack-mt, glibc-langpack-my, glibc-langpack-nan, glibc-langpack-nb, glibc-langpack-nds, glibc-langpack-ne, glibc-langpack-nhn, glibc-langpack-niu, glibc-langpack-nl, glibc-langpack-nn, glibc-langpack-nr, glibc-langpack-nso, glibc-langpack-oc, glibc-langpack-om, glibc-langpack-or, glibc-langpack-os, glibc-langpack-pa, glibc-langpack-pap, glibc-langpack-pl, glibc-langpack-ps, glibc-langpack-pt, glibc-langpack-quz, glibc-langpack-raj, glibc-langpack-ro, glibc-langpack-ru, glibc-langpack-rw, glibc-langpack-sa, glibc-langpack-sah, glibc-langpack-sat, glibc-langpack-sc, glibc-langpack-sd, glibc-langpack-se, glibc-langpack-sgs, glibc-langpack-shn, glibc-langpack-shs, glibc-langpack-si, glibc-langpack-sid, glibc-langpack-sk, glibc-langpack-sl, glibc-langpack-sm, glibc-langpack-so, glibc-langpack-sq, glibc-langpack-sr, glibc-langpack-ss, glibc-langpack-st, glibc-langpack-sv, glibc-langpack-sw, glibc-langpack-szl, glibc-langpack-ta, glibc-langpack-tcy, glibc-langpack-te, glibc-langpack-tg, glibc-langpack-th, glibc-langpack-the, glibc-langpack-ti, glibc-langpack-tig, glibc-langpack-tk, glibc-langpack-tl, glibc-langpack-tn, glibc-langpack-to, glibc-langpack-tpi, glibc-langpack-tr, glibc-langpack-ts, glibc-langpack-tt, glibc-langpack-ug, glibc-langpack-uk, glibc-langpack-unm, glibc-langpack-ur, glibc-langpack-uz, glibc-langpack-ve, glibc-langpack-vi, glibc-langpack-wa, glibc-langpack-wae, glibc-langpack-wal, glibc-langpack-wo, glibc-langpack-xh, glibc-langpack-yi, glibc-langpack-yo, glibc-langpack-yue, glibc-langpack-yuw, glibc-langpack-zh, glibc-langpack-zu, glibc-locale-source, glibc-minimal-langpack, glog, glog-devel, gmock, gmock-devel, gmp-c++, gnome-autoar, gnome-backgrounds-extras, gnome-characters, gnome-control-center, gnome-control-center-filesystem, gnome-logs, gnome-photos, gnome-photos-tests, gnome-remote-desktop, gnome-shell-extension-desktop-icons, gnome-tweaks, go-compilers-golang-compiler, go-srpm-macros, go-toolset, golang, golang-bin, golang-docs, golang-misc, golang-race, golang-src, golang-tests, google-droid-kufi-fonts, google-droid-sans-fonts, google-droid-sans-mono-fonts, google-droid-serif-fonts, google-noto-cjk-fonts-common, google-noto-mono-fonts, google-noto-nastaliq-urdu-fonts, google-noto-sans-cjk-jp-fonts, google-noto-sans-cjk-ttc-fonts, google-noto-sans-oriya-fonts, google-noto-sans-oriya-ui-fonts, google-noto-sans-tibetan-fonts, google-noto-serif-bengali-fonts, google-noto-serif-cjk-ttc-fonts, google-noto-serif-devanagari-fonts, google-noto-serif-gujarati-fonts, google-noto-serif-kannada-fonts, google-noto-serif-malayalam-fonts, google-noto-serif-tamil-fonts, google-noto-serif-telugu-fonts, google-roboto-slab-fonts, gpgmepp, gpgmepp-devel, grub2-tools-efi, gssntlmssp, gstreamer1-plugins-good-gtk, gtest, gtest-devel, guava20, guava20-javadoc, guava20-testlib, guice-assistedinject, guice-bom, guice-extensions, guice-grapher, guice-jmx, guice-jndi, guice-multibindings, guice-servlet, guice-testlib, guice-throwingproviders, gutenprint-libs, gutenprint-libs-ui

H | hamcrest-core, hawtjni-runtime, hexchat, hexchat-devel, httpcomponents-client-cache, httpd-filesystem, hunspell-es-AR, hunspell-es-BO, hunspell-es-CL, hunspell-es-CO, hunspell-es-CR, hunspell-es-CU, hunspell-es-DO, hunspell-es-EC, hunspell-es-ES, hunspell-es-GT, hunspell-es-HN, hunspell-es-MX, hunspell-es-NI, hunspell-es-PA, hunspell-es-PE, hunspell-es-PR, hunspell-es-PY, hunspell-es-SV, hunspell-es-US, hunspell-es-UY, hunspell-es-VE

I | i2c-tools-perl, ibus-libzhuyin, ibus-wayland, iio-sensor-proxy, infiniband-diags-compat, integritysetup, ipa-idoverride-memberof-plugin, ipcalc, ipmievd, iproute-tc, iptables-arptables, iptables-ebtables, iptables-libs, isl, isl-devel, isns-utils-devel, isns-utils-libs, istack-commons-runtime, istack-commons-tools, ivy-local

J | jackson-annotations, jackson-annotations-javadoc, jackson-core, jackson-core-javadoc, jackson-databind, jackson-databind-javadoc, jackson-jaxrs-json-provider, jackson-jaxrs-providers, jackson-jaxrs-providers-datatypes, jackson-jaxrs-providers-javadoc, jackson-module-jaxb-annotations, jackson-module-jaxb-annotations-javadoc, javapackages-filesystem, javapackages-local, jbig2dec-libs, jboss-annotations-1.2-api, jboss-interceptors-1.2-api, jboss-interceptors-1.2-api-javadoc, jboss-jaxrs-2.0-api, jboss-logging, jboss-logging-tools, jcl-over-slf4j, jdeparser, jdom2, jdom2-javadoc, jimtcl, jimtcl-devel, jq, js-uglify, Judy, jul-to-slf4j, julietaula-montserrat-fonts

K | kabi-dw, kdump-anaconda-addon, kernel-core, kernel-cross-headers, kernel-debug-core, kernel-debug-modules, kernel-debug-modules-extra, kernel-modules, kernel-modules-extra, kernel-rpm-macros, kernel-rt-core, kernel-rt-debug-core, kernel-rt-debug-modules, kernel-rt-debug-modules-extra, kernel-rt-modules, kernel-rt-modules-extra, kernelshark, koan, kyotocabinet-libs

L | lame-devel, lame-libs, langpacks-af, langpacks-am, langpacks-ar, langpacks-as, langpacks-ast, langpacks-be, langpacks-bg, langpacks-bn, langpacks-br, langpacks-bs, langpacks-ca, langpacks-cs, langpacks-cy, langpacks-da, langpacks-de, langpacks-el, langpacks-en, langpacks-en_GB, langpacks-es, langpacks-et, langpacks-eu, langpacks-fa, langpacks-fi, langpacks-fr, langpacks-ga, langpacks-gl, langpacks-gu, langpacks-he, langpacks-hi, langpacks-hr, langpacks-hu, langpacks-ia, langpacks-id, langpacks-is, langpacks-it, langpacks-ja, langpacks-kk, langpacks-kn, langpacks-ko, langpacks-lt, langpacks-lv, langpacks-mai, langpacks-mk, langpacks-ml, langpacks-mr, langpacks-ms, langpacks-nb, langpacks-ne, langpacks-nl, langpacks-nn, langpacks-nr, langpacks-nso, langpacks-or, langpacks-pa, langpacks-pl, langpacks-pt, langpacks-pt_BR, langpacks-ro, langpacks-ru, langpacks-si, langpacks-sk, langpacks-sl, langpacks-sq, langpacks-sr, langpacks-ss, langpacks-sv, langpacks-ta, langpacks-te, langpacks-th, langpacks-tn, langpacks-tr, langpacks-ts, langpacks-uk, langpacks-ur, langpacks-ve, langpacks-vi, langpacks-xh, langpacks-zh_CN, langpacks-zh_TW, langpacks-zu, lato-fonts, lensfun, lensfun-devel, leptonica, leptonica-devel, liba52, libaec, libaec-devel, libatomic_ops, libbabeltrace, libblockdev-lvm-dbus, libcephfs-devel, libcephfs2, libcmocka, libcmocka-devel, libcomps, libcomps-devel, libcurl-minimal, libdap, libdap-devel, libdatrie, libdatrie-devel, libdazzle, libdc1394, libdnf, libEMF, libEMF-devel, libeot, libepubgen, libertas-sd8686-firmware, libertas-sd8787-firmware, libertas-usb8388-firmware, libertas-usb8388-olpc-firmware, libev, libev-devel, libev-libevent-devel, libev-source, libfdisk, libfdisk-devel, libfdt, libfdt-devel, libgit2, libgit2-devel, libgit2-glib, libgit2-glib-devel, libgomp-offload-nvptx, libgudev, libgudev-devel, libi2c, libidn2, libidn2-devel, libijs, libinput-utils, libipt, libisoburn, libisoburn-devel, libkcapi, libkcapi-hmaccalc, libkeepalive, libknet1, libknet1-compress-bzip2-plugin, libknet1-compress-lz4-plugin, libknet1-compress-lzma-plugin, libknet1-compress-lzo2-plugin, libknet1-compress-plugins-all, libknet1-compress-zlib-plugin, libknet1-crypto-nss-plugin, libknet1-crypto-openssl-plugin, libknet1-crypto-plugins-all, libknet1-devel, libknet1-plugins-all, liblangtag-data, libmad, libmad-devel, libmcpp, libmemcached-libs, libmetalink, libmodulemd, libmodulemd-devel, libmodulemd1, libnghttp2, libnghttp2-devel, libnice-gstreamer1, libnsl, libnsl2, libnsl2-devel, liboggz, libomp, libomp-devel, libomp-test, libpeas-loader-python3, libpkgconf, libpq, libpq-devel, libproxy-webkitgtk4, libpsl, libqhull, libqhull_p, libqhull_r, libqxp, librados-devel, libradosstriper-devel, libradosstriper1, librbd-devel, libreoffice-help-en, libreoffice-langpack-af, libreoffice-langpack-ar, libreoffice-langpack-as, libreoffice-langpack-bg, libreoffice-langpack-bn, libreoffice-langpack-br, libreoffice-langpack-ca, libreoffice-langpack-cs, libreoffice-langpack-cy, libreoffice-langpack-da, libreoffice-langpack-de, libreoffice-langpack-dz, libreoffice-langpack-el, libreoffice-langpack-es, libreoffice-langpack-et, libreoffice-langpack-eu, libreoffice-langpack-fa, libreoffice-langpack-fi, libreoffice-langpack-fr, libreoffice-langpack-ga, libreoffice-langpack-gl, libreoffice-langpack-gu, libreoffice-langpack-he, libreoffice-langpack-hi, libreoffice-langpack-hr, libreoffice-langpack-hu, libreoffice-langpack-id, libreoffice-langpack-it, libreoffice-langpack-ja, libreoffice-langpack-kk, libreoffice-langpack-kn, libreoffice-langpack-ko, libreoffice-langpack-lt, libreoffice-langpack-lv, libreoffice-langpack-mai, libreoffice-langpack-ml, libreoffice-langpack-mr, libreoffice-langpack-nb, libreoffice-langpack-nl, libreoffice-langpack-nn, libreoffice-langpack-nr, libreoffice-langpack-nso, libreoffice-langpack-or, libreoffice-langpack-pa, libreoffice-langpack-pl, libreoffice-langpack-pt-BR, libreoffice-langpack-pt-PT, libreoffice-langpack-ro, libreoffice-langpack-ru, libreoffice-langpack-si, libreoffice-langpack-sk, libreoffice-langpack-sl, libreoffice-langpack-sr, libreoffice-langpack-ss, libreoffice-langpack-st, libreoffice-langpack-sv, libreoffice-langpack-ta, libreoffice-langpack-te, libreoffice-langpack-th, libreoffice-langpack-tn, libreoffice-langpack-tr, libreoffice-langpack-ts, libreoffice-langpack-uk, libreoffice-langpack-ve, libreoffice-langpack-xh, libreoffice-langpack-zh-Hans, libreoffice-langpack-zh-Hant, libreoffice-langpack-zu, librhsm, librx, librx-devel, libsass, libsass-devel, libserf, libsigsegv, libsigsegv-devel, libssh, libssh-devel, libstemmer, libstemmer-devel, libubsan, libucil, libucil-devel, libunicap, libunicap-devel, libuv, libvarlink, libvarlink-devel, libvarlink-util, libvirt-dbus, libX11-xcb, libxcam, libxcrypt, libxcrypt-devel, libxcrypt-static, libXNVCtrl, libXNVCtrl-devel, libzhuyin, libzip-tools, lld, lld-devel, lld-libs, lldb, lldb-devel, lldpd, lldpd-devel, llvm, llvm-devel, llvm-doc, llvm-googletest, llvm-libs, llvm-static, llvm-test, llvm-toolset, log4j-over-slf4j, log4j12, log4j12-javadoc, lohit-gurmukhi-fonts, lohit-odia-fonts, lorax-composer, lorax-lmc-novirt, lorax-lmc-virt, lorax-templates-generic, lorax-templates-rhel, lttng-ust, lttng-ust-devel, lua-expat, lua-filesystem, lua-json, lua-libs, lua-lpeg, lua-lunit, lua-posix, lua-socket, lvm2-dbusd, lz4-libs

M | make-devel, man-db-cron, mariadb-backup, mariadb-common, mariadb-connector-c, mariadb-connector-c-config, mariadb-connector-c-devel, mariadb-connector-odbc, mariadb-errmsg, mariadb-gssapi-server, mariadb-java-client, mariadb-oqgraph-engine, mariadb-server-galera, mariadb-server-utils, maven-artifact-transfer, maven-artifact-transfer-javadoc, maven-lib, maven-resolver, maven-resolver-api, maven-resolver-connector-basic, maven-resolver-impl, maven-resolver-javadoc, maven-resolver-spi, maven-resolver-test-util, maven-resolver-transport-classpath, maven-resolver-transport-file, maven-resolver-transport-http, maven-resolver-transport-wagon, maven-resolver-util, maven-wagon-file, maven-wagon-ftp, maven-wagon-http, maven-wagon-http-lightweight, maven-wagon-http-shared, maven-wagon-provider-api, maven-wagon-providers, mcpp, mecab, mecab-ipadic, mecab-ipadic-EUCJP, mesa-vulkan-devel, meson, metis, metis-devel, microdnf, mingw-binutils-generic, mingw-filesystem-base, mingw32-binutils, mingw32-bzip2, mingw32-bzip2-static, mingw32-cairo, mingw32-cpp, mingw32-crt, mingw32-expat, mingw32-filesystem, mingw32-fontconfig, mingw32-freetype, mingw32-freetype-static, mingw32-gcc, mingw32-gcc-c, mingw32-gettext, mingw32-gettext-static, mingw32-glib2, mingw32-glib2-static, mingw32-gstreamer1, mingw32-harfbuzz, mingw32-harfbuzz-static, mingw32-headers, mingw32-icu, mingw32-libffi, mingw32-libjpeg-turbo, mingw32-libjpeg-turbo-static, mingw32-libpng, mingw32-libpng-static, mingw32-libtiff, mingw32-libtiff-static, mingw32-openssl, mingw32-pcre, mingw32-pcre-static, mingw32-pixman, mingw32-pkg-config, mingw32-readline, mingw32-sqlite, mingw32-sqlite-static, mingw32-termcap, mingw32-win-iconv, mingw32-win-iconv-static, mingw32-winpthreads, mingw32-winpthreads-static, mingw32-zlib, mingw32-zlib-static, mingw64-binutils, mingw64-bzip2, mingw64-bzip2-static, mingw64-cairo, mingw64-cpp, mingw64-crt, mingw64-expat, mingw64-filesystem, mingw64-fontconfig, mingw64-freetype, mingw64-freetype-static, mingw64-gcc, mingw64-gcc-c, mingw64-gettext, mingw64-gettext-static, mingw64-glib2, mingw64-glib2-static, mingw64-gstreamer1, mingw64-harfbuzz, mingw64-harfbuzz-static, mingw64-headers, mingw64-icu, mingw64-libffi, mingw64-libjpeg-turbo, mingw64-libjpeg-turbo-static, mingw64-libpng, mingw64-libpng-static, mingw64-libtiff, mingw64-libtiff-static, mingw64-openssl, mingw64-pcre, mingw64-pcre-static, mingw64-pixman, mingw64-pkg-config, mingw64-readline, mingw64-sqlite, mingw64-sqlite-static, mingw64-termcap, mingw64-win-iconv, mingw64-win-iconv-static, mingw64-winpthreads, mingw64-winpthreads-static, mingw64-zlib, mingw64-zlib-static, mockito, mockito-javadoc, mod_http2, mod_md, mozvoikko, mpich, mpich-devel, mpitests-mvapich2-psm2, multilib-rpm-config, munge, munge-devel, munge-libs, mvapich2, mvapich2-psm2, mysql, mysql-common, mysql-devel, mysql-errmsg, mysql-libs, mysql-server, mysql-test

N | nbdkit-bash-completion, nbdkit-plugin-gzip, nbdkit-plugin-python3, nbdkit-plugin-xz, ncurses-c++-libs, ncurses-compat-libs, netconsole-service, network-scripts, network-scripts-team, NetworkManager-config-connectivity-redhat, nghttp2, nginx, nginx-all-modules, nginx-filesystem, nginx-mod-http-image-filter, nginx-mod-http-perl, nginx-mod-http-xslt-filter, nginx-mod-mail, nginx-mod-stream, ninja-build, nkf, nodejs, nodejs-devel, nodejs-docs, nodejs-nodemon, nodejs-packaging, npm, npth, nss_db, nss_nis, nss_wrapper, nss-altfiles, ntpstat

O | objectweb-pom, objenesis, objenesis-javadoc, ocaml-cppo, ocaml-labltk, ocaml-labltk-devel, oci-systemd-hook, oci-umount, ocl-icd, ocl-icd-devel, ongres-scram, ongres-scram-client, oniguruma, oniguruma-devel, openal-soft, openal-soft-devel, openblas, openblas-devel, openblas-openmp, openblas-openmp64, openblas-openmp64_, openblas-Rblas, openblas-serial64, openblas-serial64_, openblas-srpm-macros, openblas-static, openblas-threads, openblas-threads64, openblas-threads64_, opencl-filesystem, opencl-headers, opencv-contrib, OpenIPMI-lanserv, openscap-python3, openssl-ibmpkcs11, openssl-pkcs11, openwsman-python3, os-maven-plugin, os-maven-plugin-javadoc, osad, osgi-annotation, osgi-annotation-javadoc, osgi-compendium, osgi-compendium-javadoc, osgi-core, osgi-core-javadoc, ostree, ostree-devel, ostree-grub2, ostree-libs, overpass-mono-fonts

P | p11-kit-server, pacemaker-schemas, pam_cifscreds, pandoc, pandoc-common, papi-libs, pcaudiolib, pcp-pmda-podman, pcre-cpp, pcre-utf16, pcre-utf32, peripety, perl-AnyEvent, perl-Attribute-Handlers, perl-B-Debug, perl-B-Hooks-EndOfScope, perl-bignum, perl-Canary-Stability, perl-Class-Accessor, perl-Class-Factory-Util, perl-Class-Method-Modifiers, perl-Class-Tiny, perl-Class-XSAccessor, perl-common-sense, perl-Compress-Bzip2, perl-Config-AutoConf, perl-Config-Perl-V, perl-CPAN-DistnameInfo, perl-CPAN-Meta-Check, perl-Data-Dump, perl-Data-Section, perl-Data-UUID, perl-Date-ISO8601, perl-DateTime-Format-Builder, perl-DateTime-Format-HTTP, perl-DateTime-Format-ISO8601, perl-DateTime-Format-Mail, perl-DateTime-Format-Strptime, perl-DateTime-TimeZone-SystemV, perl-DateTime-TimeZone-Tzfile, perl-Devel-CallChecker, perl-Devel-Caller, perl-Devel-GlobalDestruction, perl-Devel-LexAlias, perl-Devel-Peek, perl-Devel-PPPort, perl-Devel-SelfStubber, perl-Devel-Size, perl-Digest-CRC, perl-DynaLoader-Functions, perl-encoding, perl-Errno, perl-Eval-Closure, perl-experimental, perl-Exporter-Tiny, perl-ExtUtils-Command, perl-ExtUtils-Miniperl, perl-ExtUtils-MM-Utils, perl-Fedora-VSP, perl-File-BaseDir, perl-File-chdir, perl-File-DesktopEntry, perl-File-Find-Object, perl-File-MimeInfo, perl-File-ReadBackwards, perl-Filter-Simple, perl-generators, perl-Import-Into, perl-Importer, perl-inc-latest, perl-interpreter, perl-IO, perl-IO-All, perl-IO-Multiplex, perl-IPC-System-Simple, perl-IPC-SysV, perl-JSON-XS, perl-libintl-perl, perl-libnet, perl-libnetcfg, perl-List-MoreUtils-XS, perl-Locale-gettext, perl-Math-BigInt, perl-Math-BigInt-FastCalc, perl-Math-BigRat, perl-Math-Complex, perl-Memoize, perl-MIME-Base64, perl-MIME-Charset, perl-MIME-Types, perl-Module-CoreList-tools, perl-Module-CPANfile, perl-Module-Install-AuthorTests, perl-Module-Install-ReadmeFromPod, perl-MRO-Compat, perl-namespace-autoclean, perl-namespace-clean, perl-Net-Ping, perl-Net-Server, perl-NKF, perl-NTLM, perl-open, perl-Params-Classify, perl-Params-ValidationCompiler, perl-Parse-PMFile, perl-Path-Tiny, perl-Perl-Destruct-Level, perl-perlfaq, perl-PerlIO-utf8_strict, perl-PerlIO-via-QuotedPrint, perl-Pod-Html, perl-Pod-Markdown, perl-Ref-Util, perl-Ref-Util-XS, perl-Role-Tiny, perl-Scope-Guard, perl-SelfLoader, perl-Software-License, perl-Specio, perl-Sub-Exporter-Progressive, perl-Sub-Identify, perl-Sub-Info, perl-Sub-Name, perl-SUPER, perl-Term-ANSIColor, perl-Term-Cap, perl-Term-Size-Any, perl-Term-Size-Perl, perl-Term-Table, perl-Test, perl-Test-LongString, perl-Test-Warnings, perl-Test2-Suite, perl-Text-Balanced, perl-Text-Tabs+Wrap, perl-Text-Template, perl-Types-Serialiser, perl-Unicode-Collate, perl-Unicode-EastAsianWidth, perl-Unicode-LineBreak, perl-Unicode-Normalize, perl-Unicode-UTF8, perl-Unix-Syslog, perl-utils, perl-Variable-Magic, perl-YAML-LibYAML, php-dbg, php-gmp, php-json, php-opcache, php-pecl-apcu, php-pecl-apcu-devel, php-pecl-zip, pigz, pinentry-emacs, pinentry-gnome3, pipewire, pipewire-devel, pipewire-doc, pipewire-libs, pipewire-utils, pkgconf, pkgconf-m4, pkgconf-pkg-config, pki-servlet-4.0-api, pki-servlet-container, platform-python, platform-python-coverage, platform-python-debug, platform-python-devel, platform-python-pip, platform-python-setuptools, plexus-interactivity-api, plexus-interactivity-jline, plexus-languages, plexus-languages-javadoc, plotutils, plotutils-devel, pmix, pmreorder, podman, podman-docker, policycoreutils-dbus, policycoreutils-python-utils, polkit-libs, poppler-qt5, poppler-qt5-devel, postfix-mysql, postfix-pgsql, postgresql-odbc-tests, postgresql-plpython3, postgresql-server-devel, postgresql-test-rpm-macros, postgresql-upgrade-devel, potrace, powermock-api-easymock, powermock-api-mockito, powermock-api-support, powermock-common, powermock-core, powermock-javadoc, powermock-junit4, powermock-reflect, powermock-testng, prefixdevname, pstoedit, ptscotch-mpich, ptscotch-mpich-devel, ptscotch-mpich-devel-parmetis, ptscotch-openmpi, ptscotch-openmpi-devel, publicsuffix-list, publicsuffix-list-dafsa, python-pymongo-doc, python-qt5-rpm-macros, python-sphinx-locale, python-sqlalchemy-doc, python-virtualenv-doc, python2, python2-attrs, python2-babel, python2-backports, python2-backports-ssl_match_hostname, python2-bson, python2-cairo, python2-cairo-devel, python2-chardet, python2-coverage, python2-Cython, python2-debug, python2-devel, python2-dns, python2-docs, python2-docs-info, python2-docutils, python2-funcsigs, python2-idna, python2-ipaddress, python2-iso8601, python2-jinja2, python2-libs, python2-lxml, python2-markupsafe, python2-mock, python2-nose, python2-numpy, python2-numpy-doc, python2-numpy-f2py, python2-pip, python2-pluggy, python2-psycopg2, python2-psycopg2-debug, python2-psycopg2-tests, python2-py, python2-pygments, python2-pymongo, python2-pymongo-gridfs, python2-PyMySQL, python2-pysocks, python2-pytest, python2-pytest-mock, python2-pytz, python2-pyyaml, python2-requests, python2-scipy, python2-scour, python2-setuptools, python2-setuptools_scm, python2-six, python2-sqlalchemy, python2-talloc, python2-test, python2-tkinter, python2-tools, python2-urllib3, python2-virtualenv, python2-wheel, python3-abrt, python3-abrt-addon, python3-abrt-container-addon, python3-abrt-doc, python3-argcomplete, python3-argh, python3-asn1crypto, python3-attrs, python3-audit, python3-augeas, python3-avahi, python3-azure-sdk, python3-babel, python3-bcc, python3-bind, python3-blivet, python3-blockdev, python3-boom, python3-boto3, python3-botocore, python3-brlapi, python3-bson, python3-bytesize, python3-cairo, python3-cffi, python3-chardet, python3-click, python3-clufter, python3-configobj, python3-configshell, python3-cpio, python3-createrepo_c, python3-cryptography, python3-cups, python3-custodia, python3-Cython, python3-dateutil, python3-dbus, python3-dbus-client-gen, python3-dbus-python-client-gen, python3-dbus-signature-pyparsing, python3-decorator, python3-dmidecode, python3-dnf, python3-dnf-plugin-spacewalk, python3-dnf-plugin-versionlock, python3-dnf-plugins-core, python3-dns, python3-docs, python3-docutils, python3-enchant, python3-ethtool, python3-evdev, python3-fasteners, python3-firewall, python3-flask, python3-gevent, python3-gflags, python3-gobject, python3-gobject-base, python3-google-api-client, python3-gpg, python3-greenlet, python3-greenlet-devel, python3-gssapi, python3-hawkey, python3-hivex, python3-html5lib, python3-httplib2, python3-humanize, python3-hwdata, python3-hypothesis, python3-idna, python3-imagesize, python3-iniparse, python3-inotify, python3-into-dbus-python, python3-ipaclient, python3-ipalib, python3-ipaserver, python3-iscsi-initiator-utils, python3-iso8601, python3-itsdangerous, python3-jabberpy, python3-javapackages, python3-jinja2, python3-jmespath, python3-jsonpatch, python3-jsonpointer, python3-jsonschema, python3-justbases, python3-justbytes, python3-jwcrypto, python3-jwt, python3-kdcproxy, python3-keycloak-httpd-client-install, python3-kickstart, python3-kmod, python3-koan, python3-langtable, python3-ldap, python3-ldb, python3-lesscpy, python3-lib389, python3-libcomps, python3-libdnf, python3-libguestfs, python3-libipa_hbac, python3-libnl3, python3-libpfm, python3-libproxy, python3-librepo, python3-libreport, python3-libselinux, python3-libsemanage, python3-libsss_nss_idmap, python3-libstoragemgmt, python3-libstoragemgmt-clibs, python3-libuser, python3-libvirt, python3-libvoikko, python3-libxml2, python3-linux-procfs, python3-lit, python3-lldb, python3-louis, python3-lxml, python3-magic, python3-mako, python3-markdown, python3-markupsafe, python3-meh, python3-meh-gui, python3-mock, python3-mod_wsgi, python3-mpich, python3-netaddr, python3-netifaces, python3-newt, python3-nose, python3-nss, python3-ntplib, python3-numpy, python3-numpy-f2py, python3-oauth2client, python3-oauthlib, python3-openipmi, python3-openmpi, python3-ordered-set, python3-osa-common, python3-osad, python3-packaging, python3-pcp, python3-perf, python3-pexpect, python3-pid, python3-pillow, python3-pki, python3-pluggy, python3-ply, python3-policycoreutils, python3-prettytable, python3-productmd, python3-psycopg2, python3-ptyprocess, python3-pwquality, python3-py, python3-pyasn1, python3-pyasn1-modules, python3-pyatspi, python3-pycparser, python3-pycurl, python3-pydbus, python3-pygments, python3-pymongo, python3-pymongo-gridfs, python3-PyMySQL, python3-pyOpenSSL, python3-pyparsing, python3-pyparted, python3-pyqt5-sip, python3-pyserial, python3-pysocks, python3-pytest, python3-pytoml, python3-pytz, python3-pyudev, python3-pyusb, python3-pywbem, python3-pyxattr, python3-pyxdg, python3-pyyaml, python3-qrcode, python3-qrcode-core, python3-qt5, python3-qt5-base, python3-qt5-devel, python3-reportlab, python3-requests, python3-requests-file, python3-requests-ftp, python3-requests-oauthlib, python3-rhn-check, python3-rhn-client-tools, python3-rhn-setup, python3-rhn-setup-gnome, python3-rhn-virtualization-common, python3-rhn-virtualization-host, python3-rhncfg, python3-rhncfg-actions, python3-rhncfg-client, python3-rhncfg-management, python3-rhnlib, python3-rhnpush, python3-rpm, python3-rrdtool, python3-rtslib, python3-s3transfer, python3-samba, python3-samba-test, python3-schedutils, python3-scipy, python3-scons, python3-semantic_version, python3-setools, python3-setuptools_scm, python3-simpleline, python3-sip, python3-sip-devel, python3-six, python3-slip, python3-slip-dbus, python3-snowballstemmer, python3-spacewalk-abrt, python3-spacewalk-backend-libs, python3-spacewalk-koan, python3-spacewalk-oscap, python3-spacewalk-usix, python3-speechd, python3-sphinx, python3-sphinx_rtd_theme, python3-sphinx-theme-alabaster, python3-sphinxcontrib-websupport, python3-sqlalchemy, python3-sss, python3-sss-murmur, python3-sssdconfig, python3-subscription-manager-rhsm, python3-suds, python3-sure, python3-sushy, python3-syspurpose, python3-systemd, python3-talloc, python3-tbb, python3-tdb, python3-tevent, python3-unbound, python3-unittest2, python3-uritemplate, python3-urllib3, python3-urwid, python3-varlink, python3-virtualenv, python3-webencodings, python3-werkzeug, python3-whoosh, python3-yubico, python36, python36-debug, python36-devel, python36-rpm-macros

Q | qemu-kvm-block-curl, qemu-kvm-block-gluster, qemu-kvm-block-iscsi, qemu-kvm-block-rbd, qemu-kvm-block-ssh, qemu-kvm-core, qemu-kvm-tests, qgpgme, qhull-devel, qt5-devel, qt5-srpm-macros, quota-rpc

R | re2c, readonly-root, redhat-backgrounds, redhat-logos-httpd, redhat-logos-ipa, redhat-release, redis, redis-devel, redis-doc, resteasy, resteasy-javadoc, rhel-system-roles, rhn-custom-info, rhn-virtualization-host, rhncfg, rhncfg-actions, rhncfg-client, rhncfg-management, rhnpush, rls, rpcgen, rpcsvc-proto-devel, rpm-mpi-hooks, rpm-ostree, rpm-ostree-libs, rpm-plugin-ima, rpm-plugin-prioreset, rpm-plugin-selinux, rpm-plugin-syslog, rsync-daemon, rubygem-bson, rubygem-bson-doc, rubygem-did_you_mean, rubygem-diff-lcs, rubygem-mongo, rubygem-mongo-doc, rubygem-mysql2, rubygem-mysql2-doc, rubygem-net-telnet, rubygem-openssl, rubygem-pg, rubygem-pg-doc, rubygem-power_assert, rubygem-rspec, rubygem-rspec-core, rubygem-rspec-expectations, rubygem-rspec-mocks, rubygem-rspec-support, rubygem-test-unit, rubygem-xmlrpc, runc, rust, rust-analysis, rust-debugger-common, rust-doc, rust-gdb, rust-lldb, rust-src, rust-srpm-macros, rust-std-static, rust-toolset, rustfmt

S | samyak-odia-fonts, sane-backends-daemon, sblim-sfcCommon, scala, scala-apidoc, scala-swing, scotch, scotch-devel, SDL2, SDL2-devel, SDL2-static, sendmail-milter-devel, sil-scheherazade-fonts, sisu-mojos, sisu-mojos-javadoc, skopeo, slf4j-ext, slf4j-jcl, slf4j-jdk14, slf4j-log4j12, slf4j-sources, slirp4netns, smc-tools, socket_wrapper, sombok, sombok-devel, sos-audit, spacewalk-abrt, spacewalk-client-cert, spacewalk-koan, spacewalk-oscap, spacewalk-remote-utils, spacewalk-usix, sparsehash-devel, spec-version-maven-plugin, spec-version-maven-plugin-javadoc, speech-dispatcher-espeak-ng, speexdsp, speexdsp-devel, spice-gtk, spirv-tools-libs, splix, sqlite-libs, sscg, sssd-nfs-idmap, stratis-cli, stratisd, SuperLU, SuperLU-devel, supermin-devel, swig-gdb, switcheroo-control, syslinux-extlinux-nonlinux, syslinux-nonlinux, systemd-container, systemd-journal-remote, systemd-pam, systemd-tests, systemd-udev, systemtap-exporter, systemtap-runtime-python3

T | target-restore, tcl-doc, texlive-anyfontsize, texlive-awesomebox, texlive-babel-english, texlive-breqn, texlive-capt-of, texlive-classpack, texlive-ctablestack, texlive-dvisvgm, texlive-environ, texlive-eqparbox, texlive-finstrut, texlive-fontawesome, texlive-fonts-tlwg, texlive-graphics-cfg, texlive-graphics-def, texlive-import, texlive-knuth-lib, texlive-knuth-local, texlive-latex2man, texlive-lib, texlive-lib-devel, texlive-linegoal, texlive-lineno, texlive-ltabptch, texlive-lualibs, texlive-luatex85, texlive-manfnt-font, texlive-mathtools, texlive-mflogo-font, texlive-needspace, texlive-tabu, texlive-tabulary, texlive-tex-ini-files, texlive-texlive-common-doc, texlive-texlive-docindex, texlive-texlive-en, texlive-texlive-msg-translations, texlive-texlive-scripts, texlive-trimspaces, texlive-unicode-data, texlive-updmap-map, texlive-upquote, texlive-wasy2-ps, texlive-xmltexconfig, thai-scalable-laksaman-fonts, timedatex, tinycdb, tinycdb-devel, tinyxml2, tinyxml2-devel, tlog, torque, torque-devel, torque-libs, tpm2-abrmd-selinux, tracker-miners, trousers-lib, tuned-profiles-nfv-host-bin, twolame-libs

U | uglify-js, uid_wrapper, usbguard-dbus, userspace-rcu, userspace-rcu-devel, utf8proc, uthash-devel, util-linux-user

V | varnish, varnish-devel, varnish-docs, varnish-modules, vulkan-headers, vulkan-loader, vulkan-loader-devel

W | WALinuxAgent, web-assets-devel, web-assets-filesystem, webkit2gtk3, webkit2gtk3-devel, webkit2gtk3-jsc, webkit2gtk3-jsc-devel, webkit2gtk3-plugin-process-gtk2, wireshark-cli, woff2

X | Xaw3d, Xaw3d-devel, xmlstreambuffer, xmlstreambuffer-javadoc, xmvn-api, xmvn-bisect, xmvn-connector-aether, xmvn-connector-ivy, xmvn-core, xmvn-install, xmvn-minimal, xmvn-mojo, xmvn-parent-pom, xmvn-resolve, xmvn-subst, xmvn-tools-pom, xorg-x11-drv-wacom-serial-support, xterm-resize

Y | yasm

A.2. Package replacements

The following table includes packages that have been replaced, renamed, merged, or split between RHEL 7 and RHEL 8:

RHEL 7 package(s)RHEL 8 package(s)Note

389-ds-base

389-ds-base, 389-ds-base-legacy-tools

 

AAVMF

edk2-aarch64

 

abrt-addon-python

python3-abrt-addon

 

abrt-python

python3-abrt

 

abrt-python-doc

python3-abrt-doc

 

adcli

adcli, adcli-doc

 

adwaita-qt5

adwaita-qt

 

alsa-utils

alsa-utils, alsa-utils-alsabat

 

apache-commons-collections-testframework-javadoc

apache-commons-collections-javadoc

 

apr-util

apr-util, apr-util-bdb, apr-util-openssl

The apr-util-bdb and apr-util-openssl packages have been split from apr-util. These package provides the loadable module supporting Berkeley DB in the apr_dbm.h interface, and OpenSSL in the apr_crypto.h interface, respectively. Both the apr-util-bdb and apr-util-openssl packages have a weak dependency from apr-util, so packages using these APIs should continue to work without changes.

aqute-bndlib-javadoc

aqute-bnd-javadoc

 

arptables

iptables-arptables

 

authconfig

authselect-compat

 

bacula-director

bacula-director, bacula-logwatch

 

bind-libs-lite

bind-export-libs, bind-libs-lite

The bind-libs-lite libraries have been moved to the bind-export-libs package, used by the dhcp-client and dhcp-server packages. The bind-libs-lite libraries now contain a subset of bind-libs, which depends on the bind-libs-lite package. The dhcp-server and dhcp-client now depend on the bind-export-libs package.

bind-lite-devel

bind-export-devel, bind-lite-devel

The bind-export-devel package provides a replacement for the bind-lite-devel package. Cflags and libraries used for linking to export libraries should be obtained from the isc-export-config.sh output. Linking against the bind-export-libs libraries should be done using the isc-export-config.sh parameters.

boost-devel

boost-devel, boost-python3-devel

 

boost-mpich-python

boost-mpich-python3

 

boost-openmpi-python

boost-openmpi-python3

 

boost-python

boost-python3

 

brltty-at-spi

brltty-at-spi2

 

cjkuni-uming-fonts

google-noto-serif-cjk-ttc-fonts

 

compat-libgfortran-41

compat-libgfortran-48

 

control-center

gnome-control-center

 

control-center-filesystem

gnome-control-center-filesystem

 

coreutils

coreutils, coreutils-common

 

createrepo

createrepo_c

 

Cython

python2-Cython, python3-Cython

 

dbus

dbus, dbus-common, dbus-daemon, dbus-tools

 

dbus-python

python3-dbus

 

deltarpm

drpm

 

dhclient

dhcp-client

 

dhcp

dhcp-relay, dhcp-server

 

dnssec-trigger

dnssec-trigger, dnssec-trigger-panel

 

dracut

dracut, dracut-live

 

dstat

pcp-system-tools

 

easymock2

easymock

 

easymock2-javadoc

easymock-javadoc

 

ebtables

iptables-ebtables

 

edac-utils

rasdaemon

 

emacs-common, emacs-el

emacs-common

 

emacs-libidn, libidn

libidn

 

emacs-mercurial, emacs-mercurial-el, mercurial

mercurial

 

espeak

espeak-ng

The espeak package, providing backends for speech synthesis, has been replaced by an actively developed espeak-ng package. espeak-ng is mostly compatible with espeak.

foomatic-filters

cups-filters

 

freerdp

freerdp, libwinpr

 

freerdp-devel

freerdp-devel, libwinpr-devel

 

freerdp-libs, freerdp-plugins

freerdp-libs

 

fuse

fuse, fuse-common

 

gdb

gdb, gdb-headless

 

gdbm

gdbm, gdbm-libs

 

gdk-pixbuf2

gdk-pixbuf2, gdk-pixbuf2-modules, gdk-pixbuf2-xlib

 

gdk-pixbuf2-devel

gdk-pixbuf2-devel, gdk-pixbuf2-xlib-devel

 

gdm, pulseaudio-gdm-hooks

gdm

 

ghostscript

ghostscript, libgs, libijs

 

ghostscript-fonts

urw-base35-fonts

 

git

git, git-core, git-core-doc, git-subtree

 

glassfish-el-api-javadoc

glassfish-el-javadoc

 

glassfish-fastinfoset

glassfish-fastinfoset, glassfish-fastinfoset-javadoc

 

glassfish-jaxb

glassfish-jaxb-bom, glassfish-jaxb-bom-ext, glassfish-jaxb-codemodel, glassfish-jaxb-codemodel-annotation-compiler, glassfish-jaxb-codemodel-parent, glassfish-jaxb-core, glassfish-jaxb-external-parent, glassfish-jaxb-parent, glassfish-jaxb-rngom, glassfish-jaxb-runtime, glassfish-jaxb-runtime-parent, glassfish-jaxb-txw2, glassfish-jaxb-txw-parent

 

glassfish-jaxb-api

glassfish-jaxb-api, glassfish-jaxb-api-javadoc

 

glibc

glibc, glibc-all-langpacks, glibc-locale-source, glibc-minimal-langpack, libnsl, libxcrypt, nss_db

 

glibc-common

glibc-common, rpcgen

 

glibc-devel

compat-libpthread-nonshared, glibc-devel, libnsl2-devel, libxcrypt-devel

 

glibc-headers

glibc-headers, rpcsvc-proto-devel

 

glibc-static

glibc-static, libxcrypt-static

 

gmp

gmp, gmp-c++

 

gnome-backgrounds

gnome-backgrounds, gnome-backgrounds-extras

 

gnome-session, gnome-session-custom-session

gnome-session

 

gnome-system-log

gnome-logs

 

gnome-tweak-tool

gnome-tweaks

 

golang

golang, go-srpm-macros

 

google-noto-sans-cjk-fonts

google-noto-sans-cjk-ttc-fonts

 

google-noto-sans-japanese-fonts

google-noto-sans-cjk-jp-fonts

 

grub2-common

efi-filesystem, grub2-common

 

grub2-tools

grub2-tools, grub2-tools-efi

 

gstreamer1-plugins-bad-free-gtk

gstreamer1-plugins-good-gtk

 

guava

guava20

 

guava-javadoc

guava20-javadoc

 

gutenprint

gutenprint, gutenprint-libs, gutenprint-libs-ui

 

hawkey, libhif

libdnf

 

hmaccalc

libkcapi-hmaccalc

 

hpijs

hplip

 

i2c-tools

i2c-tools, i2c-tools-perl

 

ibus-chewing

ibus-libzhuyin

 

infiniband-diags-devel-static, libibmad-static

infiniband-diags-devel-static

 

infiniband-diags-devel, libibmad-devel

infiniband-diags-devel

 

infiniband-diags, libibmad

infiniband-diags

 

initscripts

initscripts, netconsole-service, network-scripts, readonly-root

 

iproute

iproute, iproute-tc

 

iptables

iptables, iptables-libs

 

istack-commons

istack-commons, istack-commons-runtime, istack-commons-tools

 

ivtv-firmware, linux-firmware

linux-firmware

 

iwl7260-firmware, iwl7265-firmware

iwl7260-firmware

 

jackson

jackson-annotations, jackson-core, jackson-databind, jackson-jaxrs-json-provider, jackson-jaxrs-providers, jackson-jaxrs-providers-datatypes, jackson-module-jaxb-annotations

 

jackson-javadoc

jackson-annotations-javadoc, jackson-core-javadoc, jackson-databind-javadoc, jackson-jaxrs-providers-javadoc, jackson-module-jaxb-annotations-javadoc

 

javapackages-tools

ivy-local, javapackages-filesystem, javapackages-tools

 

jboss-annotations-1.1-api

jboss-annotations-1.2-api

 

jboss-annotations-1.1-api-javadoc

jboss-annotations-1.2-api-javadoc

 

jboss-interceptors-1.1-api

jboss-interceptors-1.2-api

 

jboss-interceptors-1.1-api-javadoc

jboss-interceptors-1.2-api-javadoc

 

joda-time

java-1.8.0-openjdk-headless

 

joda-time-javadoc

java-1.8.0-openjdk-javadoc

 

kernel

kernel, kernel-core, kernel-modules, kernel-modules-extra

 

kernel-debug

kernel-debug, kernel-debug-core, kernel-debug-modules, kernel-debug-modules-extra

 

kernel-rt

kernel-rt, kernel-rt-core, kernel-rt-modules, kernel-rt-modules-extra

 

kernel-rt-debug

kernel-rt-debug, kernel-rt-debug-core, kernel-rt-debug-modules, kernel-rt-debug-modules-extra

 

kernel-tools, qemu-kvm-tools

kernel-tools

 

kexec-tools-anaconda-addon

kdump-anaconda-addon

 

kexec-tools, kexec-tools-eppic

kexec-tools

 

langtable-python

python3-langtable

 

lasso-python

python3-lasso

 

ldns

ldns, ldns-utils

 

libgnome-keyring

libsecret

 

libgudev1

libgudev

 

libgudev1-devel

libgudev-devel

 

libinput

libinput, libinput-utils

 

liblouis-python

python3-louis

 

libmemcached

libmemcached, libmemcached-libs

 

libmodulemd

libmodulemd, libmodulemd1

 

libmusicbrainz

libmusicbrainz5

 

libmusicbrainz-devel

libmusicbrainz5-devel

 

libnice

libnice, libnice-gstreamer1

 

libpeas-loader-python

libpeas-loader-python3

 

libpfm-python

python3-libpfm

 

libproxy-mozjs

libproxy-webkitgtk4

 

libproxy-python

python3-libproxy

 

libproxy-webkitgtk3

libproxy-webkitgtk4

 

librabbitmq-examples

librabbitmq-tools

 

librados2-devel

librados-devel

 

librbd1-devel

librbd-devel

 

libreport-python

python3-libreport

 

libselinux-python

python3-libselinux

 

libsemanage-python

python3-libsemanage

 

libssh2

libssh, libssh2

 

libstoragemgmt-python

python3-libstoragemgmt

 

libstoragemgmt-python-clibs

python3-libstoragemgmt-clibs

 

libuser-python

python3-libuser

 

libvirt-python

python3-libvirt

 

libX11

libX11, libX11-xcb

 

libxml2-python

python3-libxml2

 

llvm-private

llvm

 

llvm-private-devel

llvm-devel

 

log4j

log4j12

 

log4j-javadoc

log4j12-javadoc

 

lohit-oriya-fonts

lohit-odia-fonts

 

lohit-punjabi-fonts

lohit-gurmukhi-fonts

 

lua

lua, lua-libs

 

lvm2-python-boom

boom-boot, boom-boot-conf, boom-boot-grub2, python3-boom

 

lz4

lz4, lz4-libs

 

make

make, make-devel

 

mariadb-devel

mariadb-connector-c-devel, mariadb-devel

 

mariadb-libs

mariadb-connector-c

 

mariadb-server

mariadb-server, mariadb-server-utils

 

maven

maven, maven-lib

 

maven-downloader

maven-artifact-transfer

 

maven-downloader-javadoc

maven-artifact-transfer-javadoc

 

maven-doxia-tools

maven-doxia-sitetools

 

maven-doxia-tools-javadoc

maven-doxia-sitetools-javadoc

 

maven-local

javapackages-local, maven-local

 

maven-wagon

maven-wagon, maven-wagon-file, maven-wagon-ftp, maven-wagon-http, maven-wagon-http-lightweight, maven-wagon-http-shared, maven-wagon-provider-api, maven-wagon-providers

 

mod_auth_kerb

mod_auth_gssapi

 

mod_nss

mod_ssl

 

mod_wsgi

python3-mod_wsgi

The mod_wsgi module for the Apache HTTP Server has been updated to Python 3. WSGI applications are now supported only with Python 3, and must be migrated from Python 2.

mpich-3.0-devel, mpich-3.2-devel

mpich-devel

 

mpich-3.0, mpich-3.2

mpich

 

mpitests-mpich, mpitests-mpich32

mpitests-mpich

 

mpitests-mvapich2, mpitests-mvapich222, mpitests-mvapich23

mpitests-mvapich2

 

mpitests-mvapich222-psm, mpitests-mvapich222-psm2, mpitests-mvapich23-psm, mpitests-mvapich23-psm2, mpitests-mvapich2-psm

mpitests-mvapich2-psm2

 

mpitests-openmpi, mpitests-openmpi3

mpitests-openmpi

 

mvapich2-2.0-psm, mvapich2-2.2-psm, mvapich2-2.2-psm2, mvapich23-psm, mvapich23-psm2

mvapich2-psm2

 

mvapich2-2.0, mvapich2-2.2, mvapich23

mvapich2

 

mysql-connector-java

mariadb-java-client

 

mysql-connector-odbc

mariadb-connector-odbc

 

MySQL-python

python2-PyMySQL, python3-PyMySQL

 

nbdkit-plugin-python2

nbdkit-plugin-python3

 

ncurses-libs

ncurses-c++-libs, ncurses-compat-libs, ncurses-libs

 

newt-python

python3-newt

 

nextgen-yum4

yum

 

nhn-nanum-gothic-fonts

google-noto-sans-cjk-ttc-fonts

 

ntp

chrony

For details, see Using the Chrony suite to configure NTP

ntpdate

chrony

 

numpy

python2-numpy, python3-numpy

 

numpy-f2py

python2-numpy-f2py, python3-numpy-f2py

 

objectweb-asm4

objectweb-asm

 

objectweb-asm4-javadoc

objectweb-asm-javadoc

 

opencv

opencv, opencv-contrib, opencv-core

 

OpenIPMI

OpenIPMI, OpenIPMI-lanserv

 

OpenIPMI-python

python3-openipmi

 

openjpeg

openjpeg2

 

openmpi, openmpi3

openmpi

 

openmpi3-devel, openmpi-devel

openmpi-devel

 

openscap-python

openscap-python3

 

openscap, openscap-extra-probes

openscap

 

openwsman-python

openwsman-python3

 

oprofile

perf

 

ostree

ostree, ostree-libs

 

ostree-fuse

ostree

 

OVMF

edk2-ovmf

 

p11-kit-doc

p11-kit-devel

 

pacemaker-cli

pacemaker-cli, pacemaker-schemas

 

PackageKit, PackageKit-yum

PackageKit

 

pam_krb5

sssd

For details on migrating from pam_krb5 to sssd, see Migrating from pam_krb5 to sssd n the upstream SSSD documentation.

pam_pkcs11

sssd

 

papi

papi, papi-libs

 

pcp-pmda-kvm

pcp

 

pcre

pcre, pcre-cpp, pcre-utf16, pcre-utf32

The PCRE libpcrecpp.so.0 library with C++ API has been moved from the pcre package to pcre-cpp package. The libpcre16.so.0 library with UTF-16 support has been moved from the pcre package to the pcre-utf16 package, and the libpcre32.so.0 library with UTF-32 support has been moved to the pcre-utf32 package.

perl

perl, perl-Attribute-Handlers, perl-B-Debug, perl-bignum, perl-bignum, perl-Devel-Peek, perl-Devel-PPPort, perl-Devel-SelfStubber, perl-Errno, perl-ExtUtils-Command, perl-ExtUtils-Miniperl, perl-Filter-Simple, perl-interpreter, perl-IO, perl-IPC-SysV, perl-libs, perl-Math-BigInt, perl-Math-BigInt-FastCalc, perl-Math-BigRat, perl-Math-Complex, perl-Memoize, perl-MIME-Base64, perl-Net-Ping, perl-open, perl-perlfaq, perl-PerlIO-via-QuotedPrint, perl-Pod-Html, perl-SelfLoader, perl-Term-ANSIColor, perl-Term-Cap, perl-Test, perl-Text-Balanced, perl-Unicode-Collate, perl-Unicode-Normalize

 

perl-core

perl

 

perl-gettext

perl-Locale-gettext

 

perl-libintl

perl-libintl-perl

 

pexpect

python3-pexpect

 

php-common

php-common, php-gmp, php-json, php-pecl-zip, php-xml

 

php-mysql

php-mysqlnd

 

pkgconfig

pkgconf-pkg-config

 

pki-base

pki-base, python3-pki

 

plexus-cdc

plexus-containers-component-metadata

 

plexus-cdc-javadoc

plexus-containers-javadoc

 

plexus-interactivity

plexus-interactivity, plexus-interactivity-api, plexus-interactivity-jline

 

policycoreutils-gui

policycoreutils-dbus, policycoreutils-gui

 

policycoreutils-python

policycoreutils-python-utils, python3-policycoreutils

 

polkit

polkit, polkit-libs

 

postfix

postfix, postfix-mysql, postfix-pgsql

 

postgresql-devel

libpq-devel

 

postgresql-libs

libpq

 

postgresql-plpython

postgresql-plpython3

 

prelink

execstack

 

pth

npth

 

pth-devel

npth-devel

 

pycairo

python2-cairo, python3-cairo

 

pycairo-devel

python2-cairo-devel

 

PyGreSQL

python3-psycopg2

 

pyldb

python3-ldb

 

pyOpenSSL

python3-pyOpenSSL

 

pyparsing

python3-pyparsing

 

pyparted

python3-pyparted

 

pyserial

python3-pyserial

 

pytalloc

python3-talloc

 

pytest

python2-pytest, python3-pytest

 

python

platform-python

 

python-augeas

python3-augeas

 

python-azure-sdk

python3-azure-sdk

 

python-babel

python2-babel, python3-babel

 

python-backports

python2-backports

 

python-backports-ssl_match_hostname

python2-backports-ssl_match_hostname

 

python-bcc

python3-bcc

 

python-blivet

python3-blivet

 

python-boto3

python3-boto3

 

python-brlapi

python3-brlapi

 

python-cffi

python3-cffi

 

python-chardet

python2-chardet, python3-chardet

 

python-clufter

python3-clufter

 

python-configobj

python3-configobj

 

python-configshell

python3-configshell

 

python-coverage

platform-python-coverage, python2-coverage

 

python-cpio

python3-cpio

 

python-cups

python3-cups

 

python-custodia

python3-custodia

 

python-custodia-ipa

python3-custodia

 

python-dateutil

python3-dateutil

 

python-decorator

python3-decorator

 

python-devel

python2-devel, python36-devel

 

python-dmidecode

python3-dmidecode

 

python-dns

python2-dns, python3-dns

 

python-docs

python2-docs, python3-docs

 

python-docutils

python2-docutils, python3-docutils

 

python-enum34

python3-libs

 

python-ethtool

python3-ethtool

 

python-firewall

python3-firewall

 

python-flask

python3-flask

 

python-gevent

python3-gevent

 

python-gobject

python3-gobject

 

python-gobject-base

python3-gobject-base

 

python-greenlet

python3-greenlet

 

python-greenlet-devel

python3-greenlet-devel

 

python-gssapi

python3-gssapi

 

python-hivex

python3-hivex

 

python-httplib2

python3-httplib2

 

python-hwdata

python3-hwdata

 

python-idna

python2-idna, python3-idna

 

python-iniparse

python3-iniparse

 

python-inotify

python3-inotify

 

python-ipaddress

python2-ipaddress, python3-libs

 

python-itsdangerous

python3-itsdangerous

 

python-javapackages

python3-javapackages

 

python-jinja2

python2-jinja2, python3-jinja2

 

python-jsonpatch

python3-jsonpatch

 

python-jsonpointer

python3-jsonpointer

 

python-jwcrypto

python3-jwcrypto

 

python-jwt

python3-jwt

 

python-kdcproxy

python3-kdcproxy

 

python-kerberos

python3-gssapi

 

python-kmod

python3-kmod

 

python-krbV

python3-gssapi

 

python-ldap

python3-ldap

 

python-libguestfs

python3-libguestfs

 

python-libipa_hbac

python3-libipa_hbac

 

python-librepo

python3-librepo

 

python-libs

python2-libs, python3-libs

 

python-libsss_nss_idmap

python3-libsss_nss_idmap

 

python-linux-procfs

python3-linux-procfs

 

python-lxml

python2-lxml, python3-lxml

 

python-magic

python3-magic

 

python-mako

python3-mako

 

python-markupsafe

python2-markupsafe, python3-markupsafe

 

python-meh

python3-meh

 

python-meh-gui

python3-meh-gui

 

python-netaddr

python3-netaddr

 

python-netifaces

python3-netifaces

 

python-nose

python2-nose, python3-nose

 

python-nss

python3-nss

 

python-ntplib

python3-ntplib

 

python-pcp

python3-pcp

 

python-perf

python3-perf

 

python-pillow

python3-pillow

 

python-ply

python3-ply

 

python-prettytable

python3-prettytable

 

python-psycopg2

python2-psycopg2, python3-psycopg2

 

python-psycopg2-debug

python2-psycopg2-debug

 

python-pwquality

python3-pwquality

 

python-py

python2-py, python3-py

 

python-pycparser

python3-pycparser

 

python-pycurl

python3-pycurl

 

python-pygments

python2-pygments, python3-pygments

 

python-pytoml

python3-pytoml

 

python-pyudev

python3-pyudev

 

python-qrcode

python3-qrcode

 

python-qrcode-core

python3-qrcode-core

 

python-reportlab

python3-reportlab

 

python-requests

python2-requests, python3-requests

 

python-rhsm

python3-subscription-manager-rhsm

 

python-rhsm-certificates

subscription-manager-rhsm-certificates

 

python-rtslib

python3-rtslib

 

python-s3transfer

python3-botocore, python3-jmespath, python3-s3transfer

 

python-schedutils

python3-schedutils

 

python-setuptools

platform-python-setuptools, python2-setuptools, python3-setuptools

 

python-six

python2-six, python3-six

 

python-slip

python3-slip

 

python-slip-dbus

python3-slip-dbus

 

python-sphinx

python3-sphinx, python-sphinx-locale

 

python-sqlalchemy

python2-sqlalchemy, python3-sqlalchemy

 

python-sss

python3-sss

 

python-sss-murmur

python3-sss-murmur

 

python-sssdconfig

python3-sssdconfig

 

python-suds

python3-suds

 

python-syspurpose

python3-syspurpose

 

python-tdb

python3-tdb

 

python-test

python2-test, python3-test

 

python-tevent

python3-tevent

 

python-tools

python2-tools

 

python-urllib3

python2-urllib3, python3-urllib3

 

python-urwid

python3-urwid

 

python-virtualenv

python2-virtualenv, python3-virtualenv

 

python-werkzeug

python3-werkzeug

 

python-yubico

python3-yubico

 

python2-blockdev

python3-blockdev

 

python2-bytesize

python3-bytesize

 

python2-cryptography

python3-cryptography

 

python2-dnf

python3-dnf

 

python2-dnf-plugin-versionlock

python3-dnf-plugin-versionlock

 

python2-dnf-plugins-core

python3-dnf-plugins-core

 

python2-hawkey

python3-hawkey

 

python2-ipaclient

python3-ipaclient

 

python2-ipalib

python3-ipalib

 

python2-ipaserver

python3-ipaserver

 

python2-jmespath

python3-jmespath

 

python2-keycloak-httpd-client-install

python3-keycloak-httpd-client-install

 

python2-libcomps

python3-libcomps

 

python2-libdnf

python3-libdnf

 

python2-oauthlib

python3-oauthlib

 

python2-pyasn1

python3-pyasn1

 

python2-pyasn1-modules

python3-pyasn1-modules

 

python2-pyatspi

python3-pyatspi

 

python2-requests-oauthlib

python3-requests-oauthlib

 

pytz

python2-pytz, python3-pytz

 

pyusb

python3-pyusb

 

pywbem

python3-pywbem

 

pyxattr

python3-pyxattr

 

PyYAML

python2-pyyaml, python3-pyyaml

 

qemu-img-ma

qemu-img

 

qemu-img-rhev

qemu-img

 

qemu-kvm

qemu-kvm, qemu-kvm-block-curl, qemu-kvm-block-gluster, qemu-kvm-block-iscsi, qemu-kvm-block-rbd, qemu-kvm-block-ssh, qemu-kvm-core

 

qemu-kvm-common-ma, qemu-kvm-tools-ma

qemu-kvm-common

 

qemu-kvm-common-rhev, qemu-kvm-tools-rhev

qemu-kvm-common

 

qemu-kvm-ma

qemu-kvm, qemu-kvm-block-curl, qemu-kvm-block-gluster, qemu-kvm-block-iscsi, qemu-kvm-block-rbd, qemu-kvm-block-ssh, qemu-kvm-core

 

qemu-kvm-rhev

qemu-kvm, qemu-kvm-block-curl, qemu-kvm-block-gluster, qemu-kvm-block-iscsi, qemu-kvm-block-rbd, qemu-kvm-block-ssh, qemu-kvm-core

 

quota

quota, quota-rpc

The rpc.rquotad daemon has been moved from the quota RPM package to quota-rpc. To use disk quota limits on your NFS server and to have the limits readable or settable from other machines, install the quota-rpc package, and enable and start the rpc-rquotad.service systemd service.

redhat-logos

redhat-backgrounds, redhat-logos, redhat-logos-httpd

 

redhat-release-client, redhat-release-computenode, redhat-release-server, redhat-release-workstation

redhat-release

 

redhat-rpm-config

kernel-rpm-macros, redhat-rpm-config

 

resteasy-base

resteasy

 

resteasy-base-atom-provider

resteasy

 

resteasy-base-client

resteasy

 

resteasy-base-jackson-provider

resteasy

 

resteasy-base-javadoc

resteasy-javadoc

 

resteasy-base-jaxb-provider

resteasy

 

resteasy-base-jaxrs

resteasy

 

resteasy-base-jaxrs-all

resteasy

 

resteasy-base-jaxrs-api

resteasy

 

resteasy-base-providers-pom

resteasy

 

resteasy-base-resteasy-pom

resteasy

 

rh-dotnet21-dotnet

dotnet

 

rpm-python

python3-rpm

 

rrdtool-python

python3-rrdtool

 

rsync

rsync, rsync-daemon

 

samba-python

python3-samba

 

samba-python-test

python3-samba-test

 

samyak-oriya-fonts

samyak-odia-fonts

 

sane-backends

sane-backends, sane-backends-daemon

 

scipy

python2-scipy, python3-scipy

 

scons

python3-scons

 

selinux-policy-devel

selinux-policy-devel, selinux-policy-doc

 

sendmail-devel

sendmail-milter-devel

 

setools-libs

python3-setools

 

shotwell

gnome-photos

 

sip

python3-pyqt5-sip, python3-sip

 

sip-devel

python3-sip-devel, sip

 

sip-macros

sip

 

sisu-bean, sisu-bean-binders, sisu-bean-containers, sisu-bean-converters, sisu-bean-inject, sisu-bean-locators, sisu-bean-reflect, sisu-bean-scanners, sisu-containers, sisu-inject-bean, sisu-osgi-registry, sisu-registries, sisu-spi-registry

sisu-inject

 

sisu-inject-plexus, sisu-plexus-binders, sisu-plexus-converters, sisu-plexus-lifecycles, sisu-plexus-locators, sisu-plexus-metadata, sisu-plexus-scanners, sisu-plexus-shim

sisu-plexus

 

sisu-maven-plugin

sisu-mojos

 

sisu-maven-plugin-javadoc

sisu-mojos-javadoc

 

slf4j

jcl-over-slf4j, jul-to-slf4j, log4j-over-slf4j, slf4j, slf4j-ext, slf4j-jcl, slf4j-jdk14, slf4j-log4j12

 

speech-dispatcher

speech-dispatcher, speech-dispatcher-espeak-ng

 

speech-dispatcher-python

python3-speechd

 

speex

speex, speexdsp

 

speex-devel

speex-devel, speexdsp-devel

 

spice-gtk3

spice-gtk, spice-gtk3

 

sssd-common

sssd-common, sssd-nfs-idmap

 

strace, strace32

strace

 

subscription-manager-gui

subscription-manager-cockpit

 

subscription-manager-rhsm

python3-subscription-manager-rhsm

 

supermin

supermin

 

supermin5

supermin

 

supermin5-devel

supermin-devel

 

syslinux

syslinux, syslinux-nonlinux

 

syslinux-extlinux

syslinux-extlinux, syslinux-extlinux-nonlinux

 

system-config-kdump

cockpit-system

 

system-config-users

cockpit

 

systemd

systemd, systemd-container, systemd-udev

 

systemd-journal-gateway

systemd-journal-remote

 

systemd-libs

systemd-libs, systemd-pam

 

systemd-networkd, systemd-resolved

systemd

 

systemd-python

python3-systemd

 

systemtap-runtime-python2

systemtap-runtime-python3

 

sysvinit-tools

procps-ng, util-linux

 

tcl

tcl, tcl-doc

 

texlive-adjustbox, texlive-adjustbox-doc

texlive-adjustbox

 

texlive-ae, texlive-ae-doc

texlive-ae

 

texlive-algorithms, texlive-algorithms-doc

texlive-algorithms

 

texlive-amscls, texlive-amscls-doc

texlive-amscls

 

texlive-amsfonts, texlive-amsfonts-doc

texlive-amsfonts

 

texlive-amsmath, texlive-amsmath-doc

texlive-amsmath

 

texlive-anysize, texlive-anysize-doc

texlive-anysize

 

texlive-appendix, texlive-appendix-doc

texlive-appendix

 

texlive-arabxetex, texlive-arabxetex-doc

texlive-arabxetex

 

texlive-arphic, texlive-arphic-doc

texlive-arphic

 

texlive-attachfile, texlive-attachfile-doc

texlive-attachfile

 

texlive-babel, texlive-babel-doc

texlive-babel

 

texlive-babelbib, texlive-babelbib-doc

texlive-babelbib

 

texlive-beamer, texlive-beamer-doc

texlive-beamer

 

texlive-bera, texlive-bera-doc

texlive-bera

 

texlive-beton, texlive-beton-doc

texlive-beton

 

texlive-bibtex-bin, texlive-bibtex-doc

texlive-bibtex

 

texlive-bibtopic, texlive-bibtopic-doc

texlive-bibtopic

 

texlive-bidi, texlive-bidi-doc

texlive-bidi

 

texlive-bigfoot, texlive-bigfoot-doc

texlive-bigfoot

 

texlive-booktabs, texlive-booktabs-doc

texlive-booktabs

 

texlive-breakurl, texlive-breakurl-doc

texlive-breakurl

 

texlive-caption, texlive-caption-doc

texlive-caption

 

texlive-carlisle, texlive-carlisle-doc

texlive-carlisle

 

texlive-changebar, texlive-changebar-doc

texlive-changebar

 

texlive-changepage, texlive-changepage-doc

texlive-changepage

 

texlive-charter, texlive-charter-doc

texlive-charter

 

texlive-chngcntr, texlive-chngcntr-doc

texlive-chngcntr

 

texlive-cite, texlive-cite-doc

texlive-cite

 

texlive-cjk, texlive-cjk-doc

texlive-cjk

 

texlive-cm-lgc, texlive-cm-lgc-doc

texlive-cm-lgc

 

texlive-cm-super, texlive-cm-super-doc

texlive-cm-super

 

texlive-cm, texlive-cm-doc

texlive-cm

 

texlive-cmap, texlive-cmap-doc

texlive-cmap

 

texlive-cns, texlive-cns-doc

texlive-cns

 

texlive-collectbox, texlive-collectbox-doc

texlive-collectbox

 

texlive-colortbl, texlive-colortbl-doc

texlive-colortbl

 

texlive-crop, texlive-crop-doc

texlive-crop

 

texlive-csquotes, texlive-csquotes-doc

texlive-csquotes

 

texlive-ctable, texlive-ctable-doc

texlive-ctable

 

texlive-currfile, texlive-currfile-doc

texlive-currfile

 

texlive-datetime, texlive-datetime-doc

texlive-datetime

 

texlive-dvipdfm, texlive-dvipdfm-bin, texlive-dvipdfm-doc, texlive-dvipdfmx, texlive-dvipdfmx-bin, texlive-dvipdfmx-doc

texlive-dvipdfmx

 

texlive-dvipdfmx-def

texlive-graphics-def

 

texlive-dvipng, texlive-dvipng-bin, texlive-dvipng-doc

texlive-dvipng

 

texlive-dvips, texlive-dvips-bin, texlive-dvips-doc

texlive-dvips

 

texlive-ec, texlive-ec-doc

texlive-ec

 

texlive-eepic, texlive-eepic-doc

texlive-eepic

 

texlive-enctex, texlive-enctex-doc

texlive-enctex

 

texlive-enumitem, texlive-enumitem-doc

texlive-enumitem

 

texlive-epsf, texlive-epsf-doc

texlive-epsf

 

texlive-epstopdf, texlive-epstopdf-bin, texlive-epstopdf-doc

texlive-epstopdf

 

texlive-eso-pic, texlive-eso-pic-doc

texlive-eso-pic

 

texlive-eso-pic, texlive-eso-pic-doc

texlive-eso-pic

 

texlive-etex-pkg, texlive-etex-pkg-doc

texlive-etex-pkg

 

texlive-etex, texlive-etex-doc

texlive-etex

 

texlive-etoolbox, texlive-etoolbox-doc

texlive-etoolbox

 

texlive-euenc, texlive-euenc-doc

texlive-euenc

 

texlive-euler, texlive-euler-doc

texlive-euler

 

texlive-euro, texlive-euro-doc

texlive-euro

 

texlive-eurosym, texlive-eurosym-doc

texlive-eurosym

 

texlive-extsizes, texlive-extsizes-doc

texlive-extsizes

 

texlive-fancybox, texlive-fancybox-doc

texlive-fancybox

 

texlive-fancyhdr, texlive-fancyhdr-doc

texlive-fancyhdr

 

texlive-fancyref, texlive-fancyref-doc

texlive-fancyref

 

texlive-fancyvrb, texlive-fancyvrb-doc

texlive-fancyvrb

 

texlive-filecontents, texlive-filecontents-doc

texlive-filecontents

 

texlive-filehook, texlive-filehook-doc

texlive-filehook

 

texlive-fix2col, texlive-fix2col-doc

texlive-fix2col

 

texlive-fixlatvian, texlive-fixlatvian-doc

texlive-fixlatvian

 

texlive-float, texlive-float-doc

texlive-float

 

texlive-fmtcount, texlive-fmtcount-doc

texlive-fmtcount

 

texlive-fncychap, texlive-fncychap-doc

texlive-fncychap

 

texlive-fontbook, texlive-fontbook-doc

texlive-fontbook

 

texlive-fontspec, texlive-fontspec-doc

texlive-fontspec

 

texlive-fontware, texlive-fontware-bin

texlive-fontware

 

texlive-fontwrap, texlive-fontwrap-doc

texlive-fontwrap

 

texlive-footmisc, texlive-footmisc-doc

texlive-footmisc

 

texlive-fp, texlive-fp-doc

texlive-fp

 

texlive-fpl, texlive-fpl-doc

texlive-fpl

 

texlive-framed, texlive-framed-doc

texlive-framed

 

texlive-geometry, texlive-geometry-doc

texlive-geometry

 

texlive-graphics, texlive-graphics-doc, texlive-rotating, texlive-rotating-doc

texlive-graphics

 

texlive-gsftopk, texlive-gsftopk-bin

texlive-gsftopk

 

texlive-hyperref, texlive-hyperref-doc

texlive-hyperref

 

texlive-hyph-utf8, texlive-hyph-utf8-doc

texlive-hyph-utf8

 

texlive-hyph-utf8, texlive-hyph-utf8-doc

texlive-hyph-utf8

 

texlive-hyphenat, texlive-hyphenat-doc

texlive-hyphenat

 

texlive-ifetex, texlive-ifetex-doc

texlive-ifetex

 

texlive-ifluatex, texlive-ifluatex-doc

texlive-ifluatex

 

texlive-ifmtarg, texlive-ifmtarg-doc

texlive-ifmtarg

 

texlive-ifoddpage, texlive-ifoddpage-doc

texlive-ifoddpage

 

texlive-iftex, texlive-iftex-doc

texlive-iftex

 

texlive-ifxetex, texlive-ifxetex-doc

texlive-ifxetex

 

texlive-index, texlive-index-doc

texlive-index

 

texlive-jadetex, texlive-jadetex-bin, texlive-jadetex-doc

texlive-jadetex

 

texlive-jknapltx, texlive-jknapltx-doc

texlive-jknapltx

 

texlive-kastrup, texlive-kastrup-doc

texlive-kastrup

 

texlive-kerkis, texlive-kerkis-doc

texlive-kerkis

 

texlive-kpathsea-lib

texlive-lib

 

texlive-kpathsea-lib-devel

texlive-lib-devel

 

texlive-kpathsea, texlive-kpathsea-bin, texlive-kpathsea-doc

texlive-kpathsea

 

texlive-l3experimental, texlive-l3experimental-doc

texlive-l3experimental

 

texlive-l3kernel, texlive-l3kernel-doc

texlive-l3kernel

 

texlive-l3packages, texlive-l3packages-doc

texlive-l3packages

 

texlive-lastpage, texlive-lastpage-doc

texlive-lastpage

 

texlive-latex-fonts, texlive-latex-fonts-doc

texlive-latex-fonts

 

texlive-latex, texlive-latex-bin, texlive-latex-bin-bin, texlive-latex-doc

texlive-latex

 

texlive-lettrine, texlive-lettrine-doc

texlive-lettrine

 

texlive-listings, texlive-listings-doc

texlive-listings

 

texlive-lm-math, texlive-lm-math-doc

texlive-lm-math

 

texlive-lm, texlive-lm-doc

texlive-lm

 

texlive-lua-alt-getopt, texlive-lua-alt-getopt-doc

texlive-lua-alt-getopt

 

texlive-lua-alt-getopt, texlive-lua-alt-getopt-doc

texlive-lua-alt-getopt

 

texlive-lualatex-math, texlive-lualatex-math-doc

texlive-lualatex-math

 

texlive-lualatex-math, texlive-lualatex-math-doc

texlive-lualatex-math

 

texlive-luaotfload, texlive-luaotfload-bin, texlive-luaotfload-doc

texlive-luaotfload

 

texlive-luatex, texlive-luatex-bin, texlive-luatex-doc

texlive-luatex

 

texlive-luatexbase, texlive-luatexbase-doc

texlive-luatexbase

 

texlive-makecmds, texlive-makecmds-doc

texlive-makecmds

 

texlive-makeindex, texlive-makeindex-bin, texlive-makeindex-doc

texlive-makeindex

 

texlive-marginnote, texlive-marginnote-doc

texlive-marginnote

 

texlive-marvosym, texlive-marvosym-doc

texlive-marvosym

 

texlive-mathpazo, texlive-mathpazo-doc

texlive-mathpazo

 

texlive-mathspec, texlive-mathspec-doc

texlive-mathspec

 

texlive-mdwtools, texlive-mdwtools-doc

texlive-mdwtools

 

texlive-memoir, texlive-memoir-doc

texlive-memoir

 

texlive-metafont, texlive-metafont-bin

texlive-metafont

 

texlive-metalogo, texlive-metalogo-doc

texlive-metalogo

 

texlive-metapost, texlive-metapost-bin, texlive-metapost-doc, texlive-metapost-examples-doc

texlive-metapost

 

texlive-mflogo, texlive-mflogo-doc

texlive-mflogo

 

texlive-mfnfss, texlive-mfnfss-doc

texlive-mfnfss

 

texlive-mfware, texlive-mfware-bin

texlive-mfware

 

texlive-microtype, texlive-microtype-doc

texlive-microtype

 

texlive-mnsymbol, texlive-mnsymbol-doc

texlive-mnsymbol

 

texlive-mparhack, texlive-mparhack-doc

texlive-mparhack

 

texlive-mptopdf, texlive-mptopdf-bin

texlive-mptopdf

 

texlive-ms, texlive-ms-doc

texlive-ms

 

texlive-multido, texlive-multido-doc

texlive-multido

 

texlive-multirow, texlive-multirow-doc

texlive-multirow

 

texlive-natbib, texlive-natbib-doc

texlive-natbib

 

texlive-ncctools, texlive-ncctools-doc

texlive-ncctools

 

texlive-ntgclass, texlive-ntgclass-doc

texlive-ntgclass

 

texlive-oberdiek, texlive-oberdiek-doc

texlive-oberdiek

 

texlive-overpic, texlive-overpic-doc

texlive-overpic

 

texlive-paralist, texlive-paralist-doc

texlive-paralist

 

texlive-parallel, texlive-parallel-doc

texlive-parallel

 

texlive-parskip, texlive-parskip-doc

texlive-parskip

 

texlive-pdfpages, texlive-pdfpages-doc

texlive-pdfpages

 

texlive-pdftex-def

texlive-graphics-def

 

texlive-pdftex, texlive-pdftex-bin, texlive-pdftex-doc

texlive-pdftex

 

texlive-pgf, texlive-pgf-doc

texlive-pgf

 

texlive-philokalia, texlive-philokalia-doc

texlive-philokalia

 

texlive-placeins, texlive-placeins-doc

texlive-placeins

 

texlive-polyglossia, texlive-polyglossia-doc

texlive-polyglossia

 

texlive-powerdot, texlive-powerdot-doc

texlive-powerdot

 

texlive-preprint, texlive-preprint-doc

texlive-preprint

 

texlive-psfrag, texlive-psfrag-doc

texlive-psfrag

 

texlive-psnfss, texlive-psnfss-doc

texlive-psnfss

 

texlive-pspicture, texlive-pspicture-doc

texlive-pspicture

 

texlive-pst-3d, texlive-pst-3d-doc

texlive-pst-3d

 

texlive-pst-3d, texlive-pst-3d-doc

texlive-pst-3d

 

texlive-pst-blur, texlive-pst-blur-doc

texlive-pst-blur

 

texlive-pst-coil, texlive-pst-coil-doc

texlive-pst-coil

 

texlive-pst-eps, texlive-pst-eps-doc

texlive-pst-eps

 

texlive-pst-fill, texlive-pst-fill-doc

texlive-pst-fill

 

texlive-pst-grad, texlive-pst-grad-doc

texlive-pst-grad

 

texlive-pst-math, texlive-pst-math-doc

texlive-pst-math

 

texlive-pst-node, texlive-pst-node-doc

texlive-pst-node

 

texlive-pst-plot, texlive-pst-plot-doc

texlive-pst-plot

 

texlive-pst-slpe, texlive-pst-slpe-doc

texlive-pst-slpe

 

texlive-pst-text, texlive-pst-text-doc

texlive-pst-text

 

texlive-pst-tree, texlive-pst-tree-doc

texlive-pst-tree

 

texlive-pstricks-add, texlive-pstricks-add-doc

texlive-pstricks-add

 

texlive-pstricks, texlive-pstricks-doc

texlive-pstricks

 

texlive-ptext, texlive-ptext-doc

texlive-ptext

 

texlive-pxfonts, texlive-pxfonts-doc

texlive-pxfonts

 

texlive-qstest, texlive-qstest-doc

texlive-qstest

 

texlive-rcs, texlive-rcs-doc

texlive-rcs

 

texlive-realscripts, texlive-realscripts-doc

texlive-realscripts

 

texlive-rsfs, texlive-rsfs-doc

texlive-rsfs

 

texlive-sansmath, texlive-sansmath-doc

texlive-sansmath

 

texlive-sauerj, texlive-sauerj-doc

texlive-sauerj

 

texlive-section, texlive-section-doc

texlive-section

 

texlive-sectsty, texlive-sectsty-doc

texlive-sectsty

 

texlive-seminar, texlive-seminar-doc

texlive-seminar

 

texlive-sepnum, texlive-sepnum-doc

texlive-sepnum

 

texlive-setspace, texlive-setspace-doc

texlive-setspace

 

texlive-showexpl, texlive-showexpl-doc

texlive-showexpl

 

texlive-soul, texlive-soul-doc

texlive-soul

 

texlive-stmaryrd, texlive-stmaryrd-doc

texlive-stmaryrd

 

texlive-subfig, texlive-subfig-doc

texlive-subfig

 

texlive-subfigure, texlive-subfigure-doc

texlive-subfigure

 

texlive-svn-prov, texlive-svn-prov-doc

texlive-svn-prov

 

texlive-svn-prov, texlive-svn-prov-doc

texlive-svn-prov

 

texlive-t2, texlive-t2-doc

texlive-t2

 

texlive-tetex, texlive-tetex-bin, texlive-tetex-doc

texlive-tetex

 

texlive-tex-gyre-math, texlive-tex-gyre-math-doc

texlive-tex-gyre-math

 

texlive-tex-gyre, texlive-tex-gyre-doc

texlive-tex-gyre

 

texlive-tex, texlive-tex-bin

texlive-tex

 

texlive-tex4ht, texlive-tex4ht-bin, texlive-tex4ht-doc

texlive-tex4ht

 

texlive-texconfig, texlive-texconfig-bin

texlive-texconfig

 

texlive-texlive.infra, texlive-texlive.infra-bin, texlive-texlive.infra-doc

texlive-texlive.infra

 

texlive-textcase, texlive-textcase-doc

texlive-textcase

 

texlive-textpos, texlive-textpos-doc

texlive-textpos

 

texlive-threeparttable, texlive-threeparttable-doc

texlive-threeparttable

 

texlive-thumbpdf, texlive-thumbpdf-bin, texlive-thumbpdf-doc

texlive-thumbpdf

 

texlive-tipa, texlive-tipa-doc

texlive-tipa

 

texlive-titlesec, texlive-titlesec-doc

texlive-titlesec

 

texlive-titling, texlive-titling-doc

texlive-titling

 

texlive-tocloft, texlive-tocloft-doc

texlive-tocloft

 

texlive-tools, texlive-tools-doc

texlive-tools

 

texlive-txfonts, texlive-txfonts-doc

texlive-txfonts

 

texlive-type1cm, texlive-type1cm-doc

texlive-type1cm

 

texlive-typehtml, texlive-typehtml-doc

texlive-typehtml

 

texlive-ucharclasses, texlive-ucharclasses-doc

texlive-ucharclasses

 

texlive-ucs, texlive-ucs-doc

texlive-ucs

 

texlive-uhc, texlive-uhc-doc

texlive-uhc

 

texlive-ulem, texlive-ulem-doc

texlive-ulem

 

texlive-underscore, texlive-underscore-doc

texlive-underscore

 

texlive-unicode-math, texlive-unicode-math-doc

texlive-unicode-math

 

texlive-unicode-math, texlive-unicode-math-doc

texlive-unicode-math

 

texlive-unisugar, texlive-unisugar-doc

texlive-unisugar

 

texlive-url, texlive-url-doc

texlive-url

 

texlive-utopia, texlive-utopia-doc

texlive-utopia

 

texlive-varwidth, texlive-varwidth-doc

texlive-varwidth

 

texlive-wadalab, texlive-wadalab-doc

texlive-wadalab

 

texlive-was, texlive-was-doc

texlive-was

 

texlive-wasy, texlive-wasy-doc

texlive-wasy

 

texlive-wasysym, texlive-wasysym-doc

texlive-wasysym

 

texlive-wrapfig, texlive-wrapfig-doc

texlive-wrapfig

 

texlive-xcolor, texlive-xcolor-doc

texlive-xcolor

 

texlive-xdvi, texlive-xdvi-bin

texlive-xdvi

 

texlive-xecjk, texlive-xecjk-doc

texlive-xecjk

 

texlive-xecolor, texlive-xecolor-doc

texlive-xecolor

 

texlive-xecyr, texlive-xecyr-doc

texlive-xecyr

 

texlive-xeindex, texlive-xeindex-doc

texlive-xeindex

 

texlive-xepersian, texlive-xepersian-doc

texlive-xepersian

 

texlive-xesearch, texlive-xesearch-doc

texlive-xesearch

 

texlive-xetex-def

texlive-graphics-def

 

texlive-xetex-itrans, texlive-xetex-itrans-doc

texlive-xetex-itrans

 

texlive-xetex-pstricks, texlive-xetex-pstricks-doc

texlive-xetex-pstricks

 

texlive-xetex-tibetan, texlive-xetex-tibetan-doc

texlive-xetex-tibetan

 

texlive-xetex, texlive-xetex-bin, texlive-xetex-doc

texlive-xetex

 

texlive-xetexfontinfo, texlive-xetexfontinfo-doc

texlive-xetexfontinfo

 

texlive-xifthen, texlive-xifthen-doc

texlive-xifthen

 

texlive-xkeyval, texlive-xkeyval-doc

texlive-xkeyval

 

texlive-xltxtra, texlive-xltxtra-doc

texlive-xltxtra

 

texlive-xmltex, texlive-xmltex-bin, texlive-xmltex-doc

texlive-xmltex

 

texlive-xstring, texlive-xstring-doc

texlive-xstring

 

texlive-xtab, texlive-xtab-doc

texlive-xtab

 

texlive-xunicode, texlive-xunicode-doc

texlive-xunicode

 

tkinter

python2-tkinter, python3-tkinter

 

tracker

tracker, tracker-miners

 

trousers

trousers, trousers-lib

 

unbound-python

python3-unbound

 

urw-fonts

urw-base35-fonts

 

util-linux

util-linux, util-linux-user

 

vlgothic-fonts

google-noto-sans-cjk-ttc-fonts

 

vulkan-devel

mesa-vulkan-devel, vulkan-headers, vulkan-loader-devel

 

vulkan, vulkan-filesystem

vulkan-loader

 

webkitgtk4

webkit2gtk3

 

webkitgtk4-devel

webkit2gtk3-devel

 

webkitgtk4-jsc

webkit2gtk3-jsc

 

webkitgtk4-jsc-devel

webkit2gtk3-jsc-devel

 

webkitgtk4-plugin-process-gtk2

webkit2gtk3-plugin-process-gtk2

 

wireshark

wireshark-cli

 

wireshark-gnome

wireshark

 

wqy-zenhei-fonts

google-noto-sans-cjk-ttc-fonts

 

xchat

hexchat

 

xmvn

xmvn, xmvn-api, xmvn-bisect, xmvn-connector-aether, xmvn-connector-ivy, xmvn-core, xmvn-install, xmvn-minimal, xmvn-mojo, xmvn-parent-pom, xmvn-resolve, xmvn-subst, xmvn-tools-pom

 

xorg-x11-drv-wacom

xorg-x11-drv-wacom, xorg-x11-drv-wacom-serial-support

 

xterm

xterm, xterm-resize

 

yum-cron

dnf-automatic

The dnf-automatic package provides similar functionality, but is not compatible with the yum-cron configuration files.

yum-metadata-parser

python3-dnf

Users should now use the DNF API (queries, package objects, and others) to work with the repodata content.

yum-plugin-aliases, yum-plugin-fastestmirror, yum-plugin-priorities, yum-plugin-remove-with-leaves, yum-plugin-tmprepo, yum-plugin-tsflags

dnf

The mentioned functionalities are now provided by DNF. The functionality of yum-plugin-tmprepo is provided by the --repofrompath option. Setting the tsflags option is now an integral part of dnf: use --setopt=tsflags=<flags>.

yum-plugin-auto-update-debug-info, yum-plugin-changelog, yum-plugin-copr

dnf-plugins-core

All these plug-ins are now part of the dnf-plugins-core package but are still installable under the original names.

yum-plugin-versionlock

python3-dnf-plugin-versionlock

Still installable under the original name.

yum-rhn-plugin

dnf-plugin-spacewalk

 

yum-utils

dnf-utils

Still installable under the original name.

Note that certain replaced or split packages have been moved to the unsupported CodeReady Linux Builder repository. For details, see Section A.4, “Packages with removed support”.

A.3. Removed packages

The following packages are part of RHEL 7 but are not distributed with RHEL 8:

Removed packageNote

a2ps

The a2ps package has been removed. The enscript package can cover some its functionality. Users can configure enscript in the /etc/enscript.cfg file.

abrt-addon-upload-watch

 

abrt-devel

 

abrt-gui-devel

 

abrt-retrace-client

 

acpid-sysvinit

 

advancecomp

 

adwaita-icon-theme-devel

 

adwaita-qt-common

 

adwaita-qt4

 

agg

 

aic94xx-firmware

 

akonadi

 

akonadi-devel

 

akonadi-mysql

 

alacarte

 

alsa-tools

 

anaconda-widgets-devel

 

ant-antunit

 

ant-antunit-javadoc

 

antlr-C++-doc

 

antlr-python

 

apache-commons-configuration

 

apache-commons-configuration-javadoc

 

apache-commons-daemon

 

apache-commons-daemon-javadoc

 

apache-commons-daemon-jsvc

 

apache-commons-dbcp

 

apache-commons-dbcp-javadoc

 

apache-commons-digester

 

apache-commons-digester-javadoc

 

apache-commons-jexl

 

apache-commons-jexl-javadoc

 

apache-commons-pool

 

apache-commons-pool-javadoc

 

apache-commons-validator

 

apache-commons-validator-javadoc

 

apache-commons-vfs

 

apache-commons-vfs-ant

 

apache-commons-vfs-examples

 

apache-commons-vfs-javadoc

 

apache-rat

 

apache-rat-core

 

apache-rat-javadoc

 

apache-rat-plugin

 

apache-rat-tasks

 

apr-util-nss

The apr-util-nss package provided a backend for the apr_crypto.h interface, using the NSS Cryptography Library. Any applications using the NSS backend for this interface should migrate to using the OpenSSL backend, which is provided in the apr-util-openssl package.

args4j

 

args4j-javadoc

 

ark

 

ark-libs

 

asciidoc-latex

 

at-spi

 

at-spi-devel

 

at-spi-python

 

at-sysvinit

 

atlas-static

 

attica

 

attica-devel

 

audiocd-kio

 

audiocd-kio-devel

 

audiocd-kio-libs

 

audiofile

 

audiofile-devel

 

audit-libs-python

 

audit-libs-static

 

authconfig-gtk

 

authd

 

autogen-libopts-devel

 

automoc

 

autotrace-devel

 

avahi-dnsconfd

 

avahi-glib-devel

 

avahi-gobject-devel

 

avahi-qt3

 

avahi-qt3-devel

 

avahi-qt4

 

avahi-qt4-devel

 

avahi-tools

 

avahi-ui

 

avahi-ui-devel

 

avahi-ui-tools

 

avalon-framework

 

avalon-framework-javadoc

 

avalon-logkit

 

avalon-logkit-javadoc

 

bacula-console-bat

 

bacula-devel

 

bacula-traymonitor

 

baekmuk-ttf-batang-fonts

 

baekmuk-ttf-dotum-fonts

 

baekmuk-ttf-fonts-common

 

baekmuk-ttf-fonts-ghostscript

 

baekmuk-ttf-gulim-fonts

 

baekmuk-ttf-hline-fonts

 

base64coder

 

base64coder-javadoc

 

batik

 

batik-demo

 

batik-javadoc

 

batik-rasterizer

 

batik-slideshow

 

batik-squiggle

 

batik-svgpp

 

batik-ttf2svg

 

bcc-devel

 

bison-devel

 

blas-static

 

blas64-devel

 

blas64-static

 

bltk

 

bluedevil

 

bluedevil-autostart

 

bmc-snmp-proxy

 

bogofilter-bogoupgrade

 

bridge-utils

 

bsdcpio

 

bsh-demo

 

bsh-utils

 

btrfs-progs

 

btrfs-progs-devel

 

buildnumber-maven-plugin

 

buildnumber-maven-plugin-javadoc

 

bwidget

 

bzr

 

bzr-doc

 

cairo-tools

 

caribou

 

caribou-antler

 

caribou-devel

 

caribou-gtk2-module

 

caribou-gtk3-module

 

cdparanoia-static

 

cdrskin

 

ceph-common

 

check-static

 

cheese-libs-devel

 

cifs-utils-devel

 

cim-schema-docs

 

cim-schema-docs

 

cjkuni-ukai-fonts

 

clutter-gst2-devel

 

clutter-tests

 

cmpi-bindings-pywbem

 

cobertura

 

cobertura-javadoc

 

cockpit-machines-ovirt

 

codehaus-parent

 

codemodel-javadoc

 

cogl-tests

 

colord-extra-profiles

 

colord-kde

 

compat-cheese314

 

compat-dapl

 

compat-dapl-devel

 

compat-dapl-static

 

compat-dapl-utils

 

compat-db

 

compat-db-headers

 

compat-db47

 

compat-exiv2-023

 

compat-gcc-44

 

compat-gcc-44-c++

 

compat-gcc-44-gfortran

 

compat-glade315

 

compat-glew

 

compat-glibc

 

compat-glibc-headers

 

compat-gnome-desktop314

 

compat-grilo02

 

compat-libcap1

 

compat-libcogl-pango12

 

compat-libcogl12

 

compat-libcolord1

 

compat-libf2c-34

 

compat-libgdata13

 

compat-libgfortran-41

 

compat-libgnome-bluetooth11

 

compat-libgnome-desktop3-7

 

compat-libgweather3

 

compat-libical1

 

compat-libmediaart0

 

compat-libmpc

 

compat-libpackagekit-glib2-16

 

compat-libstdc++-33

 

compat-libtiff3

 

compat-libupower-glib1

 

compat-libxcb

 

compat-locales-sap-common

 

compat-openldap

 

compat-openmpi16

 

compat-openmpi16-devel

 

compat-opensm-libs

 

compat-poppler022

 

compat-poppler022-cpp

 

compat-poppler022-glib

 

compat-poppler022-qt

 

compat-sap-c++-5

 

compat-sap-c++-6

 

compat-sap-c++-7

 

conman

 

console-setup

 

coolkey

 

coolkey-devel

 

cpptest

 

cpptest-devel

 

cppunit

 

cppunit-devel

 

cppunit-doc

 

cpuid

 

cracklib-python

 

crda-devel

 

crit

 

criu-devel

 

crypto-utils

 

cryptsetup-python

 

cvs

Version control system supported in RHEL 8 are Git, Mercurial, and Subversion.

cvs-contrib

 

cvs-doc

 

cvs-inetd

 

cvsps

 

cyrus-imapd-devel

 

dapl

 

dapl-devel

 

dapl-static

 

dapl-utils

 

dbus-doc

 

dbus-python-devel

 

dbus-tests

 

dbusmenu-qt

 

dbusmenu-qt-devel

 

dbusmenu-qt-devel-docs

 

debugmode

 

dejavu-lgc-sans-fonts

 

dejavu-lgc-sans-mono-fonts

 

dejavu-lgc-serif-fonts

 

deltaiso

 

dhcp-devel

 

dialog-devel

 

dleyna-connector-dbus-devel

 

dleyna-core-devel

 

dlm-devel

 

dmraid

Users requiring support for combined hardware and software RAID host bus adapters (HBA) should use the mdadm utility.

dmraid-devel

 

dmraid-events

 

dmraid-events-logwatch

 

docbook-simple

 

docbook-slides

 

docbook-utils-pdf

 

docbook5-style-xsl

 

docbook5-style-xsl-extensions

 

docker-rhel-push-plugin

 

dom4j

 

dom4j-demo

 

dom4j-javadoc

 

dom4j-manual

 

dovecot-pigeonhole

 

dracut-fips

 

dracut-fips-aesni

 

dragon

 

drm-utils

 

drpmsync

 

dtdinst

 

e2fsprogs-static

 

ecj

 

edac-utils-devel

 

efax

 

efivar-devel

 

egl-utils

 

ekiga

 

ElectricFence

 

emacs-a2ps

 

emacs-a2ps-el

 

emacs-auctex

 

emacs-auctex-doc

 

emacs-git

 

emacs-git-el

 

emacs-gnuplot

 

emacs-gnuplot-el

 

emacs-php-mode

 

empathy

 

enchant-aspell

 

enchant-voikko

 

eog-devel

 

epydoc

 

espeak-devel

 

evince-devel

 

evince-dvi

 

evolution-data-server-doc

 

evolution-data-server-perl

 

evolution-data-server-tests

 

evolution-devel

 

evolution-devel-docs

 

evolution-tests

 

expat-static

The expat-static package providing a static library for the expat XML library is no longer provided. Use dynamic linking instead.

expect-devel

 

expectk

 

farstream

 

farstream-devel

 

farstream-python

 

farstream02-devel

 

fedfs-utils-admin

 

fedfs-utils-client

 

fedfs-utils-common

 

fedfs-utils-devel

 

fedfs-utils-lib

 

fedfs-utils-nsdbparams

 

fedfs-utils-python

 

fedfs-utils-server

 

felix-bundlerepository

 

felix-bundlerepository-javadoc

 

felix-framework

 

felix-framework-javadoc

 

felix-osgi-obr

 

felix-osgi-obr-javadoc

 

felix-shell

 

felix-shell-javadoc

 

fence-sanlock

 

festival

 

festival-devel

 

festival-docs

 

festival-freebsoft-utils

 

festival-lib

 

festival-speechtools-devel

 

festival-speechtools-libs

 

festival-speechtools-utils

 

festvox-awb-arctic-hts

 

festvox-bdl-arctic-hts

 

festvox-clb-arctic-hts

 

festvox-jmk-arctic-hts

 

festvox-kal-diphone

 

festvox-ked-diphone

 

festvox-rms-arctic-hts

 

festvox-slt-arctic-hts

 

file-static

 

filebench

 

filesystem-content

 

finch

 

finch-devel

 

finger

Users of the finger client/server can use the who, pinky, and last commands. For remote machines, use these commands with SSH.

finger-server

 

flatpak-devel

 

fltk-fluid

 

fltk-static

 

flute-javadoc

 

folks

 

folks-devel

 

folks-tools

 

fontforge-devel

 

fontpackages-tools

 

fonttools

 

fop

 

fop-javadoc

 

fprintd-devel

 

freeradius-python

 

freetype-demos

 

fros

 

fros-gnome

 

fros-recordmydesktop

 

fwupd-devel

 

fwupdate-devel

 

gamin-python

 

gavl-devel

 

gcab

 

gcc-gnat

 

gcc-go

 

gcc-objc

 

gcc-objc++

 

gcc-plugin-devel

 

gconf-editor

 

gd-progs

 

gdk-pixbuf2-tests

 

gdm-devel

 

gdm-pam-extensions-devel

 

gedit-devel

 

gedit-plugin-bookmarks

 

gedit-plugin-bracketcompletion

 

gedit-plugin-charmap

 

gedit-plugin-codecomment

 

gedit-plugin-colorpicker

 

gedit-plugin-colorschemer

 

gedit-plugin-commander

 

gedit-plugin-drawspaces

 

gedit-plugin-findinfiles

 

gedit-plugin-joinlines

 

gedit-plugin-multiedit

 

gedit-plugin-smartspaces

 

gedit-plugin-synctex

 

gedit-plugin-terminal

 

gedit-plugin-textsize

 

gedit-plugin-translate

 

gedit-plugin-wordcompletion

 

gedit-plugins

 

gedit-plugins-data

 

gegl-devel

 

geoclue

 

geoclue-devel

 

geoclue-doc

 

geoclue-gsmloc

 

geoclue-gui

 

GeoIP

The GeoIp package is capable of working only with legacy databases. A replacement provided in RHEL 8 is the new libmaxminddb package, together with the geoipupdate package. This is a new API created by the upstream GeoIP project and it supports new format of databases, mmdb.

GeoIP-data

 

GeoIP-devel

 

GeoIP-update

 

geronimo-jaspic-spec

 

geronimo-jaspic-spec-javadoc

 

geronimo-jaxrpc

 

geronimo-jaxrpc-javadoc

 

geronimo-jta

 

geronimo-jta-javadoc

 

geronimo-osgi-support

 

geronimo-osgi-support-javadoc

 

geronimo-saaj

 

geronimo-saaj-javadoc

 

ghostscript-chinese

 

ghostscript-chinese-zh_CN

 

ghostscript-chinese-zh_TW

 

ghostscript-cups

 

ghostscript-devel

 

ghostscript-gtk

 

giflib-utils

 

gimp-data-extras

 

gimp-help

 

gimp-help-ca

 

gimp-help-da

 

gimp-help-de

 

gimp-help-el

 

gimp-help-en_GB

 

gimp-help-es

 

gimp-help-fr

 

gimp-help-it

 

gimp-help-ja

 

gimp-help-ko

 

gimp-help-nl

 

gimp-help-nn

 

gimp-help-pt_BR

 

gimp-help-ru

 

gimp-help-sl

 

gimp-help-sv

 

gimp-help-zh_CN

 

git-bzr

 

git-cvs

 

git-gnome-keyring

 

git-hg

 

git-p4

 

gjs-tests

 

glade

 

glade3

 

glade3-libgladeui

 

glade3-libgladeui-devel

 

glassfish-dtd-parser

 

glassfish-dtd-parser-javadoc

 

glassfish-jaxb-javadoc

 

glassfish-jsp

 

glassfish-jsp-javadoc

 

glew

 

glib-networking-tests

 

gmp-static

 

gnome-clocks

 

gnome-contacts

 

gnome-desktop3-tests

 

gnome-devel-docs

 

gnome-dictionary

 

gnome-doc-utils

 

gnome-doc-utils-stylesheets

 

gnome-documents

 

gnome-documents-libs

 

gnome-icon-theme

 

gnome-icon-theme-devel

 

gnome-icon-theme-extras

 

gnome-icon-theme-legacy

 

gnome-icon-theme-symbolic

 

gnome-packagekit

 

gnome-packagekit-common

 

gnome-packagekit-installer

 

gnome-packagekit-updater

 

gnome-python2

 

gnome-python2-bonobo

 

gnome-python2-canvas

 

gnome-python2-devel

 

gnome-python2-gconf

 

gnome-python2-gnome

 

gnome-python2-gnomevfs

 

gnome-settings-daemon-devel

 

gnome-software-devel

 

gnome-vfs2

 

gnome-vfs2-devel

 

gnome-vfs2-smb

 

gnome-weather

 

gnome-weather-tests

 

gnote

 

gnu-efi-utils

 

gnu-getopt

 

gnu-getopt-javadoc

 

gnuplot-latex

 

gnuplot-minimal

 

gob2

 

gom-devel

 

google-noto-sans-korean-fonts

 

google-noto-sans-simplified-chinese-fonts

 

google-noto-sans-traditional-chinese-fonts

 

gperftools

 

gperftools-devel

 

gperftools-libs

 

gpm-static

 

grantlee

 

grantlee-apidocs

 

grantlee-devel

 

graphviz-graphs

 

graphviz-guile

 

graphviz-java

 

graphviz-lua

 

graphviz-ocaml

 

graphviz-perl

 

graphviz-php

 

graphviz-python

 

graphviz-ruby

 

graphviz-tcl

 

groff-doc

 

groff-perl

 

groff-x11

 

groovy

 

groovy-javadoc

 

grub2

 

grub2-ppc-modules

 

grub2-ppc64-modules

 

gsm-tools

 

gsound-devel

 

gssdp-utils

 

gstreamer

 

gstreamer-devel

 

gstreamer-devel-docs

 

gstreamer-plugins-bad-free

 

gstreamer-plugins-bad-free-devel

 

gstreamer-plugins-bad-free-devel-docs

 

gstreamer-plugins-base

 

gstreamer-plugins-base-devel

 

gstreamer-plugins-base-devel-docs

 

gstreamer-plugins-base-tools

 

gstreamer-plugins-good

 

gstreamer-plugins-good-devel-docs

 

gstreamer-python

 

gstreamer-python-devel

 

gstreamer-tools

 

gstreamer1-devel-docs

 

gstreamer1-plugins-base-devel-docs

 

gstreamer1-plugins-base-tools

 

gstreamer1-plugins-ugly-free-devel

 

gtk-vnc

 

gtk-vnc-devel

 

gtk-vnc-python

 

gtk-vnc2-devel

 

gtk3-devel-docs

 

gtk3-immodules

 

gtk3-tests

 

gtkhtml3

 

gtkhtml3-devel

 

gtksourceview3-tests

 

gucharmap

 

gucharmap-devel

 

gucharmap-libs

 

gupnp-av-devel

 

gupnp-av-docs

 

gupnp-dlna-devel

 

gupnp-dlna-docs

 

gupnp-docs

 

gupnp-igd-python

 

gutenprint-devel

 

gutenprint-extras

 

gutenprint-foomatic

 

gvfs-tests

 

gvnc-devel

 

gvnc-tools

 

gvncpulse

 

gvncpulse-devel

 

gwenview

 

gwenview-libs

 

hawkey-devel

 

highcontrast-qt

 

highcontrast-qt4

 

highcontrast-qt5

 

highlight-gui

 

hispavoces-pal-diphone

 

hispavoces-sfl-diphone

 

hsakmt

 

hsakmt-devel

 

hspell-devel

 

hsqldb

 

hsqldb-demo

 

hsqldb-javadoc

 

hsqldb-manual

 

htdig

 

html2ps

 

http-parser-devel

 

httpunit

 

httpunit-doc

 

httpunit-javadoc

 

i2c-tools-eepromer

 

i2c-tools-python

 

ibus-pygtk2

 

ibus-qt

 

ibus-qt-devel

 

ibus-qt-docs

 

ibus-rawcode

 

ibus-table-devel

 

ibutils

 

ibutils-devel

 

ibutils-libs

 

icc-profiles-openicc

 

icon-naming-utils

 

im-chooser

 

im-chooser-common

 

ImageMagick

 

ImageMagick-c++

 

ImageMagick-c++-devel

 

ImageMagick-devel

 

ImageMagick-doc

 

ImageMagick-perl

 

imsettings

 

imsettings-devel

 

imsettings-gsettings

 

imsettings-libs

 

imsettings-qt

 

imsettings-xim

 

indent

 

infinipath-psm

 

infinipath-psm-devel

 

iniparser

 

iniparser-devel

 

iok

 

ipa-gothic-fonts

 

ipa-mincho-fonts

 

ipa-pgothic-fonts

 

ipa-pmincho-fonts

 

iperf3-devel

 

iproute-doc

 

ipset-devel

 

ipsilon

 

ipsilon-authform

 

ipsilon-authgssapi

 

ipsilon-authldap

 

ipsilon-base

 

ipsilon-client

 

ipsilon-filesystem

 

ipsilon-infosssd

 

ipsilon-persona

 

ipsilon-saml2

 

ipsilon-saml2-base

 

ipsilon-tools-ipa

 

iputils-sysvinit

 

iscsi-initiator-utils-devel

 

isdn4k-utils

 

isdn4k-utils-devel

 

isdn4k-utils-doc

 

isdn4k-utils-static

 

isdn4k-utils-vboxgetty

 

isomd5sum-devel

 

istack-commons-javadoc

 

ixpdimm_sw

 

ixpdimm_sw-devel

 

ixpdimm-cli

 

ixpdimm-monitor

 

jai-imageio-core

 

jai-imageio-core-javadoc

 

jakarta-taglibs-standard

 

jakarta-taglibs-standard-javadoc

 

jandex

 

jandex-javadoc

 

jansson-devel-doc

 

jarjar

 

jarjar-javadoc

 

jarjar-maven-plugin

 

jasper

 

jasper-utils

 

java-1.6.0-openjdk

 

java-1.6.0-openjdk-demo

 

java-1.6.0-openjdk-devel

 

java-1.6.0-openjdk-javadoc

 

java-1.6.0-openjdk-src

 

java-1.7.0-openjdk

 

java-1.7.0-openjdk-accessibility

 

java-1.7.0-openjdk-demo

 

java-1.7.0-openjdk-devel

 

java-1.7.0-openjdk-headless

 

java-1.7.0-openjdk-javadoc

 

java-1.7.0-openjdk-src

 

java-1.8.0-openjdk-accessibility-debug

 

java-1.8.0-openjdk-debug

 

java-1.8.0-openjdk-demo-debug

 

java-1.8.0-openjdk-devel-debug

 

java-1.8.0-openjdk-headless-debug

 

java-1.8.0-openjdk-javadoc-debug

 

java-1.8.0-openjdk-javadoc-zip-debug

 

java-1.8.0-openjdk-src-debug

 

java-11-openjdk-debug

 

java-11-openjdk-demo-debug

 

java-11-openjdk-devel-debug

 

java-11-openjdk-headless-debug

 

java-11-openjdk-javadoc-debug

 

java-11-openjdk-javadoc-zip-debug

 

java-11-openjdk-jmods-debug

 

java-11-openjdk-src-debug

 

jboss-ejb-3.1-api

 

jboss-ejb-3.1-api-javadoc

 

jboss-el-2.2-api

 

jboss-el-2.2-api-javadoc

 

jboss-jaxrpc-1.1-api

 

jboss-jaxrpc-1.1-api-javadoc

 

jboss-servlet-2.5-api

 

jboss-servlet-2.5-api-javadoc

 

jboss-servlet-3.0-api

 

jboss-servlet-3.0-api-javadoc

 

jboss-specs-parent

 

jboss-transaction-1.1-api

 

jboss-transaction-1.1-api-javadoc

 

jettison

 

jettison-javadoc

 

jetty-annotations

 

jetty-ant

 

jetty-artifact-remote-resources

 

jetty-assembly-descriptors

 

jetty-build-support

 

jetty-build-support-javadoc

 

jetty-client

 

jetty-continuation

 

jetty-deploy

 

jetty-distribution-remote-resources

 

jetty-http

 

jetty-io

 

jetty-jaas

 

jetty-jaspi

 

jetty-javadoc

 

jetty-jmx

 

jetty-jndi

 

jetty-jsp

 

jetty-jspc-maven-plugin

 

jetty-maven-plugin

 

jetty-monitor

 

jetty-parent

 

jetty-plus

 

jetty-project

 

jetty-proxy

 

jetty-rewrite

 

jetty-runner

 

jetty-security

 

jetty-server

 

jetty-servlet

 

jetty-servlets

 

jetty-start

 

jetty-test-policy

 

jetty-test-policy-javadoc

 

jetty-toolchain

 

jetty-util

 

jetty-util-ajax

 

jetty-version-maven-plugin

 

jetty-version-maven-plugin-javadoc

 

jetty-webapp

 

jetty-websocket-api

 

jetty-websocket-client

 

jetty-websocket-common

 

jetty-websocket-parent

 

jetty-websocket-server

 

jetty-websocket-servlet

 

jetty-xml

 

jing

 

jing-javadoc

 

jline-demo

 

jna-contrib

 

jna-javadoc

 

joda-convert

 

joda-convert-javadoc

 

js

 

js-devel

 

jsch-demo

 

json-glib-tests

 

jsr-311

 

jsr-311-javadoc

 

juk

 

junit-demo

 

k3b

 

k3b-common

 

k3b-devel

 

k3b-libs

 

kaccessible

 

kaccessible-libs

 

kactivities

 

kactivities-devel

 

kamera

 

kate

 

kate-devel

 

kate-libs

 

kate-part

 

kcalc

 

kcharselect

 

kcm_colors

 

kcm_touchpad

 

kcm-gtk

 

kcolorchooser

 

kcoloredit

 

kde-base-artwork

 

kde-baseapps

 

kde-baseapps-devel

 

kde-baseapps-libs

 

kde-filesystem

 

kde-l10n

 

kde-l10n-Arabic

 

kde-l10n-Basque

 

kde-l10n-Bosnian

 

kde-l10n-British

 

kde-l10n-Bulgarian

 

kde-l10n-Catalan

 

kde-l10n-Catalan-Valencian

 

kde-l10n-Croatian

 

kde-l10n-Czech

 

kde-l10n-Danish

 

kde-l10n-Dutch

 

kde-l10n-Estonian

 

kde-l10n-Farsi

 

kde-l10n-Finnish

 

kde-l10n-Galician

 

kde-l10n-Greek

 

kde-l10n-Hebrew

 

kde-l10n-Hungarian

 

kde-l10n-Icelandic

 

kde-l10n-Interlingua

 

kde-l10n-Irish

 

kde-l10n-Kazakh

 

kde-l10n-Khmer

 

kde-l10n-Latvian

 

kde-l10n-Lithuanian

 

kde-l10n-LowSaxon

 

kde-l10n-Norwegian

 

kde-l10n-Norwegian-Nynorsk

 

kde-l10n-Polish

 

kde-l10n-Portuguese

 

kde-l10n-Romanian

 

kde-l10n-Serbian

 

kde-l10n-Slovak

 

kde-l10n-Slovenian

 

kde-l10n-Swedish

 

kde-l10n-Tajik

 

kde-l10n-Thai

 

kde-l10n-Turkish

 

kde-l10n-Ukrainian

 

kde-l10n-Uyghur

 

kde-l10n-Vietnamese

 

kde-l10n-Walloon

 

kde-plasma-networkmanagement

 

kde-plasma-networkmanagement-libreswan

 

kde-plasma-networkmanagement-libs

 

kde-plasma-networkmanagement-mobile

 

kde-print-manager

 

kde-runtime

 

kde-runtime-devel

 

kde-runtime-drkonqi

 

kde-runtime-libs

 

kde-settings

 

kde-settings-ksplash

 

kde-settings-minimal

 

kde-settings-plasma

 

kde-settings-pulseaudio

 

kde-style-oxygen

 

kde-style-phase

 

kde-wallpapers

 

kde-workspace

 

kde-workspace-devel

 

kde-workspace-ksplash-themes

 

kde-workspace-libs

 

kdeaccessibility

 

kdeadmin

 

kdeartwork

 

kdeartwork-screensavers

 

kdeartwork-sounds

 

kdeartwork-wallpapers

 

kdeclassic-cursor-theme

 

kdegraphics

 

kdegraphics-devel

 

kdegraphics-libs

 

kdegraphics-strigi-analyzer

 

kdegraphics-thumbnailers

 

kdelibs

 

kdelibs-apidocs

 

kdelibs-common

 

kdelibs-devel

 

kdelibs-ktexteditor

 

kdemultimedia

 

kdemultimedia-common

 

kdemultimedia-devel

 

kdemultimedia-libs

 

kdenetwork

 

kdenetwork-common

 

kdenetwork-devel

 

kdenetwork-fileshare-samba

 

kdenetwork-kdnssd

 

kdenetwork-kget

 

kdenetwork-kget-libs

 

kdenetwork-kopete

 

kdenetwork-kopete-devel

 

kdenetwork-kopete-libs

 

kdenetwork-krdc

 

kdenetwork-krdc-devel

 

kdenetwork-krdc-libs

 

kdenetwork-krfb

 

kdenetwork-krfb-libs

 

kdepim

 

kdepim-devel

 

kdepim-libs

 

kdepim-runtime

 

kdepim-runtime-libs

 

kdepimlibs

 

kdepimlibs-akonadi

 

kdepimlibs-apidocs

 

kdepimlibs-devel

 

kdepimlibs-kxmlrpcclient

 

kdeplasma-addons

 

kdeplasma-addons-devel

 

kdeplasma-addons-libs

 

kdesdk

 

kdesdk-cervisia

 

kdesdk-common

 

kdesdk-devel

 

kdesdk-dolphin-plugins

 

kdesdk-kapptemplate

 

kdesdk-kapptemplate-template

 

kdesdk-kcachegrind

 

kdesdk-kioslave

 

kdesdk-kmtrace

 

kdesdk-kmtrace-devel

 

kdesdk-kmtrace-libs

 

kdesdk-kompare

 

kdesdk-kompare-devel

 

kdesdk-kompare-libs

 

kdesdk-kpartloader

 

kdesdk-kstartperf

 

kdesdk-kuiviewer

 

kdesdk-lokalize

 

kdesdk-okteta

 

kdesdk-okteta-devel

 

kdesdk-okteta-libs

 

kdesdk-poxml

 

kdesdk-scripts

 

kdesdk-strigi-analyzer

 

kdesdk-thumbnailers

 

kdesdk-umbrello

 

kdeutils

 

kdeutils-common

 

kdeutils-minimal

 

kdf

 

kernel-rt-doc

 

kernel-rt-trace

 

kernel-rt-trace-devel

 

kernel-rt-trace-kvm

 

keytool-maven-plugin

 

keytool-maven-plugin-javadoc

 

kgamma

 

kgpg

 

kgreeter-plugins

 

khotkeys

 

khotkeys-libs

 

kiconedit

 

kinfocenter

 

kio_sysinfo

 

kmag

 

kmenuedit

 

kmix

 

kmod-oracleasm

 

kolourpaint

 

kolourpaint-libs

 

konkretcmpi

 

konkretcmpi-devel

 

konkretcmpi-python

 

konsole

 

konsole-part

 

kross-interpreters

 

kross-python

 

kross-ruby

 

kruler

 

ksaneplugin

 

kscreen

 

ksnapshot

 

ksshaskpass

 

ksysguard

 

ksysguard-libs

 

ksysguardd

 

ktimer

 

kwallet

 

kwin

 

kwin-gles

 

kwin-gles-libs

 

kwin-libs

 

kwrite

 

kxml

 

kxml-javadoc

 

lapack64-devel

 

lapack64-static

 

lasso-devel

 

latrace

 

lcms2-utils

 

ldns-doc

 

ldns-python

 

libabw-devel

 

libabw-doc

 

libabw-tools

 

libappindicator

 

libappindicator-devel

 

libappindicator-docs

 

libappstream-glib-builder

 

libappstream-glib-builder-devel

 

libart_lgpl

 

libart_lgpl-devel

 

libasan-static

 

libavc1394-devel

 

libbase-javadoc

 

libblockdev-btrfs

 

libblockdev-btrfs-devel

 

libblockdev-crypto-devel

 

libblockdev-devel

 

libblockdev-dm-devel

 

libblockdev-fs-devel

 

libblockdev-kbd-devel

 

libblockdev-loop-devel

 

libblockdev-lvm-devel

 

libblockdev-mdraid-devel

 

libblockdev-mpath-devel

 

libblockdev-nvdimm-devel

 

libblockdev-part-devel

 

libblockdev-swap-devel

 

libblockdev-utils-devel

 

libblockdev-vdo-devel

 

libbluedevil

 

libbluedevil-devel

 

libbluray-devel

 

libbonobo

 

libbonobo-devel

 

libbonoboui

 

libbonoboui-devel

 

libbytesize-devel

 

libcacard-tools

 

libcap-ng-python

 

libcdr-devel

 

libcdr-doc

 

libcdr-tools

 

libcgroup-devel

 

libchamplain-demos

 

libchewing

 

libchewing-devel

 

libchewing-python

 

libcmis-devel

 

libcmis-tools

 

libcryptui

 

libcryptui-devel

 

libdb-devel-static

 

libdb-java

 

libdb-java-devel

 

libdb-tcl

 

libdb-tcl-devel

 

libdbi

 

libdbi-dbd-mysql

 

libdbi-dbd-pgsql

 

libdbi-dbd-sqlite

 

libdbi-devel

 

libdbi-drivers

 

libdbusmenu-gtk2

 

libdbusmenu-gtk2-devel

 

libdhash-devel

 

libdmapsharing-devel

 

libdmmp-devel

 

libdmx-devel

 

libdnet-progs

 

libdnet-python

 

libdnf-devel

 

libdv-tools

 

libdvdnav-devel

 

libeasyfc-devel

 

libeasyfc-gobject-devel

 

libee

 

libee-devel

 

libee-utils

 

libesmtp

 

libesmtp-devel

 

libestr-devel

 

libetonyek-doc

 

libetonyek-tools

 

libevdev-utils

 

libexif-doc

 

libexttextcat-devel

 

libexttextcat-tools

 

libfastjson-devel

 

libfonts-javadoc

 

libformula-javadoc

 

libfprint-devel

 

libfreehand-devel

 

libfreehand-doc

 

libfreehand-tools

 

libgcab1-devel

 

libgccjit

 

libgdither-devel

 

libgee06

 

libgee06-devel

 

libgepub

 

libgepub-devel

 

libgfortran-static

 

libgfortran4

 

libgfortran5

 

libglade2

 

libglade2-devel

 

libGLEWmx

 

libgnat

 

libgnat-devel

 

libgnat-static

 

libgnome

 

libgnome-devel

 

libgnome-keyring-devel

 

libgnomecanvas

 

libgnomecanvas-devel

 

libgnomeui

 

libgnomeui-devel

 

libgo

 

libgo-devel

 

libgo-static

 

libgovirt-devel

 

libgxim

 

libgxim-devel

 

libgxps-tools

 

libhangul-devel

 

libhbaapi-devel

 

libhif-devel

 

libical-glib

 

libical-glib-devel

 

libical-glib-doc

 

libid3tag

 

libid3tag-devel

 

libiec61883-utils

 

libieee1284-python

 

libimobiledevice-python

 

libimobiledevice-utils

 

libindicator

 

libindicator-devel

 

libindicator-tools

 

libinvm-cim

 

libinvm-cim-devel

 

libinvm-cli

 

libinvm-cli-devel

 

libinvm-i18n

 

libinvm-i18n-devel

 

libiodbc

 

libiodbc-devel

 

libipa_hbac-devel

 

libiptcdata-devel

 

libiptcdata-python

 

libitm-static

 

libixpdimm-cim

 

libixpdimm-core

 

libjpeg-turbo-static

 

libkcddb

 

libkcddb-devel

 

libkcompactdisc

 

libkcompactdisc-devel

 

libkdcraw

 

libkdcraw-devel

 

libkexiv2

 

libkexiv2-devel

 

libkipi

 

libkipi-devel

 

libkkc-devel

 

libkkc-tools

 

libksane

 

libksane-devel

 

libkscreen

 

libkscreen-devel

 

libkworkspace

 

liblayout-javadoc

 

libloader-javadoc

 

liblognorm-devel

 

liblouis-devel

 

liblouis-doc

 

liblouis-utils

 

libmatchbox-devel

 

libmbim-devel

 

libmediaart-devel

 

libmediaart-tests

 

libmnl-static

 

libmodman-devel

 

libmpc-devel

 

libmsn

 

libmsn-devel

 

libmspub-devel

 

libmspub-doc

 

libmspub-tools

 

libmtp-examples

 

libmudflap

 

libmudflap-devel

 

libmudflap-static

 

libmwaw-devel

 

libmwaw-doc

 

libmwaw-tools

 

libmx

 

libmx-devel

 

libmx-docs

 

libndp-devel

 

libnetfilter_cthelper-devel

 

libnetfilter_cttimeout-devel

 

libnftnl-devel

 

libnl

 

libnl-devel

 

libnm-gtk

 

libnm-gtk-devel

 

libntlm

 

libntlm-devel

 

libobjc

 

libodfgen-doc

 

libofa

 

libofa-devel

 

liboil

 

liboil-devel

 

libopenraw-pixbuf-loader

 

liborcus-devel

 

liborcus-doc

 

liborcus-tools

 

libosinfo-devel

 

libosinfo-vala

 

libotf-devel

 

libpagemaker-devel

 

libpagemaker-doc

 

libpagemaker-tools

 

libpinyin-devel

 

libpinyin-tools

 

libpipeline-devel

 

libplist-python

 

libpng-static

 

libpng12-devel

 

libproxy-kde

 

libpst

 

libpst-devel

 

libpst-devel-doc

 

libpst-doc

 

libpst-python

 

libpurple-perl

 

libpurple-tcl

 

libqmi-devel

 

libquadmath-static

 

LibRaw-static

 

librelp-devel

 

libreoffice

 

libreoffice-bsh

 

libreoffice-gdb-debug-support

 

libreoffice-glade

 

libreoffice-librelogo

 

libreoffice-nlpsolver

 

libreoffice-officebean

 

libreoffice-officebean-common

 

libreoffice-postgresql

 

libreoffice-rhino

 

libreofficekit-devel

 

librepo-devel

 

libreport-compat

 

libreport-devel

 

libreport-gtk-devel

 

libreport-web-devel

 

librepository-javadoc

 

librevenge-doc

 

librsvg2-tools

 

libselinux-static

 

libsemanage-devel

 

libsemanage-static

 

libserializer-javadoc

 

libsexy

 

libsexy-devel

 

libsmbios-devel

 

libsmi-devel

 

libsndfile-utils

 

libsolv-demo

 

libsolv-devel

 

libsolv-tools

 

libspiro-devel

 

libss-devel

 

libsss_certmap-devel

 

libsss_idmap-devel

 

libsss_nss_idmap-devel

 

libsss_simpleifp-devel

 

libstaroffice-devel

 

libstaroffice-doc

 

libstaroffice-tools

 

libstdc++-static

 

libstoragemgmt-devel

 

libstoragemgmt-targetd-plugin

 

libtar-devel

 

libteam-devel

 

libtheora-devel-docs

 

libtiff-static

 

libtimezonemap-devel

 

libtnc

 

libtnc-devel

 

libtranslit

 

libtranslit-devel

 

libtranslit-icu