Operating System and Software Management
The following features, enhancements, and changes related to the OS and software management are introduced in this Oracle Linux 10 release.
dnf-plugins-core
Released at Version 4.7.0
dnf-plugins-core
is released at version 4.7.0 and includes the
python3-dnf-plugin-pre-transaction-actions
package that includes tooling to
run a command when an RPM transaction is started. See the
dnf-pre-transaction-actions(8)
manual page for more information.
Filelists Metadata No Longer Downloaded
The filelists metadata provides details such as the names, paths, and permissions of all files installed by a package, and is used for more precise management of package contents, enabling features such as file-based dependencies and conflict detection between different versions of packages. However, because of its size and limited necessity in most DNF transactions, by default, filelists metadata is no longer downloaded when retrieving repository metadata.
Also, the filelists metadata isn't downloaded or updated from repositories when performing
DNF transactions using dnf
commands. However, filelists metadata can be
automatically loaded if a dnf
command specifically requires it or includes a
file-related argument.
In cases where a package relies on a filepath dependency requiring filelists metadata, the transaction might fail with a dependency resolution error that includes a hint suggesting one of two possible solutions:
- Use
--skip-broken
to bypass uninstallable packages. - Set
--setopt=optional_metadata_types=filelists
to load the optional filelists metadata.
To configure DNF to download filelist metadata by default, append the
filelists
value to the optional_metadata_types
option
within /etc/dnf/dnf.conf
.
Consolidation of PGP Key Verification in DNF and RPM
RPM package signature verification is enhanced to use the rpm-sequoia
library, instead of the custom PGP parser that was used before. Similarly,
librepo
which verifies PGP signatures on DNF repositories, is also updated
to use the same rpm-sequoia
library for a more consistent handling signature
verification in both RPM and DNF tooling.
createrepo_c
Package Added
createrepo_c
package is added as a C implementation of the
createrepo
tool used to generate and manage a common metadata
repository for RPM packages compatible with tools such as yum and DNF. The C
implementation includes the following features and enhancements:
zstd
is the default compression algorithm to provide smaller metadata and quicker decompression.zstd
replacesgz
, althoughgz
compression is still available.- Metadata in SQLite database format is no longer generated by default to improve
performance and disk usage. Use the
--database
switch or thesqliterepo_c
tool to create this metadata, if required. group.xml
metadata is present only when compressed and has the group metadata type. The metadata is no longer presented when uncompressed.
Improved Package Upgrades With DNF and Related Tools
Use DNF with the exclude_from_weak_autodetect
option to automatically
detect unmet weak dependencies of installed packages and prevent the installation of
packages that would satisfy those unmet dependencies. Previously, this option was
disabled by default, resulting in the installation of all weak dependencies associated
with a package during an upgrade, regardless of whether they were installed before.
With this update, the exclude_from_weak_autodetect
option is now
enabled by default, ensuring that only newly recommended packages are installed when
using DNF, PackageKit, or microdnf to perform an upgrade.
RPM Database Moved for Simplified System Snapshots
With this update, the RPM database is moved from the /var/lib/rpm
directory to the /usr/lib/sysimage/rpm
directory. Storing the database
in /usr
simplifies the creation and rollback of system snapshots
because the contents of /var
no longer must be considered. It also
aligns with rpm-ostree
based systems, such as Oracle Linux CoreOS,
which already store the RPM database under the /usr
directory.
Enhanced Control Over Stale Processes With the --exclude-services
Flag
You can use the dnf needs-restarting --services
to list systemd services
that need restarting. With this update, a new --exclude-services
flag
is added to dnf needs-restarting
to exclude systemd services from
the list of stale processes.