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-brokento bypass uninstallable packages. - Set
--setopt=optional_metadata_types=fileliststo 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:
zstdis the default compression algorithm to provide smaller metadata and quicker decompression.zstdreplacesgz, althoughgzcompression is still available.- Metadata in SQLite database format is no longer generated by default to improve
performance and disk usage. Use the
--databaseswitch or thesqliterepo_ctool to create this metadata, if required. group.xmlmetadata 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.