オペレーティング・システムおよびソフトウェア管理

このOracle Linux 10リリースでは、OSおよびソフトウェア管理に関連する次の機能、拡張機能、および変更が導入されています。

バージョン4.7.0でリリースされたdnf-plugins-core

dnf-plugins-coreがバージョン4.7.0でリリースされ、RPMトランザクションの起動時にコマンドを実行するツールを含むpython3-dnf-plugin-pre-transaction-actionsパッケージが含まれています。詳細は、dnf-pre-transaction-actions(8)マニュアル・ページを参照してください。

ダウンロードされなくなったファイルリスト・メタデータ

ファイルリスト・メタデータでは、パッケージによってインストールされるすべてのファイルの名前、パス、権限などの詳細を提供し、パッケージの内容をより正確に管理するために使用されます。これにより、ファイルベースの依存関係や異なるバージョンのパッケージ間の競合検出などの機能が有効になります。ただし、ファイルリスト・メタデータはサイズが小さく、ほとんどのDNFトランザクションでの必要性が限定的であるため、デフォルトでは、リポジトリ・メタデータの取得時にダウンロードされなくなりました。

また、dnfコマンドを使用してDNFトランザクションを実行する場合、ファイルリスト・メタデータはリポジトリからダウンロードまたは更新されません。ただし、dnfコマンドで特に必要な場合、またはファイル関連の引数が含まれている場合、ファイルリスト・メタデータを自動的にロードできます。

パッケージがファイルリスト・メタデータを必要とするファイルパスの依存関係に依存している場合、トランザクションが依存関係解決エラーで失敗することがあります。このエラーには、考えられる次の2つの解決策の1つを提案するヒントが含まれています:

  • --skip-brokenを使用して、アンインストール可能なパッケージをバイパスします。
  • --setopt=optional_metadata_types=filelistsを設定して、オプションのファイルリスト・メタデータをロードします。

デフォルトでファイルリスト・メタデータをダウンロードするようにDNFを構成するには、/etc/dnf/dnf.conf内のoptional_metadata_typesオプションにfilelists値を追加します。

DNFおよびRPMでのPGPキー検証の統合

RPMパッケージの署名検証は、以前使用したカスタムPGPパーサーではなく、rpm-sequoiaライブラリを使用するように拡張されました。同様に、DNFリポジトリでPGP署名を検証するlibrepoも更新され、同じrpm-sequoiaライブラリを使用して、RPMツールとDNFツールの両方でより一貫した処理の署名検証が行われます。

追加されたcreaterepo_cパッケージ

createrepo_cパッケージが、yumやDNFなどのツールと互換性のあるRPMパッケージの共通メタデータ・リポジトリを生成および管理するために使用されるcreaterepoツールのC実装として追加されました。C実装には、次の機能および拡張機能が含まれています:
  • zstdは、より小さなメタデータとより迅速な解凍を提供するデフォルトの圧縮アルゴリズムです。gz圧縮は引き続き使用できますが、zstdgzを置き換えます。
  • SQLiteデータベース形式のメタデータは、パフォーマンスとディスク使用率を向上させるためにデフォルトで生成されなくなりました。必要に応じて、--databaseスイッチまたはsqliterepo_cツールを使用して、このメタデータを作成します。
  • group.xmlメタデータは、圧縮され、グループ・メタデータ・タイプがある場合にのみ存在します。圧縮されていないとメタデータは表示されなくなります。

DNFおよび関連ツールによるパッケージ・アップグレードの改善

exclude_from_weak_autodetectオプションを指定してDNFを使用すると、インストール済パッケージの未対応の弱い依存関係を自動的に検出し、それらの未対応の依存関係を満たすパッケージのインストールを防止できます。以前は、このオプションがデフォルトで無効になっていたため、以前にインストールされたかどうかに関係なく、アップグレード中にパッケージに関連付けられたすべての弱い依存関係がインストールされていました。この更新では、exclude_from_weak_autodetectオプションがデフォルトで有効になり、DNF、PackageKitまたはmicrodnfを使用してアップグレードを実行するときに、新しく推奨されるパッケージのみがインストールされるようになりました。

簡易システム・スナップショット用に移動されたRPMデータベース

この更新で、RPMデータベースが/var/lib/rpmディレクトリから/usr/lib/sysimage/rpmディレクトリに移動されました。/usrにデータベースを格納すると、/varの内容を考慮する必要がなくなるため、システム・スナップショットの作成とロールバックが容易になります。また、/usrディレクトリにRPMデータベースをすでに格納しているOracle Linux CoreOSなどのrpm-ostreeベースのシステムとも連携します。

--exclude-servicesフラグを使用した失効プロセスに対する制御の拡張

dnf needs-restarting --servicesを使用して、再起動が必要なsystemdサービスをリストできます。この更新で、新しい--exclude-servicesフラグがdnf needs-restartingに追加され、失効プロセスのリストからsystemdサービスが除外されます。