International Master Diagnostics Keygen Idm
International Master Diagnostic (International MD) 6.08+keygen International Master Diagnostic (International MD) 4.54 International Service Assistant 2008 Bosal v18 2008 Meritor WABCO PC Diagnostics v4.6.0 Wabco EBS 2009 (diagnostic software) WABCO Toolbox 8.8.3 Meritor CVA 2007 Daewoo DAIOS 2008 International SIS 4/2009 International InTune 2008.
ELM327-based OBD-II is an adapter that is used to connect your car with your computer so that, you can start the analysis of your vehicle. OBD Auto Doctor Key will diagnose the performance of all sensors and parts of your car either they are working well or not working. This powerful application is presented with excellent user-friendly UI and IDE so that you not face any problem using it.
OBD Auto Doctor 3.5.2 License Key Plus Keygen
In today’s era, you need to have all the opportunities and opportunities for other people to step by step with the world. You must have a car to perform a demonstration. And should take care of him as he is a human being. Assume that you are on a long journey and you have a few rupees, and your vehicle decline and you cannot take it to a mechanic. So on this occasion, you would like to save your time and money too. Just like this time, the OBD Auto Doctor License Key has been created for the sake of time so that you can reach to the problem in your car and correct it. So you can continue your journey.
Ford Integrated Diagnostic System How to Buy It What’s in the Box? IDS can be purchased in several packages from complete to a VCM only package. There are several companion modules that may be purchased separately if desired. Packages with PC can be viewed and ordered here or here. Bring your own laptop packages are Read More. 2006 International 4200 DT466 Engine Serial Number: N57H375905 Mileage: 204033 Engine loosing power. Intermitment power - Answered by a verified Technician.
Try This Amazing Software:Driver Genius Pro license Code Cracked
OBD Auto Doctor Crack:
- With the help of this multifunction OBD-II diagnostic software, you can analyze the vehicle’s On-Board Diagnostic system.
- OBD Auto Doctor 3.5.2 Crack can coordinate with the DTC (Diagnostics Trouble Codes) generated from the ECU (Electronic Control Unit) and gives you malfunction result.
- This tool is a must-have tool for a person who always wants his cars to work better.
- It checks the freeze frame of the car and diagnoses about the problem and detects the actual problem in real time.
- There is a readiness monitoring system which tests cars exhaust system round about 11 times and gives you the report of its completion.
- This software creates a final report about the sensor and all the small and significant parts of the car, either it is working well or has an error.
- OBD Auto Doctor Keygen performs the Oxygen Sensor Monitoring and On-Board Monitoring Tests of your car.
What’s new in:
- This software is Certified with Apple
- High DPI displays are now compatible.
- The newer compiler and C++ versions increase its performance.
System Requirements:
- Only 30 MB of free disk space
- You should have ELM327-based OBD-II adapter
License Key
2X3C4-VB6N1-2X3CV-4B52X-23CV7
Key
V4B56-7C4V5-B6N7M-83C4V-5B6N7
How to use Key:
- First of all, click the Key download button.
- Open it and copy the License Key.
- Paste it into the registration form of this software
- Enjoy you have registered it.
How to Crack:
- First of all, uninstall the older version if you want to crack it.
- Download the Latest Crack.
- Install it, and done.
- You have cracked it.
This part describes new features and major enhancements introduced in Red Hat Enterprise Linux 8.
The web console’s Subscriptions page is now provided by the new subscription-manager-cockpit
package.
A firewall interface has been added to the web console
The Networking page in the RHEL 8 web console now includes a Firewall section. In this section, users can enable or disable the firewall, as well as add, remove, and modify firewall rules.
(BZ#1647110)
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.
(JIRA:RHELPLAN-10355)
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.
(JIRA:RHELPLAN-3010)
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.
(JIRA:RHELPLAN-10352)
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.
(JIRA:RHELPLAN-10353)
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.
(JIRA:RHELPLAN-10354)
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.
(JIRA:RHELPLAN-2896)
Installing RHEL from a DVD using SE and HMC is now fully supported on IBM Z
The installation of Red Hat Enterprise Linux 8 on IBM Z hardware from a DVD using the Support Element (SE) and Hardware Management Console (HMC) is now fully supported. This addition simplifies the installation process on IBM Z with SE and HMC.
When booting from a binary DVD, the installer prompts the user to enter additional kernel parameters. To set the DVD as an installation source, append inst.repo=hmc
to the kernel parameters. The installer then enables SE and HMC file access, fetches the images for stage2 from the DVD, and provides access to the packages on the DVD for software selection.
The new feature eliminates the requirement of an external network setup and expands the installation options.
(BZ#1500792)
Installer now supports the LUKS2 disk encryption format
Red Hat Enterprise Linux 8 installer now uses the LUKS2 format by default but you can select a LUKS version from Anaconda’s Custom Partitioning window or by using the new options in Kickstart’s autopart
, logvol
, part
, and RAID
commands.
LUKS2 provides many improvements and features, for example, it extends the capabilities of the on-disk format and provides flexible ways of storing metadata.
(BZ#1547908)
Anaconda supports System Purpose in RHEL 8
Previously, Anaconda did not provide system purpose information to Subscription Manager. In Red Hat Enterprise Linux 8.0, you can set the intended purpose of the system during installation by using Anaconda’sSystem Purpose
window or Kickstart’s syspurpose
command. When the installation completes, Subscription Manager uses the system purpose information when subscribing the system.
(BZ#1612060)
Pykickstart
supports System Purpose in RHEL 8
Previously, it was not possible for the pykickstart
library to provide system purpose information to Subscription Manager. In Red Hat Enterprise Linux 8.0, 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 Anaconda, saved on the newly-installed system, and available for Subscription Manager when subscribing the system.
(BZ#1612061)
Anaconda supports a new kernel boot parameter in RHEL 8
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 https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-addrepo
(BZ#1595415)
Anaconda supports a unified ISO in RHEL 8
In Red Hat Enterprise Linux 8.0, 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 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.
(BZ#1610806)
Anaconda can install modular packages in Kickstart scripts
The Anaconda installer has been extended to handle all features related to application streams: modules, streams and profiles. Kickstart scripts can now enable module and stream combinations, install module profiles, and install modular packages. For more information, see Performing an advanced RHEL installation.
(JIRA:RHELPLAN-1943)
The nosmt
boot option is now available in the RHEL 8 installation options
The nosmt
boot option is available in the installation options that are passed to a newly-installed RHEL 8 system.
(BZ#1677411)
RHEL 8 supports installing from a repository on a local hard drive
Previously, installing RHEL from a hard drive required an ISO image as the installation source. However, the RHEL 8 ISO image might be too large for some file systems; for example, the FAT32 file system cannot store files larger than 4 GiB.
In RHEL 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>`
(BZ#1502323)
Custom system image creation with Image Builder is available in RHEL 8
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.
(JIRA:RHELPLAN-7291, BZ#1628645, BZ#1628646, BZ#1628647, BZ#1628648)
ARM 52-bit physical addressing is now available
With this update, support for 52-bit physical addressing (PA) for the 64-bit ARM architecture is available. This provides larger address space than previous 48-bit PA.
(BZ#1643522)
The IOMMU code supports 5-level page tables in RHEL 8
The I/O memory management unit (IOMMU) code in the Linux kernel has been updated to support 5-level page tables in Red Hat Enterprise Linux 8.
(BZ#1485546)
Support for 5-level paging
New P4d_t
software page table type has been added into the Linux kernel in order to support 5-level paging in Red Hat Enterprise Linux 8.
(BZ#1485532)
Memory management supports 5-level page tables
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 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.
(BZ#1485525)
kernel-signing-ca.cer
is moved to kernel-core
in RHEL 8
In all versions of Red Hat Enterprise Linux 7, the kernel-signing-ca.cer
public key was located in the kernel-doc
package. However, in Red Hat Enterprise Linux 8, kernel-signing-ca.cer
has been relocated to the kernel-core
package for every architecture.
(BZ#1638465)
Spectre V2 mitigation default changed from IBRS to Retpolines
The default mitigation for the Spectre V2 vulnerability (CVE-2017-5715) for systems with the 6th Generation Intel Core Processors and its close derivatives [1] has changed from Indirect Branch Restricted Speculation (IBRS) to Retpolines in Red Hat Enterprise Linux 8. Red Hat has implemented this change as a result of Intel’s recommendations to align with the defaults used in the Linux community and to restore lost performance. However, note that using Retpolines in some cases may not fully mitigate Spectre V2. Intel’s Retpoline document [2] describes any cases of exposure. This document also states that the risk of an attack is low.
For use cases where complete Spectre V2 mitigation is desired, a user can select IBRS through the kernel boot line by adding the spectre_v2=ibrs
flag.
If one or more kernel modules were not built with the Retpoline support, the /sys/devices/system/cpu/vulnerabilities/spectre_v2
file will indicate vulnerability and the /var/log/messages
file will identify the offending modules. See link:https://access.redhat.com/solutions/3399691 [How to determine which modules are responsible for spectre_v2 returning 'Vulnerable: Retpoline with unsafe module(s)'?] for further information.
[1] '6th generation Intel Core Processors and its close derivatives' are what the Intel’s Retpolines document refers to as 'Skylake-generation'.
[2] link:https://software.intel.com/security-software-guidance/api-app/sites/default/files/Retpoline-A-Branch-Target-Injection-Mitigation.pdf [Retpoline: A Branch Target Injection Mitigation - White Paper]
(BZ#1651806)
Intel® Omni-Path Architecture (OPA) Host Software
Intel Omni-Path Architecture (OPA) host software is fully supported in Red Hat Enterprise Linux 8.
Intel OPA provides Host Fabric Interface (HFI) hardware with initialization and setup for high performance data transfers (high bandwidth, high message rate, low latency) between compute and I/O nodes in a clustered environment.
For instructions on installing Intel Omni-Path Architecture documentation, see: https://www.intel.com/content/dam/support/us/en/documents/network-and-i-o/fabric-products/Intel_OP_Software_RHEL_8_RN_K51383.pdf
(BZ#1683712)
NUMA supports more nodes in RHEL 8
With this update, the Non-Uniform Memory Access (NUMA) node count has been increased from 4 NUMA nodes to 8 NUMA nodes in Red Hat Enterprise Linux 8.
(BZ#1550498)
IOMMU passthrough is now enabled by default in RHEL 8
The Input/Output Memory Management Unit (IOMMU) passthrough has been enabled by default. This provides improved performance for AMD systems because Direct Memory Access (DMA) remapping is disabled for the host. This update brings consistency with Intel systems where DMA remapping is also disabled by default. Users may disable such behavior (and enable DMA remapping) by specifying either iommu.passthrough=off
or iommu=nopt
parameters on the kernel command line, including the hypervisor.
(BZ#1658391)
RHEL8 kernel now supports 5-level page tables
Red Hat Enterprise Linux kernel now fully supports future Intel processors with up to 5 levels of page tables. This enables the processors to support up to 4PB of physical memory and 128PB of virtual address space. Applications that utilize large amounts of memory can now use as much memory as possible as provided by the system without the constraints of 4-level page tables.
(BZ#1623590)
RHEL8 kernel supports enhanced IBRS for future Intel CPUs
Red Hat Enterprise Linux kernel now supports the use of enhanced Indirect Branch Restricted Speculation (IBRS) capability to mitigate the Spectre V2 vulnerability. When enabled, IBRS will perform better than Retpolines (default) to mitigate Spectre V2 and will not interfere with Intel Control-flow Enforcement technology. As a result, the performance penalty of enabling the mitigation for Spectre V2 will be smaller on future Intel CPUs.
(BZ#1614144)
bpftool
for inspection and manipulation of eBPF-based programs and maps added
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.
(BZ#1559607)
The kernel-rt
sources have been updated
The kernel-rt
sources have been updated to use the latest RHEL kernel source tree. The latest kernel source tree is now using the upstream v4.18 realtime patch set, which provides a number of bug fixes and enhancements over the previous version.
(BZ#1592977)
YUM performance improvement and support for modular content
On Red Hat Enterprise Linux 8, installing software is ensured by the new version of the YUM tool, which is based on the DNF technology (YUM v4).
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.
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.
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.
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 DNF Python API is available at DNF API Reference.
The Libdnf and Hawkey APIs (both C and Python) are unstable, and will likely change during Red Hat Enterprise Linux 8 life cycle.
For more details on changes of YUM packages and tools availability, see Considerations in adopting RHEL 8.
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?
(BZ#1581198)
Notable RPM features in RHEL 8
Red Hat Enterprise Linux 8 is distributed with RPM 4.14. This version introduces many enhancements over RPM 4.11, which is available in RHEL 7. The most 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
Also, the most notable changes include:
- Stricter spec-parser
- Simplified signature checking the output in non-verbose mode
- Additions and deprecation in macros
(BZ#1581990)
RPM now validates the entire package contents before starting an installation
On Red Hat Enterprise Linux 7, the RPM utility verified payload contents of individual files while unpacking. However, this is insufficient for multiple reasons:
- If the payload is damaged, it is only noticed after executing script actions, which are irreversible.
- If the payload is damaged, upgrade of a package aborts after replacing some files of the previous version, which breaks a working installation.
- The hashes on individual files are performed on uncompressed data, which makes RPM vulnerable to decompressor vulnerabilities.
On Red Hat Enterprise Linux 8, the entire package is validated prior to the installation in a separate step, using the best available hash.
Packages built on Red Hat Enterprise Linux 8 use a new SHA-256
hash on the compressed payload. On signed packages, the payload hash is additionally protected by the signature, and thus cannot be altered without breaking a signature and other hashes on the package header. Older packages use the MD5
hash of the header and payload unless it is disabled by configuration.
The %_pkgverify_level
macro can be used to additionally enable enforcing signature verification before installation or disable the payload verification completely. In addition, the %_pkgverify_flags
macro can be used to limit which hashes and signatures are allowed. For example, it is possible to disable the use of the weak MD5
hash at the cost of compatibility with older packages.
(JIRA:RHELPLAN-10596)
Notable changes in the recommended Tuned profile in RHEL 8
With this update, the recommended Tuned profile (reported by the tuned-adm recommend
command) is now selected based on the following rules - the first rule that matches takes effect:
If the
syspurpose
role (reported by thesyspurpose show
command) containsatomic
, 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 on bare metal, the
- If Tuned is running in a virtual machine, the
virtual-guest
profile is selected - If the
syspurpose
role containsdesktop
orworkstation
and the chassis type (reported bydmidecode
) isNotebook
,Laptop
, orPortable
, then thebalanced
profile is selected - If none of the above rules matches, the
throughput-performance
profile is selected
(BZ#1565598)
Files produced by named can be written in the working directory
Previously, the named daemon stored some data in the working directory, which has been read-only in Red Hat Enterprise Linux. With this update, paths have been changed for selected files into subdirectories, where writing is allowed. Now, default directory Unix and SELinux permissions allow writing into the directory. Files distributed inside the directory are still read-only to named.
(BZ#1588592)
Geolite Databases have been replaced by Geolite2 Databases
Geolite Databases that were present in Red Hat Enterprise Linux 7 were replaced by Geolite2 Databases on Red Hat Enterprise Linux 8.
Geolite Databases were provided by the GeoIP
package. This package together with the legacy database is no longer supported in the upstream.
Geolite2 Databases are provided by multiple packages. The libmaxminddb
package includes the library and the mmdblookup
command line tool, which enables manual searching of addresses. The geoipupdate
binary from the legacy GeoIP
package is now provided by the geoipupdate
package, and is capable of downloading both legacy databases and the new Geolite2 databases.
(JIRA:RHELPLAN-6746)
CUPS logs are handled by journald
In RHEL 8, the CUPS logs are no longer stored in specific files within the /var/log/cups
directory, which was used in RHEL 7. In RHEL 8, all types of CUPS logs are centrally-logged in the systemd journald
daemon together with logs from other programs. To access the CUPS logs, use the journalctl -u cups
command. For more information, see Working with CUPS logs.
(JIRA:RHELPLAN-12764)
Notable BIND features in RHEL 8
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 thedig
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 version2 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.
(JIRA:RHELPLAN-1820)
The nobody
user replaces nfsnobody
In Red Hat Enterprise Linux 7, there was:
- 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 the default kernel overflow ID, too.
Both of these have been merged into the nobody
user and group pair, which uses the 65534 ID in Red Hat Enterprise Linux 8. New installations no longer create the nfsnobody
pair.
This change reduces the confusion about files that are owned by nobody
but have nothing to do with NFS.
(BZ#1591969)
Version control systems in RHEL 8
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.
(BZ#1693775)
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 forSubversion 1.10
are unavailable. As a consequence, applications that requirePython
bindings forSubversion
are unsupported. - Repositories based on
Berkeley DB
are no longer supported. Before migrating, back up repositories created withSubversion 1.7
by using thesvnadmin dump
command. After installing RHEL 8, restore the repositories using thesvnadmin 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 fromSubversion 1.10
. After installing RHEL 8, run thesvn upgrade
command in each working copy. - Smartcard authentication for accessing repositories using
https://
is no longer supported.
(BZ#1571415)
Notable changes in dstat
RHEL 8 is distributed with a new version of the dstat
tool. This tool is now a part of the Performance Co-Pilot (PCP) toolkit. The /usr/bin/dstat
file and the dstat
package name is now provided by the pcp-system-tools
package.
The new version of dstat
introduces the following enhancements over dstat
available in RHEL 7:
python3
support- Historical analysis
- Remote host analysis
- Configuration file plugins
- New performance metrics
(BZ#1684947)
5.1.7. Dynamic programming languages, web and database servers
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.
(BZ#1580387)
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:
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:
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.
(BZ#1583620)
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 threadedhttpd
)- The
php_value
andphp-flag
variables should no longer be used in thehttpd
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, thehttpd
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; theapache
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 thephp-common
package to a separate package,php-pecl-zip
The following extensions have been removed:
aspell
mysql
(note that themysqli
andpdo_mysql
extensions are still available, provided byphp-mysqlnd
package)memcache
(BZ#1580430, BZ#1691688)
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
andBignum
classes have been unified into theInteger
class. - Performance has been improved by optimizing the
Hash
class, improved access to instance variables, and theMutex
class being smaller and faster. - Certain old APIs have been deprecated.
- Bundled libraries, such as
RubyGems
,Rake
,RDoc
,Psych
,Minitest
, andtest-unit
, have been updated. - Other libraries, such as
mathn
,DL
,ext/tk
, andXMLRPC
, which were previously distributed withRuby
, are deprecated or no longer included. - The
SemVer
versioning scheme is now used forRuby
versioning.
(BZ#1648843)
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
, andloaded-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 accessperl -V
data in a structured way has been added. - A new
perl-App-cpanminus
package has been added, which contains thecpanm
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 thePERL_PERTURB_KEYS
environment variable to0
. - 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
, andpstruct
tools have been removed. - The
${^ENCODING}
facility has been removed. Theencoding
pragma’s default mode is no longer supported. To write source code in other encoding thanUTF-8
, use the encoding’sFilter
option. - The
perl
packaging is now aligned with upstream. Theperl
package installs also core modules, while the/usr/bin/perl
interpreter is provided by theperl-interpreter
package. In previous releases, theperl
package included just a minimal interpreter, whereas theperl-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.
(BZ#1511131)
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
.
(BZ#1622118)
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
.
(BZ#1660051)
Notable changes in Apache httpd
RHEL 8 is distributed with the Apache HTTP Server 2.4.37. This version introduces the following changes over httpd
available in RHEL 7:
- HTTP/2 support is now provided by the
mod_http2
package, which is a part of thehttpd
module. - 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 asLet’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, amod_ssl
configuration can now usePKCS#11
URLs to identify the TLS private key, and, optionally, the TLS certificate in theSSLCertificateKeyFile
andSSLCertificateFile
directives. - 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 thehttpd.conf(5)
man page for more information.
For more information about changes in httpd
and its usage, see Setting up the Apache HTTP web server.
(BZ#1632754, BZ#1527084, BZ#1581178)
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.
(BZ#1545526)
Database servers in RHEL 8
RHEL 8 provides the following database servers:
MySQL 8.0
, a multi-user, multi-threaded SQL database server. It consists of theMySQL
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 withMySQL
.PostgreSQL 10
andPostgreSQL 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).
(BZ#1647908)
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
toutf8mb4
. - 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 theNOWAIT
andSKIP 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 forMySQL
andMariaDB
. This library is usable with any version of theMySQL
andMariaDB
database servers. As a result, the user is able to connect one build of an application to any of theMySQL
andMariaDB
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:
(BZ#1649891, BZ#1519450, BZ#1631400)
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
forInnoDB
- 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 ofMariaDB
.InnoDB
is used as the default storage engine instead ofXtraDB
.- 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.
(BZ#1637034, BZ#1519450, BZ#1688374)
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
, andaggregate
- Enhancements to synchronous replication
- Improved full-text search enabling users to search for phrases
- The
postgres_fdw
data federation driver now supports remotejoin
,sort
,UPDATE
, andDELETE
operations - Substantial performance improvements, especially regarding scalability on multi-CPU-socket servers
Major enhancements in PostgreSQL 10
include:
- Logical replication using the
publish
andsubscribe
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.
(BZ#1660041)
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
(BZ#1656871)
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
.
(BZ#1633338)
GNOME Shell, version 3.28 in RHEL 8
GNOME Shell, version 3.28 is available in Red Hat Enterprise Linux (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
(BZ#1649404)
Wayland is the default display server
With Red Hat Enterprise Linux 8, the GNOME session and the GNOME Display Manager (GDM) use Wayland as their default display server instead of the X.org server, which was used with the previous major version of RHEL.
Wayland provides multiple advantages and improvements over X.org. Most notably:
- Stronger security model
- Improved multi-monitor handling
- Improved user interface (UI) scaling
- The desktop can control window handling directly.
Note that the following features are currently unavailable or do not work as expected:
- Multi-GPU setups are not supported under Wayland.
- The NVIDIA binary driver does not work under Wayland.
- The
xrandr
utility does not work under Wayland due to its different approach to handling, resolutions, rotations, and layout. Note that other X.org utilities for manipulating the screen do not work under Wayland, either. - Screen recording, remote desktop, and accessibility do not always work correctly under Wayland.
- No clipboard manager is available.
- Wayland ignores keyboard grabs issued by X11 applications, such as virtual machines viewers.
- Wayland inside guest virtual machines (VMs) has stability and performance problems, so it is recommended to use the X11 session for virtual environments.
If you upgrade to RHEL 8 from a RHEL 7 system where you used the X.org GNOME session, your system continues to use X.org. The system also automatically falls back to X.org when the following graphics drivers are in use:
- The NVIDIA binary driver
- The
cirrus
driver - The
mga
driver - The
aspeed
driver
You can disable the use of Wayland manually:
- To disable Wayland in GDM, set the
WaylandEnable=false
option in the/etc/gdm/custom.conf
file. - To disable Wayland in the GNOME session, select the legacy X11 option by using the cogwheel menu on the login screen after entering your login name.
For more details on Wayland, see https://wayland.freedesktop.org/.
(BZ#1589678)
Locating RPM packages that are in repositories not enabled by default
Additional repositories for desktop are not enabled by default. The disablement is indicated by the enabled=0
line in the corresponding .repo
file. If you attempt to install a package from such repository using PackageKit, PackageKit shows an error message announcing that the application is not available. To make the package available, replace previously used enabled=0
line in the respective .repo
file with enabled=1
.
(JIRA:RHELPLAN-2878)
GNOME Sofware for package management
The gnome-packagekit
package that provided a collection of tools for package management in graphical environment on Red Hat Enterprise Linux 7 is no longer available. On Red Hat Enterprise Linux 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.
(JIRA:RHELPLAN-3001)
Fractional scaling available for GNOME Shell on Wayland
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:
(BZ#1668883)
Firmware updates using fwupd
are available
RHEL 8 supports firmware updates, such as UEFI capsule, Device Firmware Upgrade (DFU), and others, using the fwupd
daemon. The daemon allows session software to update device firmware on a local machine automatically.
To view and apply updates, you can use:
- A GUI software manager, such as GNOME Software
- The
fwupdmgr
command-line tool
The metadata files are automatically downloaded from the Linux Vendor Firmware Service (LVFS) secure portal, and submitted into fwupd
over D-Bus. The updates that need to be applied are downloaded displaying user notifications and update details. The user must explicitly agree with the firmware update action before the update is performed.
Note that the access to LVFS is disabled by default.
To enable the access to LVFS, either click the slider in the sources
dialog in GNOME Software, or run the fwupdmgr enable-remote lvfs
command. If you use fwupdmgr
to get the updates list, you will be asked if you want to enable LVFS.
With access to LVFS, you will get firmware updates directly from the hardware vendor. Note that such updates have not been verified by Red Hat QA.
(BZ#1504934)
Memory Mode for Optane DC Persistent Memory technology is fully supported
Intel Optane DC Persistent Memory storage devices provide data center-class persistent memory technology, which can significantly increase transaction throughput.
To use the Memory Mode technology, your system does not require any special drivers or specific certification. Memory Mode is transparent to the operating system.
(BZ#1718422)
New password syntax checks in Directory Server
This enhancement adds new password syntax checks to Directory Server. Administrators can now, for example, enable dictionary checks, allow or deny using character sequences and palindromes. As a result, if enabled, the password policy syntax check in Directory Server enforces more secure passwords.
(BZ#1334254)
Directory Server now provides improved internal operations logging support
Several operations in Directory Server, initiated by the server and clients, cause additional operations in the background. Previously, the server only logged for internal operations the Internal
connection keyword, and the operation ID was always set to -1
. With this enhancement, Directory Server logs the real connection and operation ID. You can now trace the internal operation to the server or client operation that caused this operation.
(BZ#1358706)
The tomcatjss
library supports OCSP checking using the responder from the AIA extension
With this enhancement, the tomcatjss
library supports Online Certificate Status Protocol (OCSP) checking using the responder from the Authority Information Access (AIA) extension of a certificate. As a result, administrators of Red Hat Certificate System can now configure OCSP checking that uses the URL from the AIA extension.
(BZ#1636564)
The pki subsystem-cert-find
and pki subsystem-cert-show
commands now show the serial number of certificates
With this enhancement, the pki subsystem-cert-find
and pki subsystem-cert-show
commands in Certificate System show the serial number of certificates in their output. The serial number is an important piece of information and often required by multiple other commands. As a result, identifying the serial number of a certificate is now easier.
(BZ#1566360)
The pki user
and pki group
commands have been deprecated in Certificate System
With this update, the new pki <subsystem>-user
and pki <subsystem>-group
commands replace the pki user
and pki group
commands in Certificate System. The replaced commands still works, but they display a message that the command is deprecated and refer to the new commands.
(BZ#1394069)
Certificate System now supports offline renewal of system certificates
With this enhancement, administrators can use the offline renewal feature to renew system certificates configured in Certificate System. When a system certificate expires, Certificate System fails to start. As a result of the enhancement, administrators no longer need workarounds to replace an expired system certificate.
(BZ#1669257)
Certificate System can now create CSRs with SKI extension for external CA signing
With this enhancement, Certificate System supports creating a certificate signing request (CSR) with the Subject Key Identifier (SKI) extension for external certificate authority (CA) signing. Certain CAs require this extension either with a particular value or derived from the CA public key. As a result, administrators can now use the pki_req_ski
parameter in the configuration file passed to the pkispawn
utility to create a CSR with SKI extension.
(BZ#1656856)
SSSD now allows you to select one of the multiple Smartcard 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:
to the [pam]
section of sssd.conf
.
For details, see the man sssd.conf
page.
(BZ#1620123)
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.
(JIRA:RHELPLAN-10439)
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.
(JIRA:RHELPLAN-10440)
Active Directory users can now administer Identity Management
With this update, RHEL 8 allows adding a user ID override for an Active Directory (AD) user as a member of an Identity Management (IdM) group. An ID override is a record describing what a specific AD 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 that currently, selected features in IdM may still be unavailable to AD users.
(JIRA:RHELPLAN-10442)
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.
(JIRA:RHELPLAN-10443)
Identity Management packages are available as a module
In RHEL 8, the packages necessary for installing an Identity Management (IdM) server and client are shipped 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 the DL1
stream. The stream contains multiple profiles corresponding to different types of IdM servers: server, dns, adtrust, client, and default. To download the packages in a specific profile of the DL1
stream:
- Enable the stream.
- Switch to the RPMs delivered through the stream.
- Run the
yum module install idm:DL1/profile_name
command.
To switch to a new module stream once you have already enabled a specific stream and downloaded packages from it:
- Remove all the relevant installed content and disable the current module stream.
- Enable the new module stream.
(JIRA:RHELPLAN-10438)
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.
(JIRA:RHELPLAN-1473)
authselect
simplifies the configuration of user authentication
This update introduces the authselect
utility that simplifies the configuration of user authentication on RHEL 8 hosts, replacing 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. Note that authselect
does not configure services required to join remote domains. This task is performed by specialized tools, such as realmd
or ipa-client-install
.
(JIRA:RHELPLAN-10445)
Boost updated to version 1.66
The Boost C++ library has been updated to upstream version 1.66. The version of Boost included in Red Hat Enterprise Linux 7 is 1.53. For details, see the upstream changelogs: https://www.boost.org/users/history/
This update introduces the following changes breaking compatibility with previous versions:
- The
bs_set_hook()
function, thesplay_set_hook()
function from splay containers, and thebool splay = true
extra parameter in thesplaytree_algorithms()
function in the Intrusive library have been removed. - Comments or string concatenation in JSON files are no longer supported by the parser in the Property Tree library.
- Some distributions and special functions from the Math library have been fixed to behave as documented and raise an
overflow_error
instead of returning the maximum finite value. - Some headers from the Math library have been moved into the directory
libs/math/include_private
. - Behavior of the
basic_regex<>::mark_count()
andbasic_regex<>::subexpression(n)
functions from the Regex library has been changed to match their documentation. - Use of variadic templates in the Variant library may break metaprogramming functions.
- The
boost::python::numeric
API has been removed. Users can useboost::python::numpy
instead. - Arithmetic operations on pointers to non-object types are no longer provided in the Atomic library.
(BZ#1494495)
Unicode 11.0.0 support
The Red Hat Enterprise Linux core C library, glibc, has been updated to support the Unicode standard version 11.0.0. As a result, all wide character and multi-byte character APIs including transliteration and conversion between character sets provide accurate and correct information conforming to this standard.
(BZ#1512004)
The boost
package is now independent of Python
With this update, installing the boost
package no longer installs the Boost.Python
library as a dependency. In order to use Boost.Python
, you need to explicitly install the boost-python3
or boost-python3-devel
packages.
(BZ#1616244)
A new compat-libgfortran-48
package available
For compatibility with Red Hat Enterprise Linux 6 and 7 applications using the Fortran library, a new compat-libgfortran-48
compatibility package is now available, which provides the libgfortran.so.3
library.
(BZ#1607227)
Retpoline support in GCC
This update adds support for retpolines to GCC. A retpoline is a software construct used by the kernel to reduce overhead of mitigating Spectre Variant 2 attacks described in CVE-2017-5715.
(BZ#1535774)
Enhanced support for the 64-bit ARM architecture in toolchain components
Toolchain components, GCC
and binutils
, now provide extended support for the 64-bit ARM architecture. For example:
GCC
andbinutils
now support Scalable Vector Extension (SVE).- Support for the
FP16
data type, provided by ARM v8.2, has been added toGCC
. TheFP16
data type improves performance of certain algorithms. - Tools from
binutils
now support the ARM v8.3 architecture definition, including Pointer Authentication. The Pointer Authentication feature prevents malicious code from corrupting the normal execution of a program or the kernel by crafting their own function pointers. As a result, only trusted addresses are used when branching to different places in the code, which improves security.
(BZ#1504980, BZ#1550501, BZ#1504995, BZ#1504993, BZ#1504994)
Optimizations to glibc
for IBM POWER systems
This update provides a new version of glibc
that is optimized for both IBM POWER 8 and IBM POWER 9 architectures. As a result, IBM POWER 8 and IBM POWER 9 systems now automatically switch to the appropriate, optimized glibc
variant at run time.
(BZ#1376834)
GNU C Library updated to version 2.28
Red Hat Enterprise Linux 8 includes version 2.28 of the GNU C Library (glibc). Notable improvements include:
Security hardening features:
- Secure binary files marked with the
AT_SECURE
flag ignore theLD_LIBRARY_PATH
environment variable. - Backtraces are no longer printed for stack checking failures to speed up shutdown and avoid running more code in a compromised environment.
- Secure binary files marked with the
Performance improvements:
- Performance of the
malloc()
function has been improved with a thread local cache. - Addition of the
GLIBC_TUNABLES
environment variable to alter library performance characteristics. - Implementation of thread semaphores has been improved and new scalable
pthread_rwlock_xxx()
functions have been added. - Performance of the math library has been improved.
- Performance of the
- Support for Unicode 11.0.0 has been added.
- Improved support for 128-bit floating point numbers as defined by the ISO/IEC/IEEE 60559:2011, IEEE 754-2008, and ISO/IEC TS 18661-3:2015 standards has been added.
Domain Name Service (DNS) stub resolver improvements related to the
/etc/resolv.conf
configuration file:- Configuration is automatically reloaded when the file is changed.
- Support for an arbitrary number of search domains has been added.
- Proper random selection for the
rotate
option has been added.
New features for development have been added, including:
- Linux wrapper functions for the
preadv2
andpwritev2
kernel calls - New functions including
reallocarray()
andexplicit_bzero()
- New flags for the
posix_spawnattr_setflags()
function such asPOSIX_SPAWN_SETSID
- Linux wrapper functions for the
(BZ#1512010, BZ#1504125, BZ#506398)
CMake available in RHEL
The CMake build system version 3.11 is available in Red Hat Enterprise Linux 8 as the cmake
package.
(BZ#1590139, BZ#1502802)
make
version 4.2.1
Red Hat Enterprise Linux 8 is distributed with the make
build tool version 4.2.1. Notable changes include:
- When a recipe fails, the name of the makefile and line number of the recipe are shown.
- The
--trace
option has been added to enable tracing of targets. When this option is used, every recipe is printed before invocation even if it would be suppressed, together with the file name and line number where this recipe is located, and also with the prerequisites causing it to be invoked. - Mixing explicit and implicit rules no longer cause
make
to terminate execution. Instead, a warning is printed. Note that this syntax is deprecated and may be completely removed in the future. - The
$(file …)
function has been added to write text to a file. When called without a text argument, it only opens and immediately closes the file. - A new option,
--output-sync
or-O
, causes an output from multiple jobs to be grouped per job and enables easier debugging of parallel builds. - The
--debug
option now accepts also then
(none) flag to disable all currently enabled debugging settings. The
!=
shell assignment operator has been added as an alternative to the$(shell …)
function to increase compatibility with BSD makefiles. For more details and differences between the operator and the function, see the GNU make manual.Note that as a consequence, variables with a name ending in exclamation mark and immediately followed by assignment, such as
variable!=value
, are now interpreted as the new syntax. To restore the previous behavior, add a space after the exclamation mark, such asvariable! =value
.- The
::=
assignment operator defined by the POSIX standard has been added. - When the
.POSIX
variable is specified,make
observes the POSIX standard requirements for handling backslash and new line. In this mode, any trailing space before the backslash is preserved, and each backslash followed by a new line and white space characters is converted to a single space character. - Behavior of the
MAKEFLAGS
andMFLAGS
variables is now more precisely defined. - A new variable,
GNUMAKEFLAGS
, is parsed formake
flags identically toMAKEFLAGS
. As a consequence, GNUmake
-specific flags can be stored outsideMAKEFLAGS
and portability of makefiles is increased. - A new variable,
MAKE_HOST
, containing the host architecture has been added. - The new variables,
MAKE_TERMOUT
andMAKE_TERMERR
, indicate whethermake
is writing standard output and error to a terminal. - Setting the
-r
and-R
options in theMAKEFLAGS
variable inside a makefile now works correctly and removes all built-in rules and variables, respectively. - The
.RECIPEPREFIX
setting is now remembered per recipe. Additionally, variables expanded in that recipe also use that recipe prefix setting. - The
.RECIPEPREFIX
setting and all target-specific variables are displayed in the output of the-p
option as if in a makefile, instead of as comments.
(BZ#1641015)
SystemTap version 4.0
Red Hat Enterprise Linux 8 is distributed with the SystemTap instrumentation tool version 4.0. Notable improvements include:
- The extended Berkeley Packet Filter (eBPF) backend has been improved, especially strings and functions. To use this backend, start SystemTap with the
--runtime=bpf
option. - A new export network service for use with the Prometheus monitoring system has been added.
- The system call probing implementation has been improved to use the kernel tracepoints if necessary.
(BZ#1641032)
Improvements in binutils
version 2.30
Red Hat Enterprise Linux 8 includes version 2.30 of the binutils
package. Notable improvements include:
- Support for new IBM Z architecture extensions has been improved.
Linkers:
- The linker now puts code and read-only data into separate segments by default. As a result, the created executable files are bigger and more safe to run, because the dynamic loader can disable execution of any memory page containing read-only data.
- Support for GNU Property notes which provide hints to the dynamic loader about the binary file has been added.
- Previously, the linker generated invalid executable code for the Intel Indirect Branch Tracking (IBT) technology. As a consequence, the generated executable files could not start. This bug has been fixed.
- Previously, the
gold
linker merged property notes improperly. As a consequence, wrong hardware features could be enabled in the generated code, and the code could terminate unexpectedly. This bug has been fixed. - Previously, the
gold
linker created note sections with padding bytes at the end to achieve alignment according to architecture. Because the dynamic loader did not expect the padding, it coud terminate unexpectedly the program it was loading. This bug has been fixed.
Other tools:
- The
readelf
andobjdump
tools now have options to follow links into separate debug information files and display information in them, too. - The new
--inlines
option extends the existing--line-numbers
option of theobjdump
tool to display nesting information for inlined functions. - The
nm
tool gained a new option--with-version-strings
to display version information of a symbol after its name, if present. - Support for the ARMv8-R architecture and Cortex-R52, Cortex-M23, and Cortex-M33 processors has been added to the assembler.
(BZ#1641004, BZ#1637072, BZ#1501420, BZ#1504114, BZ#1614908, BZ#1614920)
Performance Co-Pilot version 4.3.0
Red Hat Enterprise Linux 8 is distributed with Performance Co-Pilot (PCP) version 4.3.0. Notable improvements include:
- The
pcp-dstat
tool now includes historical analysis and Comma-separated Values (CSV) format output. - The log utilities can use metric labels and help text records.
- The
pmdaperfevent
tool now reports the correct CPU numbers at the lower Simultaneous Multi Threading (SMT) levels. - The
pmdapostgresql
tool now supports Postgres series 10.x. - The
pmdaredis
tool now supports Redis series 5.x. - The
pmdabcc
tool has been enhanced with dynamic process filtering and per-process syscalls, ucalls, and ustat. - The
pmdammv
tool now exports metric labels, and the format version is increased to 3. - The
pmdagfs2
tool supports additional glock and glock holder metrics. - Several fixes have been made to the SELinux policy.
(BZ#1641034)
Memory Protection Keys
This update enables hardware features which allow per-thread page protection flag changes. The new glibc
system call wrappers have been added for the pkey_alloc()
, pkey_free()
, and pkey_mprotect()
functions. In addition, the pkey_set()
and pkey_get()
functions have been added to allow access to the per-thread protection flags.
(BZ#1304448)
GCC now defaults to z13 on IBM Z
With this update, by default GCC on the IBM Z architecture builds code for the z13 processor, and the code is tuned for the z14 processor. This is equivalent to using the -march=z13
and -mtune=z14
options. Users can override this default by explicitly using options for target architecture and tuning.
(BZ#1571124)
elfutils
updated to version 0.174
In Red Hat Enterprise Linux 8, the elfutils package is available in version 0.174. Notable changes include:
- Previously, the
eu-readelf
tool could show a variable with a negative value as if it had a large unsigned value, or show a large unsigned value as a negative value. This has been corrected andeu-readelf
now looks up the size and signedness of constant value types to display them correctly. - A new function
dwarf_next_lines()
for reading.debug_line
data lacking CU has been added to the libdw library. This function can be used as alternative to thedwarf_getsrclines()
anddwarf_getsrcfiles()
functions. - Previously, files with more than 65280 sections could cause errors in the libelf and libdw libraries and all tools using them. This bug has been fixed. As a result, extended
shnum
andshstrndx
values in ELF file headers are handled correctly.
(BZ#1641007)
Valgrind updated to version 3.14
Red Hat Enterprise Linux 8 is distributed with the Valgrind executable code analysis tool version 3.14. Notable changes include:
- A new
--keep-debuginfo
option has been added to enable retention of debug info for unloaded code. As a result, saved stack traces can include file and line information for code that is no longer present in memory. - Suppressions based on source file name and line number have been added.
- The
Helgrind
tool has been extended with an option--delta-stacktrace
to specify computation of full history stack traces. Notably, using this option together with--history-level=full
can improveHelgrind
performance by up to 25%. - False positive rate in the
Memcheck
tool for optimised code on the Intel and AMD 64-bit arcitectures and the ARM 64-bit architecture has been reduced. Note that you can use the--expensive-definedness-checks
to control handling of definedness checks and improve the rate at the expense of performance. - Valgrind can now recognize more instructions of the little-endian variant of IBM Power Systems.
- Valgrind can now process most of the integer and string vector instructions of the IBM Z architecture z13 processor.
For more information about the new options and their known limitations, see the valgrind(1)
manual page.
(BZ#1641029, BZ#1501419)
GDB version 8.2
Red Hat Enterprise Linux 8 is distributed with the GDB debugger version 8.2 Notable changes include:
- The IPv6 protocol is supported for remote debugging with GDB and
gdbserver
. - Debugging without debug information has been improved.
- Symbol completion in the GDB user interface has been improved to offer better suggestions by using more syntactic constructions such as ABI tags or namespaces.
- Commands can now be executed in the background.
- Debugging programs created in the Rust programming language is now possible.
- Debugging C and C++ languages has been improved with parser support for the
_Alignof
andalignof
operators, C++ rvalue references, and C99 variable-length automatic arrays. - GDB extension scripts can now use the Guile scripting language.
- The Python scripting language interface for extensions has been improved with new API functions, frame decorators, filters, and unwinders. Additionally, scripts in the
.debug_gdb_scripts
section of GDB configuration are loaded automatically. - GDB now uses Python version 3 to run its scripts, including pretty printers, frame decorators, filters, and unwinders.
- The ARM and 64-bit ARM architectures have been improved with process execution record and replay, including Thumb 32-bit and system call instructions.
- GDB now supports the Scalable Vector Extension (SVE) on the 64-bit ARM architecture.
- Support for Intel PKU register and Intel Processor Trace has been added.
- Record and replay functionality has been extended to include the
rdrand
andrdseed
instructions on Intel based systems. - Functionality of GDB on the IBM Z architecture has been extended with support for tracepoints and fast tracepoints, vector registers and ABI, and the
Catch
system call. Additionally, GDB now supports more recent instructions of the architecture. - GDB can now use the SystemTap static user space probes (SDT) on the 64-bit ARM architecture.
(BZ#1641022, BZ#1497096, BZ#1505346, BZ#1592332, BZ#1550502)
glibc
localization for RHEL is distributed in multiple packages
In RHEL 8, glibc
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, in most cases not all locales are installed by default, only these selected in the installer. Users must install all further locale packages that they need separately, or if they wish they can install glibc-all-langpacks
to get the locales archive containing all the glibc
locales installed as before.
For more information about using langpacks, see Installing and using langpacks.
(BZ#1512009)
GCC version 8.2
In Red Hat Enterprise Linux 8, the GCC toolchain is based on the GCC 8.2 release series. Notable changes 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 and Undefined Behavior Sanitizer have 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.
- New warnings and improved diagnostics have been added for static detection of more programming errors.
- GCC has been extended to provide tools to ensure additional hardening of the generated code. Improvements related to security include built-ins for overflow checking, additional protection against stack clash, checking target addresses of control-flow instructions, warnings for bounded string manipulation functions, and warnings to detect out-of-bounds array indices.
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.
- Support for the z13 and z14 processors of the IBM Z architecture has been added.
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.
- Support for the C language standard C11 has been improved.
- The new
__auto_type
GNU C extension provides a subset of the functionality of C++11auto
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. - 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.
- 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.
(JIRA:RHELPLAN-7437, BZ#1512593, BZ#1512378)
The Go cryptographic library FIPS mode now honors system settings
Previously, the Go standard cryptographic library always used its FIPS mode unless it was explicitly disabled at build time of the application using the library. As a consequence, users of Go-based applications could not control whether the FIPS mode was used. With this change, the library does not default to FIPS mode when the system is not configured in FIPS mode. As a result, users of Go-based applications on RHEL systems have more control over the use of the FIPS mode of the Go cryptographic library.
(BZ#1633351)
strace
updated to version 4.24
Red Hat Enterprise Linux 8 is distributed with the strace
tool version 4.24. Notable changes include:
- System call tampering features have been added with the
-e inject=
option. This includes injection of errors, return values, delays, and signals. System call qualification syntax has been improved:
- The
-e trace=/regex
option has been added to filter system calls with regular expressions. - Prepending a question mark to a system call qualification in the
-e trace=
option letsstrace
continue, even if the qualification does not match any system call. - Personality designation has been added to system call qualifications in the
-e trace
option.
- The
- Decoding of
kvm vcpu
exit reason has been added. To do so, use the-e kvm=vcpu
option. - The
libdw
library fromelfutils
is now used for stack unwinding when the-k
option is used. Additionally, symbol demangling is performed using thelibiberty
library. - Previously, the
-r
option causedstrace
to ignore the-t
option. This has been fixed, and the two options are now independent. - The
-A
option has been added for opening output files in append mode. - The
-X
option has been added for configuringxlat
output formatting. - Decoding of socket addresses with the
-yy
option has been improved. Additionally, block and character device number printing in-yy
mode has been added. - It is now possible to trace both 64-bit and 32-bit binaries with a single
strace
tool on the IBM Z architecture. As a consequence, the separatestrace32
package no longer exists in RHEL 8.
Additionally, decoding of the following items has been added, improved or updated:
netlink
protocols, messages and attributesarch_prctl
,bpf
,getsockopt
,io_pgetevent
,keyctl
,prctl
,pkey_alloc
,pkey_free
,pkey_mprotect
,ptrace
,rseq
,setsockopt
,socket
,statx
and other system calls- Multiple commands for the
ioctl
system call - Constants of various types
- Path tracing for
execveat
,inotify_add_watch
,inotify_init
,select
,symlink
,symlinkat
system calls andmmap
system calls with indirect arguments - Lists of signal codes
(BZ#1641014)
Compiler toolsets in RHEL 8
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
, thecargo
build tool and dependency manager, thecargo-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.
(BZ#1695698, BZ#1613515, BZ#1613516, BZ#1613518)
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.
(BZ#1699535)
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.
(BZ#1704867)
Support for Data Integrity Field/Data Integrity Extension (DIF/DIX)
DIF/DIX is supported on configurations where the hardware vendor has qualified it and provides full support for the particular host bus adapter (HBA) and storage array configuration on RHEL.
DIF/DIX is not supported on the following configurations:
- It is not supported for use on the boot device.
- It is not supported on virtualized guests.
- Red Hat does not support using the Automatic Storage Management library (ASMLib) when DIF/DIX is enabled.
DIF/DIX is enabled or disabled at the storage device, which involves various layers up to (and including) the application. The method for activating the DIF on storage devices is device-dependent.
For further information on the DIF/DIX feature, see What is DIF/DIX.
(BZ#1649493)
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:
Red Hat Enterprise Linux 7 can mount XFS file systems with shared copy-on-write data extents only in the read-only mode.
(BZ#1494028)
Maximum XFS file system size is 1024 TiB
The maximum supported size of an XFS file system has been increased from 500 TiB to 1024 TiB.
File systems larger than 500 TiB require that:
- the metadata CRC feature and the free inode btree feature are both enabled in the file system format, and
- the allocation group size is at least 512 GiB.
In RHEL 8, the mkfs.xfs
utility creates file systems that meet these requirements by default.
Growing a smaller file system that does not meet these requirements to a new size greater than 500 TiB is not supported.
(BZ#1563617)
ext4
file system now supports metadata checksum
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.
(BZ#1695584)
VDO now supports all architectures
Virtual Data Optimizer (VDO) is now available on all of the architectures supported by RHEL 8.
For the list of supported architectures, see Chapter 2, Architectures.
(BZ#1534087)
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.
(BZ#1649582)
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.
(BZ#1564540)
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:To enable NVMe/FC in the
qla2xxx
driver, edit the/etc/modprobe.d/qla2xxx.conf
file and add the following option:
Additional restrictions:
- Multipath is not supported with NVMe/FC.
- NVMe clustering is not supported with NVMe/FC.
kdump
is not supported with NVMe/FC.- Booting from Storage Area Network (SAN) NVMe/FC is not supported.
(BZ#1649497)
New scan_lvs
configuration setting
A new lvm.conf
configuration file setting, scan_lvs
, has been added and set to 0 by default. The new default behavior stops LVM from looking for PVs that may exist on top of LVs; that is, it will not scan active LVs for more PVs. The default setting also prevents LVM from creating PVs on top of LVs.
Layering PVs on top of LVs can occur by way of VM images placed on top of LVs, in which case it is not safe for the host to access the PVs. Avoiding this unsafe access is the primary reason for the new default behavior. Also, in environments with many active LVs, the amount of device scanning done by LVM can be significantly decreased.
The previous behavior can be restored by changing this setting to 1.
(BZ#1676598)
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.
(BZ#1643294)
Installing and booting from NVDIMM devices is now supported
Prior to this update, Nonvolatile Dual Inline Memory Module (NVDIMM) devices in any mode were ignored by the installer.
With this update, kernel improvements to support NVDIMM devices provide improved system performance capabilities and enhanced file system access for write-intensive applications like database or analytic workloads, as well as reduced CPU overhead.
This update introduces support for:
- The use of NVDIMM devices for installation using the
nvdimm
Kickstart command and the GUI, making it possible to install and boot from NVDIMM devices in sector mode and reconfigure NVDIMM devices into sector mode during installation. - The extension of
Kickstart
scripts for Anaconda with commands for handling NVDIMM devices. - The ability of
grub2
,efibootmgr
, andefivar
system components to handle and boot from NVDIMM devices.
(BZ#1499442)
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
, andmarginal_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.
(BZ#1643550)
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 traditional schedulers, which were available in RHEL 7 and earlier versions, have been removed. RHEL 8 supports only multiqueue schedulers.
(BZ#1647612)
New pcs
commands to list available watchdog devices and test watchdog devices
In order to configure SBD with Pacemaker, a functioning watchdog device is required. This release supports the pcs stonith sbd watchdog list
command to list available watchdog devices on the local node, and the pcs stonith sbd watchdog test
command to test a watchdog device. For information on the sbd
command line tool, see the sbd
(8) man page.
(BZ#1578891)
The pcs
command now supports filtering resource failures by an operation and its interval
Pacemaker now tracks resource failures per a resource operation on top of a resource name, and a node. The pcs resource failcount show
command now allows filtering failures by a resource, node, operation, and interval. It provides an option to display failures aggregated per a resource and node or detailed per a resource, node, operation, and its interval. Additionally, the pcs resource cleanup
command now allows filtering failures by a resource, node, operation, and interval.
(BZ#1591308)
Timestamps enabled in corosync
log
The corosync
log did not previously contain timestamps, which made it difficult to relate it to logs from other nodes and daemons. With this release, timestamps are present in the corosync
log.
(BZ#1615420)
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 Corosync 3, knet
, and node names. Node names 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
andpcs cluster node add
commands, node addresses default to the node addresses specified in thepcs 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.
(BZ#1158816)
New pcs
commands
Red Hat Enterprise Linux 8 introduces the following new commands.
- RHEL 8 introduces a new command,
pcs cluster node add-guest remove-guest
, which replaces thepcs cluster remote-node add remove
command in RHEL 7. - RHEL 8 introduces a new command,
pcs quorum unblock
, which replaces thepcs cluster quorum unblock
command in RHEL 7. - The
pcs resource failcount reset
command has been removed as it duplicates the functionality of thepcs resource cleanup
command. RHEL 8 introduces new commands which replace the
pcs resource [show]
command in RHEL 7:- The
pcs resource [status]
command in RHEL 8 replaces thepcs resource [show]
command in RHEL 7. - The
pcs resource config
command in RHEL 8 replaces thepcs resource [show] --full
command in RHEL 7. - The
pcs resource config resource id
command in RHEL 8 replaces thepcs resource show resource id
command in RHEL 7.
- The
RHEL 8 introduces new commands which replace the
pcs stonith [show]
command in RHEL 7:- The
pcs stonith [status]
command in RHEL 8 replaces thepcs stonith [show]
command in RHEL 7. - The
pcs stonith config
command in RHEL 8 replaces thepcs stonith [show] --full
command in RHEL 7. - The
pcs stonith config resource id
command in RHEL 8 replaces thepcs stonith show resource id
command in RHEL 7.
- The
(BZ#1654280)
Pacemaker 2.0.0 in RHEL 8
The pacemaker
packages have been upgraded to the upstream version of Pacemaker 2.0.0, which provides a number of bug fixes and enhancements over the previous version:
- The Pacemaker detail log is now
/var/log/pacemaker/pacemaker.log
by default (not directly in/var/log
or combined with thecorosync
log under/var/log/cluster
). - The Pacemaker daemon processes have been renamed to make reading the logs more intuitive. For example,
pengine
has been renamed topacemaker-schedulerd
. - Support for the deprecated
default-resource-stickiness
andis-managed-default
cluster properties has been dropped. Theresource-stickiness
andis-managed
properties should be set in resource defaults instead. Existing configurations (though not newly created ones) with the deprecated syntax will automatically be updated to use the supported syntax. - For a more complete list of changes, see Pacemaker 2.0 upgrade in Red Hat Enterprise Linux 8.
It is recommended that users who are upgrading an existing cluster using Red Hat Enterprise Linux 7 or earlier, run pcs cluster cib-upgrade
on any cluster node before and after upgrading RHEL on all cluster nodes.
(BZ#1543494)
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 createpromotable
clone resources. Related keywords and commands have been changed frommaster
topromotable
. - 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.
(BZ#1542288)
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 andpcsd
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 onescorosync
uses internally. - The
pcs pcsd clear-auth
command has been replaced by thepcs pcsd deauth
andpcs 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. Thepcs 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.
(BZ#1549535)
The pcs
commands now support display, cleanup, and synchronization of fencing history
Pacemaker’s fence daemon tracks a history of all fence actions taken (pending, successful, and failed). With this release, the pcs
commands allow users to access the fencing history in the following ways:
- The
pcs status
command shows failed and pending fencing actions - The
pcs status --full
command shows the entire fencing history - The
pcs stonith history
command provides options to display and clean up fencing history - Although fencing history is synchronized automatically, the
pcs stonith history
command now supports anupdate
option that allows a user to manually synchronize fencing history should that be necessary
(BZ#1620190, BZ#1615891)
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
andIPv6
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 thenft
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:
For comparison, the following version information is printed if legacy iptables
tool is present:
(BZ#1644030)
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.
(BZ#1562998)
firewalld
uses nftables
by default
With this update, the nftables
filtering subsystem is the default firewall backend for the firewalld
daemon. To change the backend, use the FirewallBackend
option in the /etc/firewalld.conf
file.
This change introduces the following differences in behavior when using nftables
:
iptables
rule executions always occur beforefirewalld
rulesDROP
iniptables
means a packet is never seen byfirewalld
ACCEPT
iniptables
means a packet is still subject tofirewalld
rules
firewalld
direct rules are still implemented throughiptables
while otherfirewalld
features usenftables
- direct rule execution occurs before
firewalld
generic acceptance of established connections
(BZ#1509026)
Notable change in wpa_supplicant
in RHEL 8
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.
(BZ#1582538)
NetworkManager now supports SR-IOV virtual functions
In Red Hat Enterprise Linux 8.0, 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.
(BZ#1555013)
IPVLAN virtual network drivers are now supported
In Red Hat Enterprise Linux 8.0, the kernel includes support for IPVLAN virtual network drivers. With this update, IPVLAN virtual Network Interface Cards (NICs) enable the network connectivity for multiple containers exposing a single MAC address to the local network. This allows a single host to have a lot of containers overcoming the possible limitation on the number of MAC addresses supported by the peer networking equipment.
(BZ#1261167)
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.
(BZ#1555012)
Improvements in the networking stack 4.18
Red Hat Enterprise Linux 8.0 includes the networking stack upgraded to upstream version 4.18, which provides several bug fixes and enhancements. Notable changes include:
- Introduced new offload features, such as
UDP_GSO
, and, for some device drivers,GRO_HW
. - Improved significant scalability for the User Datagram Protocol (UDP).
- Improved the generic busy polling code.
- Improved scalability for the IPv6 protocol.
- Improved scalability for the routing code.
- Added a new default transmit queue scheduling algorithm,
fq_codel
, which improves a transmission delay. - Improved scalability for some transmit queue scheduling algorithms. For example,
pfifo_fast
is now lockless. - Improved scalability of the IP reassembly unit by removing the garbage collection kernel thread and ip fragments expire only on timeout. As a result, CPU usage under DoS is much lower, and the maximum sustainable fragments drop rate is limited by the amount of memory configured for the IP reassembly unit.
(BZ#1562987)
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:
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:
(BZ#1564596)
New features added to VPN using NetworkManager
In Red Hat Enterprise Linux 8.0, NetworkManager provides the following new features to VPN:
- Support for the Internet Key Exchange version 2 (IKEv2) protocol.
- Added some more Libreswan options, such as the
rightid
,leftcert
,narrowing
,rekey
,fragmentation
options. For more details on the supported options, see thenm-settings-libreswan
man page. - Updated the default ciphers. This means that when the user does not specify the ciphers, the NetworkManager-libreswan plugin allows the Libreswan application to choose the system default cipher. The only exception is when the user selects an IKEv1 aggressive mode configuration. In this case, the
ike = aes256-sha1;modp1536
andeps = aes256-sha1
values are passed to Libreswan.
(BZ#1557035)
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.
(BZ#1273139)
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.
(BZ#1335409)
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.
(BZ#1515987)
lksctp-tools
, version 1.0.18 in RHEL 8
The lksctp-tools
package, version 3.28 is available in Red Hat Enterprise Linux (RHEL) 8. Notable enhancements and bug fixes include:
- Integration with Travis CI and Coverity Scan
- Support for the
sctp_peeloff_flags
function - Indication of which kernel features are available
- Fixes on Coverity Scan issues
(BZ#1568622)
Blacklisting SCTP module by default in RHEL 8
To increase security, a set of kernel modules have been moved to the kernel-modules-extra
package. These are not installed by default. As a consequence, non-root users cannot load these components as they are blacklisted by default. To use one of these kernel modules, the system administrator must install kernel-modules-extra
and explicitly remove the module blacklist. As a result, non-root users will be able to load the software component automatically.
(BZ#1642795)
Notable changes in driverctl
0.101
Red Hat Enterprise Linux 8.0 is distributed with driverctl
0.101. This version includes the following bug fixes:
- The
shellcheck
warnings have been fixed. - The bash-completion is installed as
driverctl
instead ofdriverctl-bash-completion.sh
. - The
load_override
function for non-PCI buses has been fixed. - The
driverctl
service loads all overrides before it reaches thebasic.target
systemd target.
(BZ#1648411)
Added rich rules priorities to firewalld
The priority
option has been added to rich rules. This allows users to define the desirable priority order during the rule execution and provides more advanced control over rich rules.
(BZ#1648497)
NVMe over RDMA is supported in RHEL 8
In Red Hat Enterprise Linux (RHEL) 8, Nonvolatile Memory Express (NVMe) over Remote Direct Memory Access (RDMA) supports Infiniband, RoCEv2, and iWARP only in initiator mode.
Note that Multipath is supported in failover mode only.
Additional restrictions:
- Kdump is not supported with NVMe/RDMA.
- Booting from NVMe device over RDMA is not supported.
(BZ#1680177)
The nf_tables
back end does not support debugging using dmesg
Red Hat Enterprise Linux 8.0 uses the nf_tables
back end for firewalls that does not support debugging the firewall using the output of the dmesg
utility. To debug firewall rules, use the xtables-monitor -t
or nft monitor trace
commands to decode rule evaluation events.
(BZ#1645744)
Red Hat Enterprise Linux supports VRF
The kernel in RHEL 8.0 supports virtual routing and forwarding (VRF). VRF devices, combined with rules set using the ip
utility, enable administrators to create VRF domains in the Linux network stack. These domains isolate the traffic on layer 3 and, therefore, the administrator can create different routing tables and reuse the same IP addresses within different VRF domains on one host.
(BZ#1440031)
iproute
, version 4.18 in RHEL 8
The iproute
package is distributed with the version 4.18 in Red Hat Enterprise Linux (RHEL) 8. The most notable change is that the interface alias marked as ethX:Y, such as eth0:1, is no longer supported. To work around this problem, users should remove the alias suffix, which is the colon and the following number before entering ip link show
.
(BZ#1589317)
SWID tag of the RHEL 8.0 release
To enable identification of RHEL 8.0 installations using the ISO/IEC 19770-2:2015 mechanism, software identification (SWID) tags are installed in files /usr/lib/swidtag/redhat.com/com.redhat.RHEL-8-<architecture>.swidtag
and /usr/lib/swidtag/redhat.com/com.redhat.RHEL-8.0-<architecture>.swidtag
. The parent directory of these tags can also be found by following the /etc/swid/swidtags.d/redhat.com
symbolic link.
The XML signature of the SWID tag files can be verified using the xmlsec1 verify
command, for example:
The certificate of the code signing certification authority can also be obtained from the Product Signing Keys page on the Customer Portal.
(BZ#1636338)
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, and SSH protocols. 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.
(BZ#1591620)
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 tono
. - 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.
(BZ#1622511)
The automatic OpenSSH
server keys generation is now handled by sshd-keygen@.service
OpenSSH
creates RSA, ECDSA, and ED25519 server host keys automatically if they are missing. To configure the host key creation in RHEL 8, use the sshd-keygen@.service
instantiated service.
For example, to disable the automatic creation of the RSA key type:
See the /etc/sysconfig/sshd
file for more information.
(BZ#1228088)
ECDSA keys are supported for SSH authentication
This release of the OpenSSH
suite introduces support for ECDSA keys stored on PKCS #11 smart cards. As a result, users can now use both RSA and ECDSA keys for SSH authentication.
(BZ#1645038)
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 the client side of libssh
follows the configuration set for OpenSSH
through system-wide crypto policies, but the configuration of the server side cannot be changed through system-wide crypto policies.
(BZ#1485241)
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.
(BZ#1516728)
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.
(BZ#1489094)
PKCS #11 support for smart cards and HSMs is now consistent across the system
With this update, using smart cards and Hardware Security Modules (HSM) with PKCS #11 cryptographic token interface becomes consistent. This means that the user and the administrator can use the same syntax for all related tools in the system. Notable enhancements include:
- Support for the PKCS #11 Uniform Resource Identifier (URI) scheme that ensures a simplified enablement of tokens on RHEL servers both for administrators and application writers.
- A system-wide registration method for smart cards and HSMs using the
pkcs11.conf
. - Consistent support for HSMs and smart cards is available in NSS, GnuTLS, and OpenSSL (through the
openssl-pkcs11
engine) applications. - The Apache HTTP server (
httpd
) now seamlessly supports HSMs.
For more information, see the pkcs11.conf(5)
man page.
(BZ#1516741)
Firefox now works with system-wide registered PKCS #11 drivers
The Firefox web browser automatically loads the p11-kit-proxy
module and every smart card that is registered system-wide in p11-kit
through the pkcs11.conf
file is automatically detected. For using TLS client authentication, no additional setup is required and keys from a smart card are automatically used when a server requests them.
(BZ#1595638)
RSA-PSS is now supported in OpenSC
This update adds support for the RSA-PSS cryptographic signature scheme to the OpenSC
smart card driver. The new scheme enables a secure cryptographic algorithm required for the TLS 1.3 support in the client software.
(BZ#1595626)
Notable changes in Libreswan
in RHEL 8
The libreswan
packages have been upgraded to upstream version 3.27, which provides many bug fixes and enhancements over the previous versions. Most notable changes include:
- Support for RSA-PSS (RFC 7427) through
authby=rsa-sha2
, ECDSA (RFC 7427) throughauthby=ecdsa-sha2
, CURVE25519 using thedh31
keyword, and CHACHA20-POLY1305 for IKE and ESP through thechacha20_poly1305
encryption keyword has been added for the IKEv2 protocol. - Support for the alternative KLIPS kernel module has been removed from
Libreswan
, as upstream has deprecated KLIPS entirely. - The Diffie-Hellman groups DH22, DH23, and DH24 are no longer supported (as per RFC 8247).
Note that the authby=rsasig
has been changed to always use the RSA v1.5 method, and the authby=rsa-sha2
option uses the RSASSA-PSS method. The authby=rsa-sha1
option is not valid as per RFC 8247. That is the reason Libreswan
no longer supports SHA-1 with digital signatures.
(BZ#1566574)
System-wide cryptographic policies change the default IKE version in Libreswan to IKEv2
The default IKE version in the Libreswan IPsec implementation has been changed from IKEv1 (RFC 2409) to IKEv2 (RFC 7296). The default IKE and ESP/AH algorithms for use with IPsec have been updated to comply with system-wide crypto policies, RFC 8221, and RFC 8247. Encryption key sizes of 256 bits are now preferred over key sizes of 128 bits.
The default IKE and ESP/AH ciphers now include AES-GCM, CHACHA20POLY1305, and AES-CBC for encryption. For integrity checking, they provide AEAD and SHA-2. The Diffie-Hellman groups now contain DH19, DH20, DH21, DH14, DH15, DH16, and DH18.
The following algorithms have been removed from the default IKE and ESP/AH policies: AES_CTR, 3DES, SHA1, DH2, DH5, DH22, DH23, and DH24. With the exceptions of DH22, DH23, and DH24, these algorithms can be enabled by the ike=
or phase2alg=/esp=/ah=
option in IPsec configuration files.
To configure IPsec VPN connections that still require the IKEv1 protocol, add the ikev2=no
option to connection configuration files. See the ipsec.conf(5)
man page for more information.
(BZ#1645606)
IKE version-related changes in Libreswan
With this enhancement, Libreswan handles internet key exchange (IKE) settings differently:
- The default internet key exchange (IKE) version has been changed from 1 to 2.
- Connections can now either use the IKEv1 or IKEv2 protocol, but not both.
The interpretation of the
ikev2
option has been changed:- The values
insist
is interpreted as IKEv2-only. - The values
no
andnever
are interpreted as IKEv1-only. - The values
propose
,yes
and,permit
are no longer valid and result in an error, because it was not clear which IKE versions resulted from these values
- The values
(BZ#1648776)
New features in OpenSCAP
in RHEL 8
The OpenSCAP
suite has been upgraded to upstream version 1.3.0, which introduces many enhancements over the previous versions. The most notable features include:
- API and ABI have been consolidated - updated, deprecated and/or unused symbols have been removed.
- The probes are not run as independent processes, but as threads within the
oscap
process. - The command-line interface has been updated.
Python 2
bindings have been replaced withPython 3
bindings.
(BZ#1614273)
SCAP Security Guide
now supports system-wide cryptographic policies
The scap-security-guide
packages have been updated to use predefined system-wide cryptographic policies for configuring the core cryptographic subsystems. The security content that conflicted with or overrode the system-wide cryptographic policies has been removed.
Note that this change applies only on the security content in scap-security-guide
, and you do not need to update the OpenSCAP scanner or other SCAP components.
(BZ#1618505)
OpenSCAP command-line interface has been improved
The verbose mode is now available in all oscap
modules and submodules. The tool output has improved formatting.
Deprecated options have been removed to improve the usability of the command-line interface.
The following options are no longer available:
--show
inoscap xccdf generate report
has been completely removed.--probe-root
inoscap oval eval
has been removed. It can be replaced by setting the environment variable,OSCAP_PROBE_ROOT
.--sce-results
inoscap xccdf eval
has been replaced by--check-engine-results
validate-xml
submodule has been dropped from CPE, OVAL, and XCCDF modules.validate
submodules can be used instead to validate SCAP content against XML schemas and XSD schematrons.oscap oval list-probes
command has been removed, the list of available probes can be displayed usingoscap --version
instead.
OpenSCAP allows to evaluate all rules in a given XCCDF benchmark regardless of the profile by using --profile '(all)'
.
(BZ#1618484)
SCAP Security Guide PCI-DSS profile aligns with version 3.2.1
The scap-security-guide
packages provide the PCI-DSS (Payment Card Industry Data Security Standard) profile for Red Hat Enterprise Linux 8 and this profile has been updated to align with the latest PCI-DSS version - 3.2.1.
(BZ#1618528)
SCAP Security Guide supports OSPP 4.2
The scap-security-guide
packages provide a draft of the OSPP (Protection Profile for General Purpose Operating Systems) profile version 4.2 for Red Hat Enterprise Linux 8. This profile reflects mandatory configuration controls identified in the NIAP Configuration Annex to the Protection Profile for General Purpose Operating Systems (Protection Profile Version 4.2). SCAP Security Guide provides automated checks and scripts that help users to meet requirements defined in the OSPP.
(BZ#1618518)
Notable changes in rsyslog
in RHEL 8
The rsyslog
packages have been upgraded to upstream version 8.37.0, which provides many bug fixes and enhancements over the previous versions. Most notable changes include:
- Enhanced processing of rsyslog internal messages; possibility of rate-limiting them; fixed possible deadlock.
- Enhanced rate-limiting in general; the actual spam source is now logged.
- Improved handling of oversized messages - the user can now set how to treat them both in the core and in certain modules with separate actions.
mmnormalize
rule bases can now be embedded in theconfig
file instead of creating separate files for them.- All
config
variables, including variables in JSON, are now case-insensitive. - Various improvements of PostgreSQL output.
- Added a possibility to use shell variables to control
config
processing, such as conditional loading of additional configuration files, executing statements, or including a text inconfig
. Note that an excessive use of this feature can make it very hard to debug problems with rsyslog. - 4-digit file creation modes can be now specified in
config
. - Reliable Event Logging Protocol (RELP) input can now bind also only on a specified address.
- The default value of the
enable.body
option of mail output is now aligned to documentation - The user can now specify insertion error codes that should be ignored in MongoDB output.
- Parallel TCP (pTCP) input has now the configurable backlog for better load-balancing.
- To avoid duplicate records that might appear when
journald
rotated its files, theimjournal
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.
(BZ#1613880)
New rsyslog module: omkafka
To enable kafka centralized data storage scenarios, you can now forward logs to the kafka infrastructure using the new omkafka
module.
(BZ#1542497)
rsyslogimfile
now supports symlinks
With this update, the rsyslogimfile
module delivers better performance and more configuration options. This allows you to use the module for more complicated file monitoring use cases. For example, you can now use file monitors with glob patterns anywhere along the configured path and rotate symlink targets with increased data throughput.
(BZ#1614179)
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.
(BZ#1619645)
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.
(BZ#1616428)
tangd_port_t
allows changes of the default port for Tang
This update introduces the tangd_port_t
SELinux type that allows the tangd
service run as confined with SELinux enforcing mode. That change helps to simplify configuring a Tang server to listen on a user-defined port and it also preserves the security level provided by SELinux in enforcing mode.
See the Configuring automated unlocking of encrypted volumes using policy-based decryption section for more information.
(BZ#1664345)
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:
(JIRA:RHELPLAN-10347)
SELinux now supports systemdNo New Privileges
This update introduces the nnp_nosuid_transition
policy capability that enables SELinux domain transitions under No New Privileges
(NNP) or nosuid
if nnp_nosuid_transition
is allowed between the old and new contexts. The selinux-policy
packages now contain a policy for systemd services that use the NNP
security feature.
The following rule describes allowing this capability for a service:
For example:
The distribution policy now also contains an m4 macro interface, which can be used in SELinux security policies for services that use the init_nnp_daemon_domain()
function.
(BZ#1594111)
Support for a new map permission check on the mmap
syscall
The SELinux map
permission has been added to control memory mapped access to files, directories, sockets, and so on. This allows the SELinux policy to prevent direct memory access to various file system objects and ensure that every such access is revalidated.
(BZ#1592244)
Idm Serial Keygen
SELinux now supports getrlimit
permission in the process
class
This update introduces a new SELinux access control check, process:getrlimit
, which has been added for the prlimit()
function. This enables SELinux policy developers to control when one process attempts to read and then modify the resource limits of another process using the process:setrlimit
permission. Note that SELinux does not restrict a process from manipulating its own resource limits through prlimit()
. See the prlimit(2)
and getrlimit(2)
man pages for more information.
(BZ#1549772)
selinux-policy
now supports VxFS labels
This update introduces support for Veritas File System (VxFS) security extended attributes (xattrs). This enables to store proper SELinux labels with objects on the file system instead of the generic vxfs_t type. As a result, systems with VxFS with full support for SELinux are more secure.
(BZ#1483904)
Compile-time security hardening flags are applied more consistently
Compile-time security hardening flags are applied more consistently on RPM packages in the RHEL 8 distribution, and the redhat-rpm-config
package now automatically provides security hardening flags. The applied compile-time flags also help to meet Common Criteria (CC) requirements. The following security hardening flags are applied:
- For detection of buffer-overflow errors:
D_FORTIFY_SOURCE=2
- Standard library hardening that checks for C++ arrays, vectors, and strings:
D_GLIBCXX_ASSERTIONS
- For Stack Smashing Protector (SSP):
fstack-protector-strong
- For exception hardening:
fexceptions
- For Control-Flow Integrity (CFI):
fcf-protection=full
(only on AMD and Intel 64-bit architectures) - For Address Space Layout Randomization (ASLR):
fPIE
(for executables) orfPIC
(for libraries) - For protection against the Stack Clash vulnerability:
fstack-clash-protection
(except ARM) - Link flags to resolve all symbols on startup:
-Wl
,-z,now
See the gcc(1)
man page for more information.
(JIRA:RHELPLAN-2306)
qemu-kvm
2.12 in RHEL 8
Red Hat Enterprise Linux 8 is distributed with qemu-kvm
2.12. This version fixes multiple bugs and adds a number of enhancements over the version 1.5.3, available in Red Hat Enterprise Linux 7.
Notably, the following features have been introduced:
- Q35 guest machine type
- UEFI guest boot
- NUMA tuning and pinning in the guest
- vCPU hot plug and hot unplug
- guest I/O threading
Note that some of the features available in qemu-kvm
2.12 are not supported on Red Hat Enterprise Linux 8. For detailed information, see 'Feature support and limitations in RHEL 8 virtualization' on the Red Hat Customer Portal.
(BZ#1559240)
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.
Also note that the previously default PC machine type has become deprecated and should only be used when virtualizing older operating systems that do not support Q35.
(BZ#1599777)
KVM supports UMIP in RHEL 8
KVM virtualization now supports the User-Mode Instruction Prevention (UMIP) feature, which can help prevent user-space applications from accessing to system-wide settings. This reduces the potential vectors for privilege escalation attacks, and thus makes the KVM hypervisor and its guest machines more secure.
(BZ#1494651)
Additional information in KVM guest crash reports
The crash information that KVM hypervisor generates if a guest terminates unexpectedly or becomes unresponsive has been expanded. This makes it easier to diagnose and fix problems in KVM virtualization deployments.
(BZ#1508139)
NVIDIA vGPU is now compatible with the VNC console
When using the NVIDIA virtual GPU (vGPU) feature, it is now possible to use the VNC console to display the visual output of the guest.
(BZ#1497911)
Ceph is supported by virtualization
With this update, Ceph storage is supported by KVM virtualization on all CPU architectures supported by Red Hat.
(BZ#1578855)
Interactive boot loader for KVM virtual machines on IBM Z
When booting a KVM virtual machine on an IBM Z host, the QEMU boot loader firmware can now present an interactive console interface of the guest OS. This makes it possible to troubleshoot guest OS boot problems without access to the host environment.
(BZ#1508137)
IBM z14 ZR1 supported in virtual machines
The KVM hypervisor now supports the CPU model of the IBM z14 ZR1 server. This enables using the features of this CPU in KVM virtual machines that run on an IBM Z system.
(BZ#1592337)
KVM supports Telnet 3270 on IBM Z
When using RHEL 8 as a host on an IBM Z system, it is now possible to connect to virtual machines on the host using Telnet 3270 clients.
(BZ#1570029)
QEMU sandboxing has been added
In Red Hat Enterprise Linux 8, the QEMU emulator introduces the sandboxing feature. QEMU sandboxing provides configurable limitations to what systems calls QEMU can perform, and thus makes virtual machines more secure. Note that this feature is enabled and configured by default.
(JIRA:RHELPLAN-10628)
New machine types for KVM virtual machines on IBM POWER
Multiple new rhel-pseries machine types have been enabled for KVM hypervisors running on IBM POWER 8 and IBM POWER 9 systems. This makes it possible for virtual machines (VMs) hosted on RHEL 8 on an IBM POWER system to correctly use the CPU features of these machine types. In addition, this allows for migrating VMs on IBM POWER to a more recent version of the KVM hypervisor.
(BZ#1585651, BZ#1595501)
ARM 64 systems now support virtual machines with up to 384 vCPUs
When using the KVM hypervisor on an ARM 64 system, it is now possible to assign up to 384 virtual CPUs (vCPUs) to a single virtual machine (VM).
Note that the number of physical CPUs on the host must be equal to or greater than the number of vCPUs attached to its VMs, because RHEL 8 does not support vCPU overcommitting.
(BZ#1422268)
GFNI and CLDEMOT instruction sets enabled for Intel Xeon SnowRidge
Virtual machines (VMs) running in a RHEL 8 host on an Intel Xeon SnowRidge system are now able to use the GFNI and CLDEMOT instruction sets. This may significantly increase the performance of such VMs in certain scenarios.
(BZ#1494705)
IPv6 enabled for OVMF
The IPv6 protocol is now enabled on Open Virtual Machine Firmware (OVMF). This makes it possible for virtual machines that use OVMF to take advantage of a variety of network boot improvements that IPv6 provides.
(BZ#1536627)
A VFIO-based block driver for NVMe devices has been added
The QEMU emulator introduces a driver based on virtual function I/O (VFIO) for Non-volatile Memory Express (NVMe) devices. The driver communicates directly with NVMe devices attached to virtual machines (VMs) and avoids using the kernel system layer and its NVMe drivers. As a result, this enhances the performance of NVMe devices in virtual machines.
(BZ#1519004)
Multichannel support for the Hyper-V Generic UIO driver
RHEL 8 now supports the multichannel feature for the Hyper-V Generic userspace I/O (UIO) driver. This makes it possible for RHEL 8 VMs running on the Hyper-V hypervisor to use the Data Plane Development Kit (DPDK) Netvsc Poll Mode driver (PMD), which enhances the networking capabilities of these VMs.
Note, however, that the Netvsc interface status currently displays as Down even when it is running and usable.
(BZ#1650149)
Improved huge page support
When using RHEL 8 as a virtualization host, users can modify the size of pages that back memory of a virtual machine (VM) to any size that is supported by the CPU. This can significantly improve the performance of the VM.
To configure the size of VM memory pages, edit the VM’s XML configuration and add the <hugepages> element to the <memoryBacking> section.
(JIRA:RHELPLAN-14607)
sosreport can report eBPF-based programs and maps
The sosreport tool has been enhanced to report any loaded extended Berkeley Packet Filtering (eBPF) programs and maps in Red Hat Enterprise Linux 8.
(BZ#1559836)