2 新機能および変更点

特に明示されていないかぎり、このリリースのOracle Linux 9で導入された次の新機能、主な拡張機能、バグ修正およびその他の変更は、x86_64と64ビットArm (aarch64)の両方のプラットフォームに適用されます。

インストール

このOracle Linux 9リリースでは、インストールに関連する次の機能、拡張機能および変更が導入されています。

DNSの新しいキックスタート・オプション

Kickstartには、デバイスのDNS構成情報を設定するためのnetworkコマンドの新しいオプションが含まれています。次の新しいオプションを使用できます:

  • --ipv4-dns-searchおよび--ipv6-dns-search: DNS検索ドメインをカンマ区切りリストとして構成するために使用できます。

  • --ipv4-ignore-auto-dnsおよび--ipv6-ignore-auto-dns: DHCPによる自動DNS構成を無効にするために使用できます。

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

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

DNF-automatic rebootオプション

アップグレードの実行後にDNF-automatic rebootオプションを使用して、システムを自動的にリブートし、変更を適用します。

必要なDNF-automatic reboot動作を設定するには、/etc/dnf/automatic.conf[commands]セクションを編集してrebootエントリを含めます。次に例を示します:
reboot = [never , when-changed, when-needed]

説明:

  • never (デフォルトの動作) – アップグレード後にシステムが再起動されません
  • when-changed – アップグレード変更後にシステムが自動的に再起動されます。
  • when-needed – システムは、systemdまたはkernelへのアップグレード変更後にのみ自動的に再起動されます。

reboot_commandエントリを含めて、再起動の動作をカスタマイズすることもできます。たとえば、アップグレード後に5分の遅延をスキップするには、shutdown - rを指定します

reboot_command = shutdown -r

DNF System-Upgradeプラグインのreboot --poweroffフラグ

DNF system-upgradeプラグインのreboot --poweroffフラグを使用して、更新のインストール後に、再起動するかわりにシステムをシャットダウンします。

CLI構文の使用方法:
dnf system-upgrade reboot --poweroff

DNFプラグイン: leavesおよびshow-leaves

新しいDNF leavesおよびshow-leavesプラグインは、システムにインストールされているパッケージのうち、他のパッケージの依存関係として必要とされないものを識別するのに役立ちます。たとえば、次のように使用します:
  • dnf leaves – 他のインストール済パッケージによって必要とされないインストール済パッケージをリストする場合。
  • dnf show-leaves – 新しくインストールされたリーフ・パッケージおよびトランザクション後にリーフになったパッケージをリストします。

インフラストラクチャ・サービス

このOracle Linux 9リリースでは、インフラストラクチャ・サービスに関連する次の機能、拡張機能および変更が導入されています。

PostfixでSRV参照を処理可能

DNSサービス(SRV)レコード解決のエントリをPostfixで使用して、メール・クライアントを自動的に構成してサーバーの負荷を分散できます。さらに、一時的なDNS問題をPostfixで処理可能で、SRVレコードに障害が発生した場合の障害回復用に構成可能なオプションが用意されています。Postfixのサーバー構成に次のオプションを設定することで、PostfixのSRV処理を構成できます:

  • use_srv_lookup=smtp

    DNS SRVレコードを使用して、指定したサービスを検出できるようにします。

  • allow_srv_lookup_fallback= yes

    構成が誤っているかエントリが欠落しているためにSRVエントリの参照に失敗する場合に、MXおよびIPアドレス・レコードを使用するようにPostfixをフォールバックしますが、サービスに対してはSRVを引き続き使用するように、SRV参照フォールバック用のサービスを構成します。

  • ignore_srv_lookup_error=yes

    参照に失敗したときは、サービスがSRVの使用を停止して、かわりにMXまたはIPアドレス・レコードを使用するようにサービスを構成します。

CUPS: 汎用LF-to-CRLF印刷ドライバ

Common UNIX Printing System (CUPS)を使用するときは、汎用LF-to-CRLF (lftocrlf)印刷ドライバを構成できます。このドライバを使用すると、ライン・フィード(LF)制御文字で終わる行をキャリッジ・リターン・ライン・フィード(CRLF)制御文字に変換できます。

lftocrlf印刷ドライバは、Oracle Linux 7で使用可能なtext-onlyドライバの名前を変更して、実際の機能を示すようにしたバージョンです。

セキュリティ

このOracle Linux 9リリースでは、セキュリティに関連する次の機能、拡張機能および変更が導入されています。

Keylimeをバージョン7.3.0に更新

セキュリティ修正以外に、この更新されたバージョンのKeylimeには、allowリストおよびexcludeリストをランタイム・ポリシーに結合できるconvert_runtime_policy.pyスクリプトが含まれています。

Keylime SELinuxポリシーの改善

Keylime SELinuxポリシーは、Keylimeで使用されるポートをラベルkeylime_port_tでラベル付けし、ラベルが設定されたポートのTCP接続を許可します。Keylimeのポートにラベルを付けることで、SELinuxポリシーはより具体的になり、ポート・セキュリティのターゲットを絞ることができます。

FIPSモードでのTLS 1.2接続用のNO-ENFORCE-EMSサブポリシーが含まれるcrypto-policies

システム全体の暗号化ポリシーにNO-ENFORCE-EMSサブポリシーが含まれています。このサブポリシーが適用されると、システムはFIPSモードでネゴシエーションされたすべてのTLS 1.2接続に対してExtended Master Secret (EMS)拡張(RFC 7627)を必要としなくなります。したがって、システムはEMSまたはTLS 1.3で動作しないレガシー・システムに接続できます。ただし、サブポリシーを適用すると、FIPS-140-3標準の要件に準拠しなくなります。

サブポリシーを適用するには、次のコマンドを使用します:

sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS

GnuTLSではFIPSモードでのTLS 1.2にEMSが必要

FIPS-140-3標準では、FIPSモードのすべてのTLS 1.2接続に対して、GnuTLSサーバーおよびクライアントでExtended Master Secret (EMS)拡張が必要とされます。

TLS 1.2でEMSを使用しても動作しない古いサーバーおよびクライアントとの互換性を維持する必要があり、同時にTLS 1.3を使用できない場合は、かわりにNO-ENFORCE-EMSサブポリシーを適用します。次のコマンドを入力します。

sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS

警告:

EMSなしでTLS 1.2接続を受け入れるようにサブポリシーを設定すると、システムがFIPS-140-3要件に準拠しなくなります。

NSSによるFIPSモードでのEMSの強制

Network Security Services (NSS)ライブラリには、TLS-REQUIRE-EMSポリシーが含まれています。このポリシーは、FIPS 140-3標準で要求されるとおり、すべてのTLS 1.2接続に対してExtended Master Secret (EMS)拡張の使用を強制します。システム全体の暗号化ポリシーがFIPSに設定されている場合、NSSはTLS-REQUIRE-EMSポリシーを適用します。

EMSを強制しない古いサーバーおよびクライアントで作業する必要があり、同時にTLS 1.3を使用できない場合は、かわりにNO-ENFORCE-EMSサブポリシーを適用します。次のコマンドを入力します。

sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS

ただし、サブポリシーを適用すると、FIPS-140-3標準の要件に違反します。

OpenSSLで無効にできるFIPSモードでのEMS

FIPSモードでExtended Master Secret (EMS)拡張を使用せずにTLS 1.2接続を使用できるように、OpenSSL暗号化ライブラリを構成できます。次のようにします:

  1. 次のセクションを追加して、/etc/pki/tls/fips_local.cnfファイルを編集します:

    [fips_sect]
    tls1-prf-ems-check = 0
    activate = 1
  2. /etc/pki/tls/openssl.cnfを開き、セクション見出しが[crypto_policy]のSSL構成セクションに移動します。

    セクションの最後に次の行を追加します:

    Options=RHNoEnforceEMSinFIPS

次のコマンドを使用して、FIPSモードでのTLS 1.2に対するEMSの強制を停止することもできます:

sudo update-crypto-policies --set FIPS:NO-ENFORCE-EMS

ただし、前の手順と単一コマンドのどちらを使用した場合でも、FIPSモードでのTLS 1.2に対するEMSを無効にすると、FIPS-140-3標準の要件に違反します。

OpenSSHによるSHA-2の強制

安全性の低いSHA-1アルゴリズムが使用されないように、OpenSSHは次の変更を適用します:

  • sshdの起動時にSHA-1が構成されているかどうかを確認します。使用できない場合、OpenSSHは操作にSHA-1を使用しません。したがって、DSSキー(存在する場合)はロードされません。さらに、rsa-sha2の組合せのアドバタイズが強制されます(使用可能な場合)。

  • SSH秘密キー変換では、OpenSSHはRSAキーのテストにSHA-2を明示的に使用します。

  • sshdデーモンは、SHA-1署名がサーバー側で使用できない場合、SHA-2を使用してホスト・キーの証明を確認します。ただし、この構成は、Oracle Linux 8以前のバージョンを使用するクライアントと互換性がない可能性があります。

  • sshdデーモンは、クライアント側でSHA-1署名を使用できない場合もSHA-2を使用します。

  • クライアント側では、キー証明リクエストでSHA-1が使用されている場合、またはハッシュ・アルゴリズムが指定されておらず、デフォルト構成が使用されている場合、OpenSSHはサーバーからのSHA-2ベースのキー証明を受け入れます。この動作は、RSA証明書の既存の例外に沿ったもので、最新のアルゴリズムを使用して接続を確立できます。

OpenSSLの楕円曲線暗号によるBrainpool曲線のサポート

OpenSSLの楕円曲線暗号では、次のbrainpool曲線が有効になります:

  • brainpoolP256r1

  • brainpoolP256t1

  • brainpoolP320r1

  • brainpoolP320t1

  • brainpoolP384r1

  • brainpoolP384t1

  • brainpoolP512r1

  • brainpoolP512t1

pcsc-lite-ccidを1.5.2に更新

更新されたpcsc-lite-ccidパッケージは、新しいリーダーを操作する機能やAlcor Micro AU9560カード・リーダーの修正など、様々なバグ修正および拡張機能を提供します。

openscパッケージを0.23に更新

更新されたopenscパッケージは、次のような様々なバグ修正および拡張機能を提供します:

  • 対称キーを使用した暗号化および復号化の操作

  • 512バイトを超える長さのデータの署名に使用可能

  • 古いカード・ドライバ機能を自動的に無効化

  • MioCOSおよびJCOPドライバの機能を削除

新しいSELinux Systemdサービス・ルール

次のsystemdサービスを制限する新しいルールがSELinuxポリシーに追加されます。

  • qat

  • systemd-pstore

  • boothd

  • fdo-manufacturing-server

  • fdo-rendezvous-server

  • fdo-client-linuxapp

  • fdo-owner-onboarding-server

リストされたサービスは、SELinuxラベルunconfined_service_tでは実行されなくなり、SELinux強制モードで実行されます。

OpenSCAPを1.3.8に更新

OpenSCAPパッケージがバージョン1.3.8に更新されました。主な変更点は次のとおりです:

  • 一部のsystemdユニットが無視されないためのsystemdプローブの修正。
  • shadow OVALプローブへのオフライン機能の追加。
  • sysctl OVALプローブへのオフライン機能の追加。
  • ネットワーク・ファイル・システムのリストへのauristorfsの追加。
  • autotailorによって生成されたテーラリング・ファイルの処理の改善。

SCAPセキュリティ・ガイドのバージョン0.1.69への更新

SCAPセキュリティ・ガイドの更新には、次の重要な変更が含まれています:

  • パスワード・エイジング・ルールで、空の文字列がパスワードとして無視されなくなりました。
  • リモートOVALコンテンツのURLが更新されて、Oracle Linux 9固有のものになったため、--fetch-remote-resourcesでスキャンする際のメモリー使用が改善されました。
  • /var/logおよび/var/log/auditに関連するルールが、これらのパーティションが存在する場合にのみ適用されるようになりました。
  • Bashが改善されて、fstab内のISO9660パーティションが処理されるように修正されました。

SCAPセキュリティ・ガイドのANSSI-BP-028セキュリティ・プロファイルをバージョン2.0に更新

SCAPセキュリティ・ガイドのAgence Nationale de la Sécurité des Systèmes d'Information (ANSSI) BP-028プロファイルが、https://cyber.gouv.fr/publications/recommandations-de-securite-relatives-un-systeme-gnulinuxで説明されているバージョン2.0のガイドラインと一致するように更新されました。

監査ログのfanotify情報の拡張

監査サービスの適切な監査レコード・フィールドにfanotifyイベントに関する次の情報が含まれます:

  • fan_type: fanotifyイベントのタイプを指定します。

  • fan_info: 追加コンテキスト情報を指定します。

  • sub_trustおよびobj_trust: イベント内のサブジェクトおよびオブジェクトの信頼レベルを指定します。

fanotifyの情報により、特定のケースのアクセス拒否の原因を明確にして、fapolicydフレームワークなどのツールのポリシー作成に役立てることができます。

ノート:

この機能は、UEK7カーネルではなく、RHCKカーネルでのみ使用できます。

fapolicydによる監査出力へのルール番号の追加

カーネルおよびAuditdコンポーネントとともにFapolicydが更新されて、監査ログに出力するときにルール番号が含まれるようになったので、ポリシー関連の問題のトラブルシューティングが容易になりました。

ノート:

この機能は、UEK7カーネルではなく、RHCKカーネルでのみ使用できます。

setoolsを4.4.3に更新

更新されたsetoolsパッケージには、次の機能が含まれています:

  • Cython 3.0.0でのコンパイルを修正

  • マニュアル・ページの改善

  • sediffsesearchおよびapol内の使用されていないオプションを削除

  • ソース・タイプのフロー分析を取得するため、seinfoflowコマンドに-rオプションを追加

  • 権限が設定されていない無効なポリシー・ルールとして自動的に拒否

python3-greenlet-develパッケージの提供

インプロセス・コンカレント・プログラミング用のコルーチンの開発に使用されるpython3-greenlet-develパッケージが、サポートされていないCodeReady Linux Builderリポジトリで使用できるようになりました。このパッケージの以前のバージョンは、EPELリポジトリで使用可能でした。

ネットワーク

このOracle Linux 9リリースでは、ネットワーキングに関連する次の機能、拡張機能および変更が導入されています。

iprouteパッケージをバージョン6.2.0に更新

iprouteパッケージはバージョン6.2.0に更新されています。この更新では、以前のバージョンに対する様々な拡張機能およびバグ修正が提供されます。最も注目すべき変更点は次のとおりです:

  • インタフェース統計を表示および管理するための新しいip statsコマンド。詳細は、ip-stats(8)マニュアル・ページを参照してください。
  • スレッド情報を表示するためにssコマンドで使用される新しい--threadsオプション。詳細は、ss(8)マニュアル・ページを参照してください。

  • データベース・エントリの転送をフラッシュするための新しいbridge fdb flushコマンド。詳細は、bridge(8)マニュアル・ページを参照してください。

最新アップストリーム・バージョンに更新されたNetworkManager

NetworkManagerパッケージがアップストリーム・バージョン1.44.0にアップグレードされました。この更新では、以前のバージョンに対する様々な拡張機能およびバグ修正が提供されます。

主な変更点は次のとおりです:

  • NetworkManager内の新しい構成可能なリンク・プロパティ。詳細は、Network Manager接続プロファイルに含まれる構成可能なリンク・プロパティを参照してください

  • ARPモニタリング、LACPアクティブ・ポートおよびIPv6ボンディング・ターゲットの新しい構成可能なプロパティ。詳細は、次のドキュメントを参照してください。

  • IPv6アクセス・サービス: DHCPv6プレフィックス委任。ipv6.dhcp-pd-hint接続プロパティでDHCPv6プレフィックス委任のヒントを設定する機能。

  • 接続プロファイルの名前を変更するために使用できる新しいrenameプロパティ。NetworkManagerは、/etc/NetworkM anager/NetworkManager.confファイルのkeyfileセクションに、接続プロファイル名を変更できる新しいrenameプロパティを提供します。renameプロパティが有効な場合、NetworkManagerは接続プロファイルの名前を変更し、/etc/NetworkManager/system-connections/ディレクトリに保存します。

    ノート:

    外部アプリケーションまたはスクリプトがファイル名に依存している場合は、[keyfile]セクションでrenameプロパティを有効にしないでください。
  • hostnameがパブリックではないトップレベル・ドメイン(TLD)に設定されている場合、NetworkManagerは完全なホスト名ではなくDNS検索ドメインとしてTLDを使用できます
  • NetworkManagerは、/etc/NetworkManager/NetworkManager.confファイルの[global-DNS]セクションのDNSオプションを適用します。

  • 競合状態が他の依存サービスで発生しないように、NetworkManagerはD-Busツリーの移入後にのみD-Bus名を取得します。この新しいD-Bus処理動作では、NetworkManagerの起動時に遅延が発生する可能性があります。

  • NetworkManagerには、プロファイルの同時変更を防ぐために、Update2() D-Busコールにversion-id引数が含まれます。

  • NetworkManagerは、DNSからシステムのホスト名を解決するために、一時的なのIPv6アドレスを使用しなくなりました。

  • 複数接続プロファイルで予期しない接続の問題を回避するために、NetworkManagerは、1つの接続の再試行のみを追跡するのではなく、デバイスおよび接続ごとに自動接続再試行の残りの回数を追跡します。

  • NetworkManagerは、sysfsファイル・システムのかわりにカーネルのnetlinkインタフェースを使用して、VLANフィルタリング・オプションを設定します。

  • ユーザー・インタフェース・ツールnmtuiを使用して、wifiおよびWireless Wide Area Network (WWAN)のenableまたはdisableを実行するための新しいオプションを使用できます。

  • /etc/NetworkManager/NetworkManager.confファイルの[main]セクションで、ボンディング、ブリッジおよびチーム構成のための新しいプロパティ(ignore-carrier=no)を使用できます。

  • dbusサービスの再起動後にNetworkManagerを起動できなかった問題が修正されました。この更新では、dbusサービスを再起動するとNetworkManagerが自動的に起動します。

SCTPをネットワーキング・ツリーの最新カーネル・バージョンに更新

Stream Control Transmission Protocol (SCTP)ネットワーキング・サブシステムの主な変更点は次のとおりです:

  • Virtual routing and forwarding (VRF)を使用すると、複雑なネットワーク環境内でSCTPトラフィックをセグメント化および分離できます。

  • 新しいストリーム・スケジューラ(fair capacityおよびweighted fair queueing)により、ネットワーク内でのリソース割当てが効率的かつ均等になります。

AAAA問合せを抑制するオプションをNetwork Managerに追加

no-aaaaオプションを使用すると、AAAA問合せを抑制するようにDNS設定を構成できます。このオプションを使用すると、nmcliユーティリティを使用してIPv6のDNS解決を無効にできます。NetworkManagerサービスの再起動後に、no-aaaa設定が/etc/resolv.confファイルに追加されます。

Network Managerが非推奨のifcfgプロファイル・フォーマットを通知

ストレージ接続プロファイルの形式ifcfgは、NetworkManagerでは非推奨です。この更新の時点で、NetworkManagerは、非推奨のifcfgプロファイル形式を使用してするユーザーに次のように警告します。

  • 警告ログ・エントリがsystemdジャーナルに追加されます。次に例を示します:
    Warning: the ifcfg-rh plugin is deprecated, migrate connections to the keyfile format using "nmcli connection migrate"
  • エラー・メッセージがnmcliユーティリティ・レポートに生成されます。次に例を示します:
    Error: Failed to update connection '<name>': The ifcfg-rh plugin doesn't support setting '<property>'. If you're updating an existing connection profile saved in ifcfg-rh format, migrate the connection to keyfile using 'nmcli connection migrate <connection_uuid>' or the Update2() D-Bus API and try again.

LACPDUフレームを送信するための新しいアクティブ・ボンディング・モードをNetwork Managerに追加

新しいボンディング・モードlacp_activeを構成に使用できます。このオプションは、ボンディング設定でLink Aggregation Control Protocol Data Unit (LACPDU)フレームに対するきめ細かい制御を提供します。LACPがリンクの両端でアクティブモードで動作している場合、両方のポートがPDUを送信できます。デフォルトでは、lacp_activeオプションはONに設定されています。LACPアクティブモードを無効にするには、lacp_activeオプションをOFFに設定します。

新しいns_ip6_targetボンディング・オプションをNetwork Managerに追加

ns_i6_targetオプションを使用した構成では、新しいボンディング・オプションns_ip6_targetを使用できます。この更新では、IPv6ターゲットを設定し、IPv6 NSリクエストを送信して、ターゲットへのリンクの状態をモニターできます。IPv6のNSモニタリングは、少なくとも1つのIPv6アドレスが指定され、arp_intervalオプションが0より大きく設定されている場合に有効になります。構成可能なns_ip_targetsの最大数は16です。デフォルトは0です。複数のターゲットはカンマで区切ってください。

NetworkManager nmcliユーティリティを使用して、arp_intervalns_i6_targetおよびns_ip6_targetのボンディング・オプション・パラメータを構成できます。

Network Managerが同じネットワーク・インタフェース上で静的IPとDHCP IPを処理可能

nmstateユーティリティでは、DHCPまたはAd-Hoc Network Autoconfiguration (autoconf)が有効なインタフェースでDHCP: trueまたはautoconf: trueプロパティを使用して静的IPアドレスを構成できます。

この機能拡張により、nmstateは構成用に次のIPプロパティを提供します:

  • valid_lft= IPアドレスの有効な存続期間(秒)。

  • preferred_lft= IPアドレスの優先存続期間(秒)。

デフォルトでは、valid_lftおよびpreferred_lftにはforever値が設定されます。

構成すると、nmstateはDHCP/autoconfベースのIPアドレスを無視して、問合せ済の状態を再び適用した後に動的IPアドレスを静的IPに変換しないようにできます。ネットワーク環境でDHCP/autoconf設定または動的IPアドレスの無効化が必要な場合、nmstateはこれらの動的IPアドレスを静的IPアドレスに変換します。

NetworkManagerでは、次の接続プロファイル・リンク・プロパティを構成に使用できます。

ポートを停止としてレポートする新しいarp_missed_maxプロパティをNetwork Managerに追加

NetworkManagerでの接続プロファイルのボンディングに新しいarp_missed_maxプロパティを使用できます。アドレス解決プロトコル(ARP)モニターを使用して、ボンドのポートが稼働中かどうかをチェックする場合、arp_missed_maxオプションを設定して、何回チェックが失敗したらボンディング・ドライバがポートを停止としてマークするかを定義できます。

ボンド・ポートを特定の順序でアクティブ化するための新しいbond-port.prioプロパティをNetwork Managerに追加

カーネルのnetlinkインタフェースを使用すると、active-backupbalance-tlbまたはbalance-albのボンディング構成モードでポートで優先度の値を設定できます。新しい優先度プロパティ(bond-port.prio)は、32ビットの整数値を受け入れます。値を大きくすると、ポートをアクティブ化するための優先順位が上がります。

bond-port.prioプロパティは、NetworkManagerポートの接続プロファイルの構成に使用できます。

nmstateでMACアドレスが識別されるネットワーク・インタフェースを直接構成可能

nmstateユーティリティを使用して、ユーザーが識別するインタフェース名のかわりに、Media Access Control (MAC)アドレスで識別されるネットワーク・インタフェースを直接構成できます。

この更新では、ベース・インタフェースに対して次のプロパティを構成できます:

  • identifier = ネットワーク上のnameまたはmac-addressを識別します。デフォルト値はnameです。

  • profile-name = 文字列

使用上のノート:

  • nmstateは、identifierプロパティを使用して、ネットワーク・インタフェースを特定のネットワーク状態に識別します。たとえば、identifierの値がmac-addressに設定されている場合、nmstateinterface.nameよりもinterface.mac-addressを使用してインタフェースを識別します。
  • nmstateは、interface.profile-nameの値に基づいてネットワーク構成を格納します。profile-nameが設定されていない場合、nmstateinterface.nameよりもinterface.profile-nameを使用します。ネットワーク状態のチェック時にinterface.profile-nameの値がinterface.name.と等しい場合、前者は非表示になります。

nmstate APIに含まれるdhcp-send-hostnameおよびdhcp-custom-hostname

nmstateには、次の2つの新しい構成可能なDHCPプロパティが含まれます:

  • dhcp-send-hostname = true | false (デフォルト = true)

    DHCPクライアントがそのhostnameでDHCPリクエストを送信すると、DHCPサーバーは指定されたドメイン名を追加してクライアントのFQDNを作成します。

  • dhcp-custom-hostname = hostname | Fully Qualified Domain Name (FQDN)

DHCPv4の使用上のノート:

  • hostnameがFQDNに設定されている場合、RFC 4702の完全修飾ドメイン名(FQDN)、オプション(81)を参照してください。
  • hostnameがFQDNに設定されていない場合は、RFC 2132のホスト名、オプション(12)を参照してください。

ブリッジVLANインタフェースでタグなしトラフィックをフィルタするオプションをnmstateに追加

Oracle Linux 9.3では、nmstateフレームワーク内でbridge.VLAN-default-pvidオプションを使用してブリッジVLANインタフェース上のタグなしトラフィックをフィルタするようにNetworkManagerを構成できます。

構文の使用方法:

bridge.vlan-default-pvid: [n]

デフォルトのポートVLAN ID (pvid)を受信するタグなしフレームに割り当てます。

説明:
  • n =1

    デフォルト値

  • n = 0

    VLANフィルタリングが有効な場合(bridge.VLAN-filtering: yes)、タグなしトラフィックはドロップされます

例: ブリッジVLANのデフォルトPVIDの割当て- YAMLを使用

interfaces:
  - name: linux-br0
    type: linux-bridge
    state: up
    bridge:
      options:
        vlan-default-pvid: [0-4094]
      port:
        - name: eth1
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
          vlan:
            mode: access
            tag: 100

nmstateで動的DNSネーム・サーバーを使用して静的DNS検索を処理可能

nmstateは、動的DNSネームサーバーと共存するために、静的DNS検索ドメインを処理できます。この機能拡張により、ネットワーク設定およびDNS管理の柔軟性が向上します。

この更新の時点で、nmstateはネットワーク・インタフェースを検索し、そのDNS構成を次の順序で格納します:
  1. 有効なDNS構成を持つ優先インタフェース。
  2. 自動インタフェース。
  3. IPが有効なインタフェース。

ノート:

NetworkManagerでは、DHCPによって提供される可能性のあるDNSネームサーバーは削除されません。

次のインタフェース構成例は、この新機能の使用を示しています:

dns-resolver:
  config:
    search:
      - example.com
      - example.org
interfaces:
  - name: eth1
    type: ethernet
    state: up
    ipv4:
      enabled: true
      dhcp: true
    ipv6:
      enabled: true
      dhcp: true
      autoconf: true

カーネルおよびシステム・ライブラリ

次の重要な機能、機能強化および変更点が、現在のOracle Linux 9バージョンに同梱されているRed Hat Compatible Kernel (RHCK)に適用されています。

更新されたCrashユーティリティ

バージョン8.0.3のCrashユーティリティは、バグ修正と機能強化の両方に対応しています。Crashは、Linuxシステムの稼働中、またはカーネルの障害やコアkdumpファイルの作成後にLinuxシステムの状態を分析するために使用される対話型ユーティリティです。最も注目すべき機能強化は、追加されたIPv6機能です。次に例を示します:

  • Crashユーティリティは、netまたはnet -sコマンドでIPv6アドレスを出力します。netは、ネットワーク・デバイス、名前およびIPアドレスのリストを表示します。net -sコマンドは、次の情報を表示します:
    • オープンしているネットワーク・ソケットおよびソケット・アドレス

    • ソケットのタイプとアドレス

    • INETおよびINET6ファミリのソース・アドレスと宛先アドレス、およびポート

Intel® QATカーネル・ドライバの更新

Intel®Quick Assist Technology (QAT)には、バージョン6.2の時点で、バグ修正と機能強化の両方が含まれています。最も重要な拡張機能として、次のQAT GEN4ハードウェア・アクセラレータ・デバイス用の追加機能が含まれています:

  • Intel Quick Assist Technology 401xxデバイス

  • Intel Quick Assist Technology 402xxデバイス

更新されたドライバは、RHCKでのみ使用できます。

perfパッケージをバージョン6.2に更新

perfパフォーマンス分析ツールがバージョン6.2に更新され、軽微なバグ修正および更新が含まれています。この更新の時点で、perf listコマンドは、Performance Monitor Unit (PMU)イベントのわかりやすい名前と説明を表示します。

AMDプロセッサ上のRHCKでAutoIBRS構成を処理可能

AMDプロセッサ上のRHCKで、Automatic Indirect Branch Restricted Speculation (AutoIBRS)構成を処理できます。AutoIBRSは、AMD EPYC 9004 Genoaファミリのプロセッサおよびそれ以降のCPUバージョンで提供される機能です。AutoIBRSはSpectre v2 CPUの脆弱性を低減するために使用されるデフォルトの軽減策で、パフォーマンスとスケーラビリティも向上します。

KdumpユーティリティでLVMのシン・プロビジョニングされた論理ボリュームをターゲットとして処理可能

kdumpユーティリティには、シン・プロビジョニングされた論理ボリュームをvmcoreターゲットとして構成するための追加機能が含まれています。LVMのシン・プロビジョニングの構成には、次のステップが含まれます:

  1. LVMボリューム・グループを作成します。

    vgcreate vg00 /dev/sdb
  2. 10MBの使用可能な領域のLVMシン・プールを作成します。

    lvcreate -L 10M -T vg00/thinpool
  3. 300MBのファイル・システム領域を持つLVMシン・ボリュームを作成します。

    lvcreate -V 300M -T vg00/thinpool -n thinvol
    mkfs.ext4 /dev/vg00/thinvol
  4. 領域を自動的に拡張するようにLVMシン・プールのしきい値を構成します。

    cat /etc/lvm/lvm.conf
    activation {
    	thin_pool_autoextend_threshold = 70
    	thin_pool_autoextend_percent = 20
    	monitoring = 1
    }
  5. 最初のカーネルのLVMシン・プール・モニタリング・サービスを有効にします。

    systemctl enable lvm2-monitor.service
    systemctl start lvm2-monitor.service
  6. kdump.confファイルに次の行を追加して、LVMシン・ボリュームをkdumpターゲットとして設定します。

    ext4 /dev/vg00/thinvol
    path /
  7. kdumpサービスを開始します。

    kdumpctl restart
  8. カーネル・パニックをトリガーして構成を確認し、vmcore/dev/vg00/thinvolに保存されているかどうかを確認します。

この機能拡張により、kdumpユーティリティはシン・プロビジョニングされたストレージ・ボリュームにvmcoreダンプ・ファイルを保存できます。

makedumpfileをバージョン1.7.3に更新

makedumpfileユーティリティがバージョン1.7.3に更新されました。このツールは、圧縮およびページの除外によってダンプ・ファイルのサイズを縮小するために使用します。

主な変更には、x86_64アーキテクチャでのスタンドアロン・ダンプ用の5レベルのページング・モードの追加、プロセッサのリニア・アドレス幅の拡張によるアプリケーションがアクセスできるメモリー量の増加が含まれます。

ファイル・システムおよびストレージ

このOracle Linux 9リリースでは、ファイル・システムおよびストレージに関連する次の機能、拡張機能および変更が導入されています。

nvme-cliをバージョン2.4に更新

バージョン2.4以降のnvme-cliパッケージでは、バグ修正および拡張機能が提供されます。主な変更点は次のとおりです:

  • TLS over TCP構成の機能。

  • ファブリック・コントローラのnvme effects-logコマンドの機能。

  • /etc/fstab構成ファイルを使用してファイル・システムをマウントする場合の自動接続サービスでsystemdの順序が正しくないことを修正。

  • u32値で見られる出力の問題を修正。

  • 不正な検証ストレージ・タグ・サイズを修正。

新しいNFSv4 Courteous Server機能

RHCKのNSFv4 Courteous Serverの新機能が追加されました。NFSv4 Courteous Serverでは、ネットワークの停止がNFSv4のリース期間より長く続く場合に、クライアントの非競合ロックがサーバー上で有効なままになるようにすることで、一時的なネットワーク停止が発生した後でも、クライアントが操作を続行できます。NSFv4 Courteous Server機能は、OracleによってアップストリームLinux (v5.19)用に開発され、Linuxユーザー向けにNFSを改善するための継続的な取り組みの一環として、UEK7更新1で入手できます。詳細は、https://blogs.oracle.com/linux/post/nfsv4-courteous-serverを参照してください。

DAXファイル・システムのマウント・オプション-o DAX=alwaysは、reflink対応のXFSファイル・システムと互換性があります。この互換性オプションは、永続メモリーのダイレクト・アクセス・ターゲットを構成するユーザーに役立ちます。この機能はRHCKで使用できますが、UEKでは開発中です。

SCSIデバイスの新しいデバイスごとのカウンタ

新しいSCSIデバイス・カウンタ(iotmo_cnt)は、検出されたI/Oタイムアウト用に提供されます。次に例を示します:

/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/iorequest_cnt
/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/iodone_cnt
/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/iotmo_cnt
/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/ioerr_cnt
説明:
  • iorequest_cnt = I/Oリクエストの数
  • iodone_cnt = I/O完了
  • ioerr_cnt = I/Oエラー

デバイスのクリーン・アップを管理するための新しいmpathcleanupツール

マルチパス・デバイスのクリーン・アップの管理に役立つ新しいmpathcleanupツールを使用できます。このツールは、SCSIベースのマルチパス・デバイスに対して動作し、SCSIパス・デバイスとともにマルチパス・デバイスを削除します。この機能拡張は、マルチパス・デバイスとその基礎となるストレージ・パス・デバイスの削除が必要になることが多いユーザーに役立ちます。

更新されたdmpdパッケージ

バージョン1.0.2のdmpdパッケージには、次の変更が含まれています:

  • Rust言語ツールのメモリーの安全性とパフォーマンスの改善

  • LVMプールのアクティブ化およびシステムの起動の実行時間を節約するためのthin_checkおよびcache_checkツールの更新。

  • スナップショットのメタデータbtrees共有を処理するためのthin_dumpおよびthin_restoreツールの更新。

  • シン・メタデータを(通常は10分の1のサイズに)圧縮するためのthin_metadata_packおよびthin_metadata_unpackツールの更新。通常、これらのツールを使用すると、破損したメタデータを検査用に簡単に提出できます。

高可用性とクラスタ

このOracle Linux 9リリースでは、高可用性に関連する次の機能、拡張機能および変更が導入されています。

Pacemakerパッケージの更新

バージョン2.1.6以降のPacemakerパッケージには、次の拡張機能とバグ修正が含まれています:

  • Pacemakerリモート・ノードは、短時間のリカバリ可能な接続停止の後に一時ノード属性を保持するように更新されました。
  • サンプル・アラート・エージェント(alert_snmp.sh.sample)が更新され、SNMPv3構成が含まれました。この更新では、SNMPv3を変更せずにPacemaker alert_snmp.sh.sampleエージェントをコピーできます。
  • 計画メンテナンスなどの理由でPacemakerアラートを一時的に無効にできる新しいenabled メタ・オプション構成

    アラートに対してこのオプションをfalseに設定すると、アラートが無効になります。このオプションをアラートに対してtrue、特定の受信者に対してfalseに設定すると、その受信者へのアラートが無効になります。このオプションのデフォルト値はtrueです。

  • Pacemakerは、すべての保留中のアクションと結果を処理するまでDesignated Controller (DC)の選択が完了しないように、クラスタの意思決定を一元化します

  • Pacemakerフェンシング・エージェント(fence_scsi)を使用すると、devicesパラメータが定義されていない場合に、共有lvmlockdデバイスを自動的に検出できます。

  • コロケーション制約スコアと比較するためにResource stickinessが更新されました。

  • 単一のアクティブ・レプリカによるクローンの禁止またはバンドル・リソースの移動を可能にするcrm_resourceコマンドが更新されました。

  • 昇格可能スコアが高いノードでクローニングされたリソースが起動すると、昇格されないクローン・インスタンスは移動されなくなります。この修正では、ノード・インスタンス番号を割り当てる際にロールがプロセスの一部とみなされるため、不要な再起動は発生しません。

LVMボリューム・グループ・フェイルオーバーの新しいオプション

LVM-activateリソース・エージェントには、ボリューム・グループに物理ボリュームがない場合にボリューム・グループ・フェイルオーバーを有効にするために次の構成オプションが含まれています。

  • majoritypvsオプションを使用すると、ボリューム・グループに物理ボリュームがない場合にボリューム・グループ・システムIDを変更できます。

  • degraded_activationオプションを使用すると、ボリューム・グループ内のRAID論理ボリュームを、レッグのない状態でアクティブ化できます。

IPaddr2およびIPsrcaddrリソースの新しいポリシーベースのルーティング機能

Oracle Linux 9.3では、IPaddr2およびIPsrcaddrクラスタ・リソース・エージェントがポリシーベースのルーティングを処理できます。ポリシーベースのルーティングを使用すると、複雑なルーティング・シナリオを構成できます。ポリシーベースのルーティングを使用するには、リソース・エージェントのtableパラメータを構成する必要があります。

更新されたpcs解析にはクローン・メタ属性にメタ・キーワードが必要

pcs resource clonepcs resource promotableおよびpcs resource createコマンドのpcsコマンド形式では、クローン・メタ属性の構成時にmetaキーワードを指定する必要があります。たとえば、次の構文では、メタ属性mv=v1およびクローン・メタ属性mv=v2を使用してPacemakerリソースを作成します(pcs resource create):

pcs resource create dummy1 ocf:pacemaker:Dummy meta m1=v1 clone meta m2=v2 --future

古いコマンド形式に依存する既存のスクリプトとの互換性を維持するには、pcs resource createコマンドを使用してクローン・リソースを作成するときに、--futureコマンド・オプションを指定して、新しい引数処理を有効にする必要があります。

pcsリソース制約を表示する新しいコマンド

pcs constraintコマンドを使用して別のシステムで構成されたリソース制約を再作成するには、pcs constraintコマンドを新しい--output-format=cmdオプションとともに使用します。デフォルトの出力形式はプレーン・テキストで、以前のリリースと同様に、--output-format=textオプションで指定できます。プレーン・テキスト形式は、他のpcsコマンドの出力形式と一致するように若干変更されています。

pcs propertyコマンドの機能拡張

pcs propertyコマンドには、次の更新が含まれています:

  • pcs property config --output-format=オプション

    • --output-format=cmd

      現在のクラスタ・プロパティ構成から作成されたpcs property setコマンドを表示する場合に使用します。このコマンドを使用して、構成済のクラスタ・プロパティを別のシステムに再作成できます。

    • --output-format=json

      構成されたクラスタ・プロパティをJSON形式で表示する場合に使用します

    • output-format=text

      構成済のクラスタ・プロパティをプレーン・テキスト形式で表示する場合に使用します。これが、このオプションのデフォルト値です。

  • pcs property defaultsコマンドは、非推奨のpcs property --defaultsコマンド・オプションを置き換えます。

  • pcs property describeコマンドは、クラスタ・プロパティの意味を識別します。

動的プログラミング言語、Webサーバーとデータベース・サーバー

このOracle Linux 9リリースでは、プログラミング言語、Webサーバーおよびデータベース・サーバーに関連する次の機能、拡張機能、および変更が導入されています。

デフォルトでTLS検証を実行するためのHTTP::Tiny Perlモジュールの更新

HTTP::Tiny Perlモジュールが更新されて、HTTPSの使用時にデフォルトでTLS証明書検証が実行されるようになりました。この更新により、perl-HTTP-Tinyパッケージに次の依存関係が追加されます:

  • perl-IO-Socket-SSL

  • perl-Mozilla-CA

  • perl-Net-SSLeay

パッケージのインストール時のverify_SSLオプションが0から1に変更されています。

httpdをバージョン2.4.57に更新

この更新されたバージョンのApache HTTP Serverには、次のようなバグ修正、拡張機能およびセキュリティ修正が含まれています:

  • HTTPデーモンのrotatelogsユーティリティには、最初のログ・ファイルを除き、ローテーションされたログ・ファイルを切り捨てる-Tオプションがあります。

  • httpd構成ダンプ操作では、mod_sslモジュールは証明書およびキー・ファイルの存在をテストしなくなりました。

  • mod_ldapモジュールでは、LDAPConnectionPoolTTLディレクティブは負の値を受け入れます。この機能により、任意の経過時間の接続を再利用できます。

  • mod_proxy_hcheckモジュールのワーカーは、ワーカーのタイムアウト設定に基づいて正しく動作します。

  • mod_proxy_hcheckモジュールのhcmethodパラメータには、HTTP/1.1リクエスト用の次の新しいメソッドが含まれています:

    • GET11

    • HEAD11

    • OPTIONS11

Apache HTTP Serverの新しいモジュール

httpdデーモンにはmod_authnz_fcgiモジュールが含まれるため、FastCGI認可プロバイダ・アプリケーションはユーザーを認証し、リソースへのアクセスを許可できます。

モジュールは、次のようにロードするように手動で構成する必要があります:

  1. /etc/httpd/conf.mudles.dディレクトリに構成ファイルを作成します。

  2. 次の行をファイルに追加します。

    LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so

nginx:1.22を新しいディレクティブで更新

nginx:1.22モジュール・ストリームには、新しいssl_pass_phrase_dialogディレクティブが含まれます。このディレクティブを使用して、暗号化された秘密キーごとにnginxが起動されると呼び出される外部プログラムを構成します。

新しいディレクティブを使用するには、/etc/nginx/nginx.confファイルに次のいずれかの行を追加します:

  • ssl_pass_phrase_dialog exec:<path_to_program>;

    外部プログラムを使用している場合は、この行を追加します。このプログラムは、暗号化された秘密キー・ファイルごとに2つの引数を使用して呼び出されます:

    • サーバー名

    • RSADSAECDHまたはUNKのいずれかのアルゴリズム(暗号化アルゴリズムを認識できない場合)。

  • ssl_pass_phrase_dialog builtin;

    暗号化された秘密キー・ファイルごとにパスフレーズを手動で入力するには、この行を追加します。ssl_pass_phrase_dialogが構成されていない場合、パスフレーズの入力はデフォルトの動作です。

  • ssl_pass_phrase_dialog exec:/usr/libexec/nginx-ssl-pass-dialog;

    この行を追加して、このヘルパー・スクリプトを使用することで、systemctlコマンドを使用する際、nginxサービス開始時に暗号化された秘密キーごとにパスフレーズを入力できるようになります。

ノート:

nginxssl_pass_phrase_dialogディレクティブは、Apache HTTP ServerのSSLPassPhraseDialogディレクティブに似ています。

Redis 7モジュール・ストリームの導入

Redis 7は、redis:7という新しいモジュール・ストリームとして使用できるようになりました。Redis 6からの変更内容は次のとおりです:

  • Redis関数APIのサーバー側スクリプト

  • ファイングレイン・アクセス制御リスト(ACL)

  • クラスタの共有パブリッシュ/サブスクライブ(pub/sub)機能

  • 新しいコマンドとコマンド引数

一部のRedis 7機能は、次のような以前のバージョンと互換性がありません:

  • Redis 7では、append-only file (AOF)が複数のファイルとしてフォルダに格納されるようになりました。

  • Redis 7は、Redis Database (RDB)ファイルの新しいバージョン形式を使用します。

機能および互換性のない変更の完全なリストは、アップストリームのリリース・ノートを参照してください。

redis:7モジュール・ストリームをインストールするには、次のコマンドを発行します:

sudo dnf module install redis:7

redisアプリケーション・ストリームのサポート期間の詳細は、Oracle Linux: 製品ライフサイクル情報を参照してください。

コンパイラおよび開発ツール

このOracle Linux 9リリースでは、コンパイラおよび開発ツールに関連する次の機能、拡張機能、および変更が導入されています。

Intel Xeon V5ハードウェア用のglibcのパフォーマンス強化

文字列に対してglibcが使用するキャッシュのデフォルト量およびおよびメモリー・ルーチンが、Intel Xeon v5ハードウェアでのパフォーマンスが向上するようにチューニングされています。

システムGCCコンパイラをバージョン11.4.1に更新

GNUコンパイラ・コレクション(GCC)は、C、C++およびFortranプログラミング言語でアプリケーションを開発するためのツールを提供します。そのシステムGCCコンパイラがバージョン11.4.1に更新されました。

GCCによるレジスタ引数の保持

GCCが更新されて、レジスタ引数の内容が保持され、適切なコール・フレーム情報(CFI)が生成されるようになったので、パフォーマンスに悪影響を及ぼさずに、アンワインダでこの情報を簡単に見つけることができるようになりました。

GCCツールセット13

GCCツールセット13は、最新バージョンの開発ツールを提供するコンパイラ・ツールセットです。このツールセットは、AppStreamリポジトリのソフトウェア・コレクション形式のアプリケーション・ストリームとして使用できます。

GCCツールセット13では、次のツールおよびバージョンを使用できます:

  • GCC 13.1.1
  • GDB 12.1
  • binutils 2.40
  • dwz 0.14
  • annobin 12.20

ツールセットをインストールするには、次のように入力します。

sudo dnf install gcc-toolset-13

GCCツールセット13からツールを実行するには、次のように入力します:

$ scl enable gcc-toolset-13 tool

GCCツールセット13のツール・バージョンでこれらのツールのシステム・バージョンをオーバーライドするシェル・セッションを実行するには、次のように入力します:

scl enable gcc-toolset-13 bash

GCCツールセット13でbintuilsをバージョン2.40に更新

GCCツールセット13には、binutilsのバージョン2.40が含まれており、次の重要な変更が含まれています:

  • リンカーで警告メッセージを無効にするための-w (--no-warnings)オプションが追加されました。
  • 権限の変更についての通知に関する、ELFリンカーの警告メッセージの改善。

  • 移植可能な実行可能(PE)形式ファイルのファイル・ヘッダーおよびセクション・ヘッダーのフィールドを表示する--privateオプションがobjdumpツールに追加されました。
  • 逆アセンブル時にアドレスに一致するすべてのシンボルを表示する--show-all-symbolsオプションがobjdumpツールに追加されました。
  • ELFファイルからELFセクション・ヘッダーを削除する--strip-section-headersオプションがobjcopyおよびstripツールに追加されました。
  • 弱いシンボルを無視するように設定する-W (--no-weak)オプションがnmツールに追加されました。
  • 逆アセンブラ出力の構文強調表示がobjdumpツールに追加されました。

libabigailをバージョン2.3に更新

libabigailバージョン2.3には、次の機能が含まれています:

  • BTF debuginfo形式で動作します。

  • Ada範囲タイプの改善。

  • 抑制仕様の新しい[allow_type]ディレクティブの提供。

  • [supress_type]抑制仕様への新しいプロパティの追加。

  • ABIXMLをバージョン2.2に更新。

  • 独自のABI変更を反映するようにライブラリのSONAMEを変更。

debugeditユーティリティで使用可能な新しいフラグ

debugeditユーティリティでは、find-debuginfoスクリプトを-q (--quiet)フラグで構成して、スクリプトからのエラー以外の出力を非表示にできます。

systemtapをバージョン4.9に更新

この更新バージョンには、次の変更が含まれています:

  • LSP対応エディタでのsystemtapスクリプトの対話型作成を容易にする、新しいLanguage-Server-Protocol (LSP)バックエンド。

  • Python/Jupyter対話型ノートブック・フロントエンドへのアクセス。

  • DWARF 5ビットフィールドの処理を改善。

elfutilsをバージョン0.189に更新

重要な機能は次のとおりです:

  • libelfでは、elf_compressツールはELFCOMPRESS_ZSTD ELF圧縮タイプを受け入れます。

  • libdwflでは、dwfl_module_return_value_location関数は、DW_TAG_unspecified_typeタイプのタグを指すDWARF Information Entries (DIE)に対して0 (戻りタイプなし)を返します。

  • eu-elfcompressでは、-tおよび--type=オプションは、zstd引数を介してZstandard (zstd)圧縮形式を処理できます。

libpfmをバージョン4.13に更新

このバージョンでは、ARM Neoverse、AMD Zen 4、第4世代Intel Xeonプロセッサなど、幅広いプロセッサ・マイクロアーキテクチャのパフォーマンス・モニタリング・ハードウェア・ネイティブ・イベントにアクセスできます。

LLVMツールセットをバージョン16.0.6に更新

このバージョンには、次のような機能拡張が含まれます:

  • 最適化の改善

  • 新しいCPU拡張の追加

  • 新しいC++バージョンの改善。

このバージョンには、次のような以前のバージョンと互換性がない変更も含まれています:

  • ClangのデフォルトのC++標準は、gnu++14ではなくgnu++17です。

  • 次のオプションはCコードではデフォルトでerrorになり、configureスクリプトの動作に影響する可能性があります。

    • -Wimplicit-function-declaration

    • -Wimplicit-int

    • -Wincompatible-function-pointer-types

デフォルトでは、Clang 16はGCCツールセット13によって提供されるlibstdc++ライブラリ・バージョン13およびbinutils 2.40を使用します。

Rustツールセットをバージョン1.71.1に更新

この更新バージョンには、次の機能が含まれています:

  • パフォーマンスを向上させるためのmultiple producer, single consumer (mpsc)チャネルの新たな実装

  • crates.ioレジストリをより効率的に使用するための新しいCargo sparseインデックス・プロトコル

  • 1回かぎりの値の初期化用の新しいOnceCellおよびOnceLock

  • Foreign Function Interface (FFI)境界にまたがる強制アンワインドの使用を可能にする新しいC-unwind ABI文字列

さらに、Rust profiler_builtinsランタイム・コンポーネントの次のコンパイラ・オプションを使用できます:

  • -C instrument-coverage (カバレッジ・プロファイリング用)

  • -C profile-generate (プロファイル・ガイド付きの最適化用)

pcpをバージョン6.0.5に更新

Performance Co-Pilot (pcp)パッケージがバージョン6.0.5に更新され、多くの新しいコレクタおよびモニタリング・ツール機能が含まれています。

更新されたバージョンには、次のコレクタ・ツール機能があります:

  • pmdaproc:

    • 最近のカーネルのcgroupごとのIRQ PSIメトリック

    • 新しいproc.smaps.pss_dirtyメトリック

  • pmdasmart: NVMEディスク情報および電源状態メトリックの追加

  • pmdalinux:

    • 最近のカーネルのシステム全体のIRQ PSIメトリック

    • NUMA外部メモリー断片化メトリックの追加

    • 新しいネットワーキング(TCP、ICMP)メトリック

  • pmdaoverhead: プロセスのグループのオーバーヘッドを測定する新しいPMDA

  • pmdahacluster: Pacemaker 2.1.5 crm_monの出力変更を処理するように更新

更新されたバージョンには、次のモニタリング・ツール機能があります:

  • pmieconf:

    • Webフック・アクションの追加(Event Driven Ansible)

    • ファイル記述子の制限をチェックする新しいpmieルールの追加

  • pcp2json: HTTP POSTを送信するオプションがある拡張pcp2json

  • pcp-atop: cgroup、NUMAメモリーおよびNUMA CPUの追加

  • pcp-htop: 新しいオープン・ファイル記述子Meterの追加

  • pcp-ps: 複数のアーカイブ・サンプルを表示する機能の追加

pmieユーティリティによるWebフック・イベントの生成

Performance Co-Pilot (PCP)のPerformance Metrics Inference Engine (pmie)ユーティリティが更新され、Webフック・イベントが生成されるようになりました。構成されたpmieルールは、Event-Driven Ansible (EDA)がルールに対応できるように、EDAが読み取る形式でイベントを生成します。

この機能を有効にするには、特定のエンドポイントまたはURLのWebフックに送信するように、すべてのローカルpmieルールを構成します。次に例を示します:

sudo pmieconf modify global webhook_endpoint https://localhost:443/endpoint
sudo pmieconf modify global webhook_action yes

.NET 8.0の提供

このリリースでは、.NETがバージョン8.0に更新され、C#12およびF#8プログラミング言語のサポートと、.NET Software Development Kitを直接使用したコンテナ・イメージのビルドのサポートが提供されます。このバージョンには、ガベージ・コレクタ(GC)、Just-In-Time (JIT)コンパイラおよびベース・ライブラリのパフォーマンス改善も含まれています。

仮想化

このOracle Linux 9リリースでは、仮想化に関連する次の機能、拡張機能および変更が導入されています。

sevctlがAMD EPYC RomeおよびMilanに対応

sevctlツールは、AMD EPYC RomeおよびAMD EPYC Milanシリーズを含む最新のAMD EPYCコアを認識するため、これらのCPUモデルのAMD Secure Encrypted Virtualization (SEV)機能を構成できます。

コンテナ

このOracle Linux 9リリースでは、コンテナに関連する次の機能、拡張機能および変更が導入されています。

コンテナ・ツール・パッケージの更新

container-toolsモジュールのPodman、Buildah、Skopeo、crunおよびruncパッケージがバージョン4.6用に更新されました。

Podman v4.6の重要な変更点は次のとおりです:

  • podman kube playコマンドに対する更新:
    • ポッドのコンテナ内で使用する環境変数が指定された1つ以上のKubernetes YAMLファイルを指定できる--configmap=<path>オプション。
    • containerPort名とポート番号を有効性プローブで使用する機能。
    • ポッド・ネットワークの別名としてctrNameを自動追加
    • SELinuxファイルタイプ・ラベルおよびulimit注釈の処理。
  • 指定された名前のシークレットが存在するかどうかを確認するpodman secret existsコマンドが追加されました。
  • podman createpodman runpodman pod create、およびpodman pod cloneコマンドで、--shm-size-systemdオプションを使用してsystemdマウントのtmpfsのサイズを制限できます。
  • podman createコマンドの使用時に、--security-opt label=nestedオプションを指定すれば、限定されたコンテナ内でSELinuxラベル付けを使用できます。
  • ポッド内で実行されているコンテナをPodmanで自動的に更新できます。
  • SQLiteデータベースをバックエンド・データベースとして使用するようにPodmanを構成できます。デフォルトのデータベース・タイプはBoltDBデータベースです。containers.confファイルのdatabase_backendフィールドを設定すれば、データベース・タイプを変更できます。バックエンド・データベースを変更するには、最初にPodmanを初期状態にリセットする必要があります。既存のコンテナおよびポッドはすべて失われるので、バックエンド・データベースの変更後に再作成する必要があります。この機能は、テクノロジ・プレビューとして使用できます。
  • Quadletを使用すると、コンテナの摘要からsystemdサービス・ファイルを自動的に生成できます。PodmanでのQuadletの使用を参照してください。

PodmanでのQuadletの使用

Podman 4.6でQuadletを使用できます。Quadletを使用すると、コンテナの摘要からsystemdサービス・ファイルを自動的に生成できます。コンテナの摘要はsystemdユニット・ファイル形式であり、systemdでコンテナを実行する際の技術的な複雑さを軽減します。Quadlet形式の摘要は、systemdユニット・ファイルよりも書き込みや保守が容易な場合があります。

起動時にカーネル・コマンドライン引数としてsystemd.unified_cgroup_hierarchy=1オプションを設定してcgroups v2を有効にしないかぎり、ルートレス・モードではquadletを実行できないことに注意してください。たとえば、システムを再起動する前に、次のいずれかのコマンドを実行します:

sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="systemd.unified_cgroup_hierarchy=1"
sudo grubby --update-kernel=DEFAULT --args="systemd.unified_cgroup_hierarchy=1"
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"

詳細は、Quadletのアップストリーム文書を参照してください。

Podmanに含まれるpodmanshログイン・シェル

Podman v4.6以降、Podmanログイン・シェルを使用できます。ログイン・シェルとして/usr/bin/podmanshを使用するようにユーザー設定を構成します。このコマンドは、podmanshという名前のPodmanコンテナに対してユーザーのセッションを実行します。

Quadletファイルは、ユーザーがログインできるコンテナを定義します。quadletは通常、構成ファイルとして/etc/containers/systemd/users/<uid>/podmansh.containerに格納されます。<uid>は、各ユーザーのユーザーIDです。これらのファイルでは、[Container]セクションのContainerNameフィールドがpodmanshに設定されます。プロキシを使用する場合は、次のようにプロキシの詳細を[Service]セクションに追加することもできます:

[Service]
Environment="http_proxy=http://proxy.example.com:80"
Environment="https_proxy=http://proxy.example.com:80"

Systemdは、ユーザー・セッションの開始時にPodmanシェルを自動的に起動し、すべてのユーザー・セッションが終了するまで実行を継続します。

podmanshユーザー・セッションはSSHを介して接続されます。前の接続が失敗した場合、接続を再試行することが必要になる場合があります。

詳細は、https://blog.podman.io/2023/08/podman-v4-6-introduces-podmansh-a-revolutionary-login-shell/を参照してください。

サポート

このOracle Linux 9リリースでは、サポートに関連する次の機能、拡張機能および変更が導入されています。

sosユーティリティをバージョン4.6に更新

構成、診断およびトラブルシューティングのデータを収集するためのSupportability and Serviceability (sos)ユーティリティは、次のような機能拡張とともにバージョン4.6に更新されます:

  • トラブルシューティングに役立つレポートおよびロギング方法の改善。
  • レポート生成のためのcgroupデータおよびその他の情報の収集における修正。
  • レポートのためにデータを収集する際のユーザー名、パスワードおよびその他の機密データの処理方法のセキュリティを強化する修正。

sosの各リリースの詳細は、アップストリームのリリース・ノートを参照してください。

クラウド環境

次の変更と機能は、クラウド環境で使用されるOracle Linuxに適用されます。

cloud-initユーティリティでのNetworkManagerキーファイルの使用

cloud-initユーティリティはNetworkManagerキーファイルを使用して、作成されたクラウド・インスタンスのネットワークを構成できます。

ノート:

デフォルトでは、cloud-initsysconfigメソッドを使用してネットワークを構成します。かわりにNMキーファイルを使用するようにcloud-initを設定するには、/etc/cloud/cloud.cfgを編集します。network行で、次のようにnetwork-managerをプライマリ・ネットワーク・レンダラとして設定します。

network:
      renderers: ['network-manager', 'eni', 'netplan', 'sysconfig', 'networkd']