2 New Features and Changes
Unless indicated otherwise, the following new features, major enhancements, bug fixes, and other changes that are introduced in this release of Oracle Linux 9 apply to both the x86_64 and 64-bit Arm (aarch64) platforms.
Operating System and Software Management
The following features, enhancements, and changes related to the OS and software management are introduced in this Oracle Linux 9 release.
DNF-automatic reboot Option
Use DNF-automatic reboot option after performing an upgrade to
automatically reboot the system and apply changes.
[commands]
section of /etc/dnf/automatic.conf to include a
reboot entry, for example:
reboot = [never , when-changed, when-needed]
where:
- never (default behavior) – The system is not rebooted following an upgrade.
- when-changed –The system is automatically rebooted following any upgrade changes.
- when-needed – The system is only automatically rebooted following
upgrade changes to
systemdor thekernel.
You can also include a reboot_command entry to customize the reboot
behavior. For example, to skip the 5 minute delay following an upgrade, you can specify the
shutdown - r
reboot_command = shutdown -r
DNF System-Upgrade Plugin reboot --poweroff Flag
Use the DNF system-upgrade plugin reboot --poweroff flag to shutdown the
system after installing updates, instead of rebooting.
dnf system-upgrade reboot --poweroff
DNF Plugins: leaves and show-leaves
leaves and show-leaves plugins help you
identify packages installed on the system that aren't dependencies of other packages. For
example, use:
dnf leaves– To list the installed packages that aren't required by any other installed packages.dnf show-leaves– To list newly installed leaf packages and packages that have become leaves after a transaction.
Infrastructure Services
The following features, enhancements, and changes related to infrastructure services are introduced in this Oracle Linux 9 release.
Postfix Can Handle SRV Lookups
DNS service records resolution (SRV) entries can be used by Postfix to automatically configure mail clients and balance server load. Furthermore, Postfix can handle temporary DNS issues and provides configurable options for fault-resilience in case of SRV record failures. You can configure SRV handling for Postfix by setting the following options in the Postfix server configuration:
-
use_srv_lookup=smtp
Enables discovery of the specified service by using DNS SRV records.
-
allow_srv_lookup_fallback= yes
Configures the service for SRV lookup fallback, so that Postfix falls back to using MX and IP address records in the case where an SRV entry lookup fails either because of misconfiguration or a missing entry, but continues to use SRV for the service.
-
ignore_srv_lookup_error=yes
Configures the service to stop using SRV when a lookup fails, and to switch to using MX or IP address records instead.
CUPS: Generic LF-to-CRLF Print Driver
A Generic LF-to-CRLF, lftocrlf, print driver is available for configuration
when using the Common UNIX Printing System (CUPS). This driver enables you to convert a line
ending with a Line Feed (LF) control character to a Carriage Return Line Feed (CRLF) control
character.
The lftocrlf print driver is a renamed version of the
text-only driver available in Oracle Linux 7, so that the name describes
its actual functionality.
Security
The following features, enhancements, and changes related to security are introduced in this Oracle Linux 9 release.
Keylime Updated to Version 7.3.0
Aside from security fixes, this updated version of Keylime includes the
convert_runtime_policy.py script that lets you combine
allow and exclude lists into the runtime policy.
crypto-policies Includes the NO-ENFORCE-EMS
Subpolicy for TLS 1.2 Connections in FIPS Mode
The NO-ENFORCE-EMS subpolicy is included in the system-wide cryptographic
policies. When this subpolicy is enforced, the system no longer requires the Extended Master
Secret (EMS) extension (RFC 7627) for all TLS 1.2 connections negotiated in FIPS mode. The
system can therefore connect with legacy systems that don't work with EMS or TLS 1.3. Note,
however, that applying the subpolicy would result in noncompliance with the requirements of
the FIPS-140-3 standard.
To apply the subpolicy, use the following command:
sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS
GnuTLS Requires EMS With TLS 1.2 in FIPS Mode
The FIPS-140-3 standard requires the Extended Master Secret (EMS) extension in GnuTLS servers and clients for all TLS 1.2 connections in FIPS mode.
If you need to preserve compatibility with older servers and clients that don't enforce EMS
and, at the same time, you can't use TLS 1.3, apply the NO-ENFORCE-EMS
subpolicy instead. Enter the following command:
sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS
WARNING:
Setting the subpolicy to accept TLS 1.2 connections without EMS renders the system incompliant with FIPS-140-3 requirements.
NSS Enforce EMS in FIPS Mode
The Network Security Services (NSS) libraries contain the TLS-REQUIRE-EMS
policy. This policy enforces the use of the Extended Master Secret (EMS) extension for all
TLS 1.2 connections as required by the FIPS 140-3 standard. NSS enforces the
TLS-REQUIRE-EMS policy when system-wide cryptographic policies are set to
FIPS.
If you need to work with older servers and clients that don't enforce EMS and, at
the same time, you can't use TLS 1.3, apply the NO-ENFORCE-EMS subpolicy
instead. Enter the following command:
sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS
However, applying the subpolicy would violate the requirements of the FIPS-140-3 standard.
EMS in FIPS Mode Can Be Disabled in OpenSSL
You can configure the OpenSSL cryptographic libraries so you can use TLS 1.2 connections without the Extended Master Secret (EMS) extension in FIPS mode. Do the following:
-
Edit the
/etc/pki/tls/fips_local.cnffile by adding the following section:[fips_sect] tls1-prf-ems-check = 0 activate = 1
-
Open the
/etc/pki/tls/openssl.cnfand navigate to the SSL configuration section whose section heading is[crypto_policy].At the end of the section, add the following line:
Options=RHNoEnforceEMSinFIPS
You can also stop enforcing EMS for TLS 1.2 in FIPS mode with the following command:
sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS
However, whether you use the previous steps or the single command, disabling EMS for TLS 1.2 in FIPS mode would violate the requirements of the FIPS-140-3 standard.
OpenSSH Enforces SHA-2
To improve the less secure SHA-1 algorithm, OpenSSH applies the following changes:
-
Checks
sshdstartup whether SHA-1 is configured. If it's unavailable, OpenSSH doesn't use SHA-1 for operations. Thus, DSS keys, if present, aren't loaded. Further, the advertising ofrsa-sha2combinations, when available, is enforced. -
On SSH private key conversion, OpenSSH explicitly uses SHA-2 for testing RSA keys.
-
The
sshddaemon uses SHA-2 to confirm host key proof if SHA-1 signatures are unavailable on the server side. However, this configuration might be incompatible with clients that use Oracle Linux 8 and earlier versions. -
The
sshddaemon also uses SHA-2 if SHA-1 signatures are unavailable on the client side. -
On the client side, OpenSSH accepts SHA-2-based key proofs from the server if SHA-1 is used in the key proof request or when the hash algorithm isn't specified and the default configuration is used. This behavior is aligned with the already present exception for RSA certificates, and lets connections be established by using modern algorithms.
OpenSSL Elliptic Curve Cryptography Works With Brainpool Curves
The following brainpool curves are enabled in OpenSSL Elliptic Curve Cryptography:
-
brainpoolP256r1 -
brainpoolP256t1 -
brainpoolP320r1 -
brainpoolP320t1 -
brainpoolP384r1 -
brainpoolP384t1 -
brainpoolP512r1 -
brainpoolP512t1
pcsc-lite-ccid Updated to 1.5.2
The updated pcsc-lite-ccid package provides various bug fixes and
enhancements such as the ability to work with new readers and a fix for Alcor Micro AU9560
card reader.
opensc Package Updated to 0.23
The updated opensc package provides various bug fixes and enhancements
such as the following:
-
Works with encryption and decryption using symmetric keys
-
Can be used to sign data with a length of more than 512 bytes
-
Automatically disables old card driver functionality
-
Removes functionality for the MioCOS and JCOP drivers
New SELinux Boolean for QEMU Guest Agent
Commands that were run in a confined context by the QEMU Guest Agent daemon program, such
as mount, used to fail with an Access Vector Cache (AVC) denial. For these
commands to work, the guest-agent needed to be running in the
unconfined_t domain.
The update adds a new SELinux policy Boolean called
virt_qemu_ga_run_unconfined. This Boolean enables the
guest-agent to transition to the unconfined domain. Rules for transitions
for the qemu-ga daemon have also been added to the SELinux policy
Boolean.
By enabling the virt_qemu_ga_run_unconfined Boolean, you can run confined
commands through the QEMU Guest Agent and not see AVC denial errors.
OpenSCAP Updated to 1.3.8
The OpenSCAP packages are updated to version 1.3.8. Notable changes include:
- Fixes to
systemdprobes to not ignore somesystemdunits. - Addition of offline capabilities to the
shadowOVAL probe. - Addition of offline capabilities to the
sysctlOVAL probe. - Addition of
auristorfsto the list of network file systems. - Improved handling of tailoring files generated by
autotailor.
SCAP Security Guide Updated to Version 0.1.69
Among other enhancements, this version of the SCAP Security Guide introduces three new SCAP profiles for Oracle Linux 9. These profiles are aligned with the CCN-STIC-610A22 Guide that was issued in October 2022 by the National Cryptologic Center of Spain.
| Profile name | Profile ID | Policy version |
|---|---|---|
| CCN Oracle Linux 9 - Advanced |
xccdf_org.ssgproject.content_profile_ccn_advanced
|
2022-10 |
| CCN Oracle Linux 9 - Basic |
xccdf_org.ssgproject.content_profile_ccn\_basic
|
2022-10 |
| CCN Oracle Linux 9 - Intermediate |
xccdf_org.ssgproject.content_profile_ccn\_intermediate
|
2022-10 |
SCAP Security Guide Updated ANSSI-BP-028 Security Profiles to Version 2.0
The Agence Nationale de la Sécurité des Systèmes d'Information (ANSSI) BP-028 profiles in the SCAP security guide were updated to align with the version 2.0 guidelines described at https://www.ssi.gouv.fr/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/.
Networking
The following features, enhancements, and changes related to networking are introduced in this Oracle Linux 9 release.
iproute Packages Updated to Version 6.2.0
The iproute packages have been updated to version
6.2.0. This update provides various enhancements and bug fixes over the previous version.
The most notable changes include:
- New
ip statscommand to view and manage interface statistics. See theip-stats(8)manual page for more information. -
New
--threadsoption used by thesscommand to display thread information. See thess(8)manual page for more information. -
New
bridge fdb flushcommand to flush forwarding database entries. See thebridge(8)manual page for more information.
Network Manager Updated With Latest Upstream Version
The NetworkManager packages have been upgraded to
upstream version 1.44.0. This update provides various enhancements and bug fixes over the
previous version.
SCTP Updated With Latest Kernel Version of Networking Tree
Notable changes in the Stream Control Transmission Protocol (SCTP) networking subsystem include:
-
Virtual routing and forwarding (VRF) enables you to segment and isolate SCTP traffic within complex network environments.
-
New stream schedulers (
fair capacity, andweighted fair queueing) to ensure that efficient and equal resource allocation within the network.
xdp-tools Package Updated to Version 1.4.0
The xdp-tools package version 1.4.0 includes the
following bug fixes and enhancements:
-
The
xdp-benchutility includes a multibuffer eXpress Data Path (XDP) benchmarker helper functionxdp_load_bytes()within the kernel. This enhancement enables conducting network benchmarking tests with large maximum transmission units (MTUs). -
Improved locking functionality for the command line utilities
xdp-tools, which prevents stale locking of the utility if it didn't exit cleanly. -
The
libxdplibrary includes a newxsk_umem__create_with_fd()API that accepts an extra file descriptor of an already openAF_XDPsocket. You can use this function as a substitute for the regularxsk_umem__create()function when a process doesn't haveCAP_NET_RAWprivileges.
Kernel and System Libraries
The following notable features, enhancements, and changes apply to the Red Hat Compatible Kernel (RHCK) that's shipped with the current Oracle Linux 9 version.
Updated Crash Utility
Version 8.0.3 of the Crash utility addresses both bug fixes and enhancements. Crash is an
interactive utility used to analyze the Linux system state while it's running, or after a
kernel failure and the creation of a core kdump file. The most notable
enhancement is the added IPv6 functionality. For example:
- The Crash utility prints IPv6 addresses with the
netornet -scommand.netdisplays the list of network devices, names, and the IP address.net -scommand displays the following information:-
Open network socket and sock addresses
-
Sockets types and addresses
-
Source and destination addresses, and ports for
INETandINET6families
-
Updated Intel® QAT Kernel Driver
The Intel® Quick Assist Technology (QAT), as of version 6.2, includes both bug fixes and enhancements. The most notable enhancement includes added functionality for the following QAT GEN4 hardware accelerator devices:
-
Intel Quick Assist Technology 401xx devices
-
Intel Quick Assist Technology 402xx devices
RHCK Can Handle AutoIBRS Configurations on AMD Processors
RHCK can handle Automatic Indirect Branch Restricted Speculation (AutoIBRS) configurations on AMD processors. AutoIBRS is a feature provided by the AMD EPYC 9004 Genoa family of processors and later CPU versions. AutoIBRS is the default mitigation used for the Spectre v2 CPU to reduce vulnerabilities, boost performance, and improve scalability.
Kdump Utility Can Handle LVM Thin Provisioned Logical Volumes as Targets
The kdump utility includes added functionality for configuring thin
provisioned logical volumes as the vmcore target. The configuration of LVM
thin provisioning includes these steps:
-
Create a LVM volume group.
vgcreate vg00 /dev/sdb
-
Create a LVM thin pool of 10 MB available space.
lvcreate -L 10M -T vg00/thinpool
-
Create a LVM thin volume with 300 MB of the file system space.
lvcreate -V 300M -T vg00/thinpool -n thinvol mkfs.ext4 /dev/vg00/thinvol
-
Configure the LVM thin pool threshold to automatically extend the space.
cat /etc/lvm/lvm.conf activation { thin_pool_autoextend_threshold = 70 thin_pool_autoextend_percent = 20 monitoring = 1 } -
Enable the LVM thin pool monitoring service for the first kernel.
systemctl enable lvm2-monitor.service systemctl start lvm2-monitor.service
-
Append the following lines to the
kdump.conffile to set the LVM thin volume as thekdumptarget.ext4 /dev/vg00/thinvol path /
-
Start the
kdumpservice.kdumpctl restart
- Verify the configuration by triggering a kernel panic and check if the
vmcoreis saved to/dev/vg00/thinvol.
With this enhancement, the kdump utility can save the
vmcore dump files on thin provisioned storage volumes.
File Systems and Storage
The following features, enhancements, and changes related to file systems and storage are introduced in this Oracle Linux 9 release.
Updated nvme-cli Package
The nvme-cli package as of version 2.4 provides bug fixes and
enhancements. Notable changes include:
-
Functionality for TLS over TCP configurations.
-
Functionality for
nvme effects-logcommand for fabrics controllers. -
Fixes for the incorrect ordering of
systemdfor auto-connect services when mounting file systems using the/etc/fstabconfiguration file.: -
Fixes for printing issues seen with
u32values. -
Fixes for incorrect validation storage tag size.
New NFSv4 Courteous Server Functionality
New functionality is added for NSFv4 Courteous Server in RHCK. The NFSv4 Courteous Server enables clients to continue operation even after experiencing a transient network outage by enabling clients’ uncontested locks to remain valid on the server when network outage lasts longer than the NFSv4 lease period. For more information about NFS Courteous Server functionality, see NSFD 5.19 Release Notes https://lore.kernel.org/lkml/DDB7B172-52E3-4015-9BD2-9BCDE209E5AC@oracle.com/.
Dynamic Programming Languages, Web and Database Servers
The following features, enhancements, and changes related to programming languages, web servers, and database servers are introduced in this Oracle Linux 9 release.
HTTP::Tiny Perl Module Updated to Perform TLS Verification by
Default
The HTTP::Tiny Perl module is updated to perform TLS certificate
verification by default when using HTTPS. The update adds the following dependencies to the
perl-HTTP-Tiny package:
-
perl-IO-Socket-SSL -
perl-Mozilla-CA -
perl-Net-SSLeay
The verify_SSL option is changed from 0 to
1 when the package is installed.
httpd Updated to Version 2.4.57
This updated version of thee Apache HTTP Server contains bug fixes, enhancements, and security fixes, such as the following:
-
The HTTP daemon's
rotatelogsutility has a-Toption which truncates rotated logfiles except the initial logfile. -
In
httpdconfiguration dumping operations, themod_sslmodule no longer tests existence of certificate and key files. -
In the
mod_ldapmodule, theLDAPConnectionPoolTTLdirective accepts negative values. This feature enables reuse of connections of any age. -
Workers from the
mod_proxy_hcheckmodule work correctly based on worker timeout settings. -
The
mod_proxy_hcheckmodule'shcmethodparameter includes these new methods for HTTP/1.1 requests:-
GET11 -
HEAD11 -
OPTIONS11
-
New Module in Apache HTTP server
The httpd daemon includes the mod_authnz_fcgi module,
enabling FastCGI authorizer applications to authenticate users and authorize access to
resources.
The module must be manually configured to load, as follows:
-
Create a configuration file in the
/etc/httpd/conf.mudles.ddirectory. -
Add the following line to the file:
LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
nginx:1.22 Updated With New Directive
The nginx:1.22 module stream includes the new
ssl_pass_phrase_dialog directive. Use the directive to configure an
external program that's called when nginx is start for each encrypted
private key.
To use the new directive, add one of the following lines to the
/etc/nginx/nginx.conf file:
-
ssl_pass_phrase_dialog exec:<path_to_program>;Add this line if you're using an external program. This program is called for each encrypted private key file with two arguments:
-
Server name
-
One of the following algorithms:
RSA,DSA,EC,DH, orUNKif a cryptographic algorithm can't be recognized.
-
-
ssl_pass_phrase_dialog builtin;Add this line to manually enter a passphrase for each encrypted private key file. Entering a passphrase is the default behavior when
ssl_pass_phrase_dialogisn't configured. -
ssl_pass_phrase_dialog exec:/usr/libexec/nginx-ssl-pass-dialog;Add this line to use this helper script so you can enter a passphrase for each encrypted private key at the
nginxservice start when you use thesystemctlcommand.
Note:
The ssl_pass_phrase_dialog directive in nginx is
similar to the SSLPassPhraseDialog directive in the Apache HTTP
Server.
Redis 7 Module Stream Introduced
Redis 7 is now available as a new module stream called
redis:7. Changes from Redis 6 include the following:
-
Server-side scripting in the Redis Functions API
-
Fine-grained access control lists (ACLs)
-
Shared publish/subscribe (
pub/sub) functionality for clusters -
New commands and command arguments
Some Redis 7 features are incompatible with earlier versions, such as the
following:
-
Redis 7now stores append-only files (AOF) as several files in a folder. -
Redis 7uses a new version format for Redis Database (RDB) files.
For a complete list of features and incompatible changes, see the upstream release notes.
To install the redis:7 module stream, issue the following command:
sudo dnf module install redis:7
For information about the length of support for the redis Application
Streams, see Oracle Linux: Product Life Cycle Information.
Compilers and Development Tools
The following features, enhancements, and changes related to compilers and development tools are introduced in this Oracle Linux 9 release.
glibc Performance Enhancement for Intel Xeon V5 Hardware
The default amount of cache used by glibc for string and memory routines
is tuned to improve performance on Intel Xeon v5 hardware.
System GCC Compiler Updated to Version 11.4.1
The GNU Compiler Collection (GCC) provides tools for developing applications with the C, C++, and Fortran programming languages. Its system GCC compiler is now updated to version 11.4.1.
GCC Preserves Register Arguments
GCC is updated to preserve register argument content and generate proper Call Frame Information (CFI) to make it easier for the unwinder to find this information without negatively impacting performance.
GCC Toolset 13
GCC Toolset 13 is a compiler toolset that provides recent versions of development tools.
The toolset is available as an Application Stream in the form of a Software Collection in
the AppStream repository.
The following tools and versions are available in the GCC Toolset 13:
- GCC 13.1.1
- GDB 12.1
- binutils 2.40
- dwz 0.14
- annobin 12.20
To install the toolset, type:
sudo dnf install gcc-toolset-13
To run a tool from GCC Toolset 13, type:
$ scl enable gcc-toolset-13 tool
To run a shell session where tool versions from GCC Toolset 13 override system versions of these tools, type:
scl enable gcc-toolset-13 bash
bintuils Updated to Version 2.40 in GCC Toolset 13
The GCC Toolset 13 includes version 2.40 of binutils which includes the
following notable changes:
- Added a
-w(--no-warnings) option for the linker to disable warning messages. -
Improved warning messages in the ELF linker for notifications around permissions changes.
- Added a
--privateoption in theobjdumptool that shows the fields in the file header and section headers for Portable Executable (PE) format files. - Added a
--show-all-symbolsoption for theobjdumptool to show all symbols matching an address when disassembling. - Added a
--strip-section-headersoption for theobjcopyandstriptools to remove the ELF section header from ELF files. - Added a
-W(--no-weak) option to thenmtool to set it to ignore weak symbols. -
Added syntax highlighting for disassembler output in the
objdumptool.
libabigail Updated to Version 2.3
libabigail version 2.3 includes the following features:
-
Works with the BTF debuginfo format.
-
Improvements to Ada range types.
-
Availability of new
[allow_type]directive in suppression specifications. -
Addition of new properties for the
[supress_type]suppression specification. -
Update of the ABIXML to version 2.2.
-
Change of the SONAME of the library to reflect its own ABI change.
New Flag Available in debugedit Utility
In the debugedit utility, the find-debuginfo script can
be configured with the -q (--quiet) flag to silence non
error output from the script.
systemtap Updated to Version 4.9
This updated version include the following changes:
-
A new Language-Server-Protocol (LSP) backend for easier interactive drafting of
systemtapscripts on LSP-capable editors. -
Access to a Python/Jupyter interactive notebook frontend.
-
Improved handling of DWARF 5 bitfields.
elfutils Updated to Version 0.189
Notable features include the following:
-
In
libelf, theelf_compresstool accepts theELFCOMPRESS_ZSTDELF compression type. -
In
libdwfl, thedwfl_module_return_value_locationfunction returns 0 (no return type) for DWARF Information Entries (DIEs) that point to aDW_TAG_unspecified_typetype tag. -
In
eu-elfcompress, the-tand--type=options can handle the Zstandard (zstd) compression format through thezstdargument.
libpfm Updated to Version 4.13
This version provides access to performance monitoring hardware native events for a wider range of processor microarchitectures, including ARM Neoverse, AMD Zen 4, and 4th Generation Intel Xeon processors.
LLVM Toolset Updated to Version 16.0.6
In this version, some enhancements include the following:
-
Improved optimization
-
Addition of new CPU extensions
-
Improvements for new C++ versions.
This version also includes changes that are incompatible with earlier versions, such as the following:
-
Clang’s default C++ standard is
gnu++17instead ofgnu++14. -
The following options default to error for the C code and might affect the behavior of configure scripts:
-
-Wimplicit-function-declaration -
-Wimplicit-int -
-Wincompatible-function-pointer-types
-
By default, Clang 16 uses the libstdc++ library version 13 and
binutils 2.40 provided by GCC Toolset 13.
Rust Toolset Updated to Version 1.71.1
The updated version includes the following features:
-
A new implementation of multiple producer, single consumer (
mpsc) channels to improve performance -
A new Cargo
sparseindex protocol for more efficient use of thecrates.ioregistry -
New
OnceCellandOnceLocktypes for one-time value initialization -
A new
C-unwindABI string to enable usage of forced unwinding across Foreign Function Interface (FFI) boundaries
Further, the following compiler options for Rust profiler_builtins runtime
component are available:
-
-C instrument-coveragefor coverage profiling -
-C profile-generatefor profile-guided optimization
Support
The following features, enhancements, and changes related to support are introduced in this Oracle Linux 9 release.
sos Utility Updated to Version 4.6
The Supportability and Serviceability (sos) utility for collecting
configuration, diagnostic, and troubleshooting data is updated to Version 4.6 with
enhancements such as the following:
- Improvements to the reporting and logging methods that aid in troubleshooting.
- Fixes in gathering of
cgroupdata and other information for generation of reports. - Fixes that improve security in the manner that usernames, passwords, and other sensitive data are handled when data is collected for reports.
For details on each release of sos, see upstream
release notes.