2 新機能および変更点

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

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

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

DNFにoffline-upgradeコマンドを追加

Oracle Linuxに、DNF system-upgradeプラグインのdnf offline-upgradeコマンドが追加されました。リブートの後、パッケージ更新の影響を受ける可能性のあるライブラリがロードされる前に、パッケージ・インストールを実行することにより、アップグレード時のシステムを保護するには、オフライン・アップグレードが役立ちます。

この機能には、--advisory--security--bugfixなどのセキュリティ・アドバイザ・フィルタを適用して、パッケージおよびその依存関係のダウンロードを、指定したアドバイザに限定するオプションが含まれています。

DNF APIにunload_plugins関数を追加

DNF APIにunload_plugins関数が追加されたため、このAPIを使用してプラグインをアンロードできます。この機能を使用するには、最初にinit_plugins関数を実行してから、unload_plugins関数を実行します。

rpm2archive--nocompressionオプションを追加

rpm2archiveコマンドに、RPMパッケージの解凍時に圧縮されないようにする--nocompressionオプションが追加されました。

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

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

chronyをバージョン4.3に更新

chronyパッケージがバージョン4.3に更新されました。主な機能および変更点は次のとおりです。

  • ネットワーク・タイム・プロトコル(NTP)測定の長期分位数ベースのフィルタリング。これを有効にするには、maxdelayquantオプションをpoolserverまたはpeerディレクティブに追加します。
  • 選択ログで、ソースのchronyd選択に関する詳細情報を提供します。これを有効にするには、selectionオプションをlogディレクティブに追加します。
  • ハードウェア・タイムスタンプおよびPulse-Per-Secondハードウェア・クロック(PHC)参照クロックを使用する場合の同期の安定性が向上しました。
  • 温度補償水晶発振器(TCXO)、オーブン制御水晶発振器(OCXO)、原子時計など、フリーランニング安定クロックを使用したシステム・クロックの安定化。
  • 最大ポーリング・レートが1秒当たり128メッセージに増えました。

FRRoutingをバージョン8.3.1に更新

frrパッケージがバージョン8.3.1に更新されました。主な機能および変更点は次のとおりです。

  • FRRデーモンを管理するための新しいコマンド: show thread timersはFRRのタイマー・データを表示します。
  • 新しいボーダー・ゲートウェイ・プロトコル(BGP)関連コマンド:

    • set as-path replace: BGPルートの自律システム(AS)パス属性を新しい値に置き換えます。
    • match peer: BGPルート・マップの構成時に特定のBGPピアまたはグループを照合します。
    • ead-es-frag evi-limit: EVPNで指定した期間内に送信できるEVIフラグメントごとのイーサネットA-Dの数に制限を設定します。
    • match evpn route-type: ルート・ターゲット、ルート識別子、MAC/IPルートなど、特定のタイプのEVPNルートに対するアクションを指定するために使用します。
  • プロトコル非依存型マルチキャスト(PIM)デーモンの新しいコマンド:

    • debug igmp trace detail: 詳細なトレースを使用したインターネット・グループ管理プロトコル(IGMP)メッセージのデバッグを有効にします。
    • ip pim passive: インタフェースをパッシブに設定し、PIMメッセージの送信を無効にします。
  • Open Shortest Path First (OSPF)プロトコルの新しいコマンド: show ip ospf reachable-routersは、コマンドの実行時に到達可能なルーターのリストを表示します。
  • ECMP、EVPNおよびMPLSのステータスを含む、show zebraコマンドの新しい出力。

詳細は、https://github.com/FRRouting/frr/releases?q=8.3.1&expanded=trueを参照してください。

FRRのSELinuxルールは、新機能および変更がリリースされる際にSELinuxとの統合を改善するためにfrrパッケージに追加されました。

Very Secure FTP Daemonをバージョン3.0.5に更新

Very Secure FTP Daemon (vsftpd)がバージョン3.0.5に更新されました。主な機能および変更点は次のとおりです。

  • セキュアな接続にTLSバージョン1.2以降を使用するためのデフォルトの要件。
  • 最新のFileZillaクライアントで使用するための互換性の更新。

バージョン2.15に更新されたpowertop

powertopパッケージがバージョン2.15に更新されました。主な機能および変更点は次のとおりです。

  • 一般的な修正と安定性の向上
  • RyzenプロセッサおよびKaby Lakeプラットフォームとの互換性の向上
  • Lake Field、Alder Lake N、Raptor Lakeのプラットフォーム機能の有効化
  • Ice Lake NNPIおよびMeteor Lakeのモバイルおよびデスクトップ機能の有効化

systemd-sysusers統合のパッケージ更新

systemd-sysusersユーティリティは、パッケージのインストール時にシステム・ユーザーおよびグループを作成し、パッケージの削除時にそれらを削除します。systemd-sysusersユーティリティと統合するために、複数のパッケージが更新されました。更新されたパッケージは、次のとおりです。

  • chrony
  • dhcp
  • radvd
  • squid

周波数同期用のsynce4lパッケージを追加

synce4lパッケージで、PTPクロックにより物理レイヤーで周波数を正確に同期するのに役立つハードウェア機能であるSyncE (同期イーサネット)を含むデバイスを管理します。SyncEは、特定のネットワーク・インタフェース・カード(NIC)およびネットワーク・スイッチで使用でき、通信会社の無線アクセスネットワーク(RAN)アプリケーションで正確な時間同期を実現して、通信効率を向上するのに役立ちます。詳細は、https://github.com/intel/synce4lを参照してください。

TuneDをバージョン2.20.0に更新

tunedパッケージがバージョン2.20.0に更新されました。主な機能および変更点は次のとおりです。

  • 実行時にプラグインインスタンス間でデバイスを移動しやすくするためのAPI更新。
  • plugin_cpuモジュールの更新:

    • pm_qos_resume_latency_us機能は、各CPUがアイドル状態からアクティブ状態に遷移するために許容される最大時間を制限します。
    • Intel® _pstateスケーリング・ドライバは、使用シナリオに基づいてシステムの電源管理をチューニングするためのスケーリング・アルゴリズムを提供します。

バージョン4.17.5に更新更新されたsamba

sambaパッケージがアップストリーム・バージョン4.17.5にアップグレードされました。主な機能および変更点は次のとおりです。

  • メタデータのワークロードが高い場合のサーバー・メッセージ・ブロック(SMB)サーバーのセキュリティ関連のパフォーマンスの向上。
  • ステータス情報をJSON形式で表示するための、smbstatusコマンドへの--JSONオプションの追加。
  • Samba構成をPythonプログラムから直接読み書きしやすくするための、smbconf Python APIへのsamba.smb.confおよびsamba.samba3.smb.confモジュールの追加。

サーバー・メッセージ・ブロック・バージョン1 (SMB1)プロトコルは、Samba 4.11以降では非推奨です。SMB1は、今後のリリースで削除される予定です。Sambaを起動する前に、データベース・ファイルをバックアップしてください。smbdnmbdまたはwinbindサービスが起動されると、Sambaによってそのtdbデータベース・ファイルが自動的に更新されます。tdbデータベース・ファイルのダウングレードはサポートされていません。Sambaを更新した後、testparmユーティリティを使用して/etc/samba/smb.confファイルを検証します。

セキュリティ

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

バージョン4.9に更新されたLibreswan

次の機能が追加されました:

  • addconnおよびwhackに対する{left,right}pubkey=

  • Cryptoに対するKDFセルフテスト

  • seccompのsyscall許可リストの更新

  • ECDSA公開キーに対するホストの表示の認証キー(showhostkey)のサポート、およびPEMでエンコードされた公開キーの--PEMオプションによる表示

  • インターネット・キー交換プロトコル・バージョン2 (IKEv2)およびpluto IKEデーモンの新機能

OpenSSLをバージョン3.0.7に更新

OpenSSLパッケージがバージョン3.0.7に更新されました。主な機能および変更点は次のとおりです。

  • 様々なバグ修正および改善
  • デフォルトのプロバイダに、RIPEMD160ハッシュ関数が追加されました。

SELinuxユーザー空間パッケージをバージョン3.5に更新

SELinuxユーザー空間パッケージがバージョン3.5に更新されました。影響を受けるパッケージは、libselinuxlibsepollibsemanagecheckpolicymcstransおよびpolicycoreutilsです。主な機能および変更点は次のとおりです。

  • sepolicyユーティリティに、PythonおよびGTKの更新が複数含まれています。また、マニュアル・ページも更新され、欠落していた説明がいくつか追加されました。

  • libselinuxが改善され、PCRE2ライブラリによるヒープ・メモリーの使用量が削減されました。
  • libsepolパッケージが更新され、ポリシーの検証がより厳格になり、カーネル・ポリシーのアクセス・ベクター(AV)ルールの属性が拒否されるようになりました。

  • fixfilesスクリプトは、SIGINTシグナルの一時バインド・マウントをアンマウントします
  • semodule--rebuild-if-modules-changedが、--refreshオプションに置き換わりました。
  • バグ修正と、エラーおよび説明(翻訳修正を含む)の改善。

バージョン1.3.7に更新されたOpenSCAP

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

  • OVALフィルタの処理時のエラーが修正されました。
  • XPathが一致しない場合に、無効な空のxmlfilecontentアイテムをOpenSCAPが出力しなくなりました。
  • 使用可能なメモリーの確認に失敗しましたというエラーが削除されました。

バージョン0.1.66に更新されたSCAPセキュリティ・ガイド

SCAPセキュリティ・ガイド(SSG)パッケージがバージョン0.1.66に更新されました。主な機能および変更点は次のとおりです。

  • accounts_passwords_pam_faillock_auditの導入によるルールaccount_passwords_pam_faillock_auditの非推奨
  • よりセキュアな構成を取得するための、Oracle Linux 9のstigおよびstig_guiドラフト・プロファイルの更新。

Rsyslogを更新

RSyslogが更新され、いくつかの変更が追加されました。主な機能および変更点は次のとおりです。

  • TLS暗号化リモート・ロギングの追加の認証局(CA)証明書のリストを指定するために使用できる新しいNetstreamDriverCaExtraFilesディレクティブ。新しいディレクティブは、ossl (OpenSSL) Rsyslogネットワーク・ストリーム・ドライバでのみ使用できます。
  • Rsyslogログ処理システムに対する権限が、Rsyslogに必要な権限に制限されるように改善されました。この更新によって、Rsyslogのセキュリティが強化されますが、既存の機能には影響しません。

SELinuxポリシーにより、Rsyslogが起動時に権限の削除可能

前の項目で説明されているRsyslogログ処理システムの権限制限の結果として、SELinuxポリシーが更新され、rsyslogサービスが起動時に権限を削除できるようになりました。

SELinuxによるudftoolsの限定

更新されたselinux-policyパッケージでは、SELinuxによってudftoolsサービスが限定されます。

Clevisは構成に外部トークンを使用可能

Clevisに新しい-eオプションが追加され、これを使用して外部トークンIDを指定し、cryptsetup中にパスワードを入力しないようにできます。外部トークンIDを使用すると、構成を自動化できます。

Tangがsystemd-sysusersを使用

Tangサーバーは、systemd-sysusersサービスを介してシステム・ユーザーおよびグループの追加を処理して、ユーザー管理を簡略化し、sysuser.dファイルの優先度を高くすることでシステム・ユーザー作成をオーバーライドするオプションを提供します。

FapolicydがRPMデータベースのフィルタリングを提供

fapolicydが信頼データベースに格納するRPMデータベース・ファイルのリストを、新しい/etc/fapolicyd/RPM-filter.conf構成ファイルを編集することによりカスタマイズできます。この機能を使用すると、デフォルトの構成フィルタでオーバーライドして、RPMでインストールされるどのアプリケーションを許可または除外するかを指定できます。

GnuTLSが復号化と暗号化時にPKCS#7パディングを処理

GnuTLSのgnutls_cipher_encrypt3およびgnutls_cipher_decrypt3ブロック暗号関数は、一部のプロトコルで必要なPKCS#7paddingを透過的に処理します。これらの関数をGNUTLS_CIPHER_PADDING_PKCS7フラグと組み合せて使用すると、元のプレーンテキストの長さがブロック・サイズの倍数でない場合にパディングを自動的に追加または削除できます。

NSSが1023ビットより短いRSAキーに非対応

ネットワーク・セキュリティ・サービス(NSS)ライブラリが更新され、すべてのRSA操作の最小キー・サイズが128から1023ビットに変更されました。次のNSSの機能は使用できなくなりました。

  • 1023ビットより短いRSAキーの生成。
  • 1023ビットより短いRSAキーを使用したRSA署名の署名または検証。
  • 1023ビットより短いRSAキーを使用した値の暗号化または復号化。

libsshによるスマート・カードのサポート

スマート・カードは、Public-Key Cryptography Standard (PKCS) #11 Uniform Resource Identifier (URI)を介してサポートされます。したがって、libssh SSHライブラリ、およびlibsshを使用するアプリケーションで、スマート・カードを使用できます。

libsshを0.10.4に更新

libsshライブラリがバージョン0.10.4に更新され、次のサポートが含まれています。

  • OpenSSL 3.0
  • スマート・カードが追加されました。
  • 2つの新しい構成オプションIdentityAgentおよびModuliFileが追加されました。

この更新では、OpenSSLの1.0.1より前のバージョンはサポートされなくなりました。さらに、デジタル署名アルゴリズム(DSA)のサポートが無効になり、SCP APIとpubkey APIおよびprivatekey APIの両方が非推奨になりました。

scap-security-guideルールとRainerScriptログの互換性

scap-security-guideのルールとRainerScript構文の互換性が実現されました。したがって、scap-security-guideルールで、使用可能な両方の構文のRsyslogログ・ファイルの所有権、グループ所有権および権限をチェックおよび修正できます。

Keylimeを6.5.2に更新

このバージョンには、様々な機能強化とバグ修正が含まれており、主なものを次に示します。

  • CVE-2022-3500で報告された脆弱性に対処しました。
  • Keylimeエージェントは、実行中のスクリプト間に競合状態が存在する場合に、IMAアテステーションに失敗しなくなりました。
  • /usr/share/keylime/create_mb_refstateスクリプトのセグメンテーション・フォルトが修正されました。
  • require_ek_certオプションが有効になっている場合、EK検証中にレジストラが失敗しなくなりました

opencryptokiを3.19.0に更新

更新バージョンのパッケージでは、次のような重要な機能が提供されています:

  • 2重機能の暗号化関数
  • PKCS #11 Cryptographic Token Interface Base Specification v3.0に説明されているように、新しいC_SessionCancel関数では、アクティブなセッションベースの操作が取り消されます

ネットワーク

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

NetworkManagerをバージョン1.42.2に更新

NetworkManagerパッケージがバージョン1.42.2に更新されました。主な機能および変更点は次のとおりです。

  • イーサネット・ボンドは、ソース・ロード・バランシング用に構成できます。
  • NetworkManagerは、loopbackデバイス上の接続を管理できます。
  • IPv4等コスト・マルチパス(ECMP)ルート管理が含まれています。
  • 仮想ローカル・エリア・ネットワーク(VLAN)接続での802.1adタグ付けが可能になりました。
  • nmtuiアプリケーションは、Wi-Fi WPA-Enterprise、802.1X認証を備えたイーサネットおよびMACsec接続プロファイルで使用できます。
  • NetworkManagerが更新され、すべてのアドレスでIPv6重複アドレス検出(DAD)に失敗した場合は、DHCPv6リースが拒否されるようになりました。

詳細は、https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/1.42.2/NEWSを参照してください。

NetworkManagerのECMPルーティングで重みを使用可能

IPv4等コスト・マルチパス(ECMP)ルートを定義するときに、weightプロパティを使用してNetworkManagerを構成できるようになりました。マルチパス・ルーティングを構成して、ネットワーク・トラフィックの負荷分散を行い、安定させることができます。weightプロパティには、1から256の値を指定できます。weightプロパティを使用する単一ホップ・ルートとして、複数のネクストホップ・ルートを定義する必要があります。ルートにweightプロパティが設定されていない場合、ルートはECMPルートにマージされません。

NetworkManagerでbalance-slbボンディング・モードを使用可能

NetworkManagerで、ソース・ロード・バランシングの構成に使用されるbalance-slbボンディング・モードを使用できます。balance-slbモードは、xmit_hash_policy=vlan+srcmacを使用してソース・イーサネット・アドレスのトラフィックを分割し、NetworkManagerはトラフィック・フィルタリングに必要なnftablesルールを自動的に追加します。

NetworkManagerの複数のネットワークにわたる柔軟なDNS構成

/etc/Networkmanager/NetworkManager.confファイルの[global-dns]セクションは、[global-dns-domain-*]セクションでnameserverの値を指定せずに構成できます。nameserver構成を回避することで、実際のDNS解決のためにネットワーク接続によって提供されるDNSサーバーに依存しながら、/etc/resolv.confファイルでDNSを構成できます。この更新により、複数のネットワークにわたるDNSの構成が簡単になります。

NetworkManagerでVLANプロトコルを指定可能

vlanインタフェース・タイプは、NetworkManagerのprotocolプロパティを使用して構成し、カプセル化用に識別されるタグを制御するVLANプロトコルを指定できます。このプロパティは、802.1Q (デフォルト)または802.1adのいずれかに設定できます。

NetworkManagerで管理対象外インタフェースにVLANを構成可能

NetworkManagerでは、VLANを構成するときに、管理対象外のネットワーク・インタフェースをベース・インタフェースとして構成できます。NetworkManagerによって明示的に変更されないかぎり、VLANベース・インタフェースはそのまま維持されます。

NetworkManagerでloopbackインタフェース接続を構成可能

NetworkManagerでは、追加のIPアドレス、DNS構成、インタフェースおよびMTU設定にバインドされていないルーティングを提供するようにloopbackインタフェースを構成できます。

nmstate APIがDNSサーバー・エントリのIPv6リンクローカル・アドレスを受入れ

nmstate APIが更新され、DNSサーバー・エントリのIPv6リンクローカル・アドレスを受け入れるようになりました。次のように<link-local_address>%<interface>形式を使用します。

dns-resolver:
  config:
    server:
    - fe80::deef:1%enp1s0

nmstate APIのすべてのインタフェースにデフォルトのMTU範囲プロパティを追加

min-mtuおよびmax-mtuの値のデフォルト・プロパティはすべてのインタフェースに設定されるため、必要なMTUが範囲外の場合、nmstateは使用可能なMTU範囲を示します。

firewalldをバージョン1.2に更新

firewalldパッケージがバージョン1.2に更新されました。主な機能および変更点は次のとおりです。

  • 新しいサービス(Kodi JSON-RPC、EventServer、netdata、IPFSなど)。
  • フェイルセーフ・モードを使用すると、システムが保護された状態が維持され、firewalldサービスの起動時にエラーが発生した場合でもネットワーク通信が継続されます。ユーザー構成でエラーが発生した場合、または別の起動の問題によってfirewalldサービスが失敗した場合、firewalldはフェイルセーフのデフォルトに戻ります。
  • 一部のfirewalldポリシー・コマンドのCLIでタブ補完が更新されました。

conntrack-toolsをバージョン1.4.7に更新

conntrack-toolsパッケージがバージョン1.4.7に更新されました。主な機能および変更点は次のとおりです。

  • 新しいIPS_HW_OFFLOADフラグ。これは、conntrackエントリのハードウェアへのオフロードを指定します。
  • 新しいclash_resolveおよびchaintoolong統計カウンタ。
  • IPアドレス・ファミリによるイベントのフィルタリング。
  • conntrackd.confファイルは、'on'および'off'のシノニムとして'yes'または'no'の値を受け入れます。
  • デーモンの起動時にユーザー空間ヘルパーを自動的にロードするように構成できます。ユーザーは、nfct add helperコマンドを手動で実行する必要はありません。
  • -o userspaceコマンド・オプションが削除され、ユーザー空間でトリガーされたイベントが常にタグ付けされます。
  • 外部注入の問題は警告としてのみ記録されます。
  • キャッシュ・エントリを検索するときにconntrack IDが無視され、古い失効したエントリが置き換えられます。
  • ssdp cthelperモジュールでのIPv6 M-SEARCHリクエストの解析が修正されました。
  • nfctライブラリでは遅延バインディングが必要なくなりました。
  • プロトコル値の解析が改善され、無効な値の検出が向上しました。

xdp-toolsをバージョン1.3.1に更新

xdp-toolsパッケージがバージョン1.3.1に更新されました。主な機能および変更点は次のとおりです。

  • 新しいユーティリティ・コマンド:

    • xdp-bench: 受信側でのXDPベンチマークの実行。
    • xdp-monitor: カーネル・トレース・ポイントを使用したXDPエラーおよび統計のモニタリング。
    • xdp-trafficgen: XDPドライバ・フックを介したトラフィックの生成および送信。
  • libxdpライブラリの新機能:

    • プログラムをAF_XDPソケットにアタッチする際の参照カウントが改善されたため、ソケットの使用時にアプリケーションでXDPプログラムを手動で切り離す必要がなくなりました。
    • 新しい関数がライブラリに追加されました。

      • xdp_program__create() (xdp_programオブジェクトの作成用)
      • xdp_program__clone() (xdp_program参照のクローニング用)
      • xdp_program__test_run() (BPF_PROG_TEST_RUNカーネルAPIを介したXDPプログラムの実行用)
      • xdp_multiprog__xdp_frags_support()xdp_program__set_xdp_frags_support()およびxdp_program__xdp_frags_support()関数が、XDP fragsまたはマルチバッファXDPを使用してプログラムをロードするために追加されました。
    • LIBXDP_BPFFS_AUTOMOUNT環境変数を設定すると、libxdpライブラリは、bpffs仮想ファイル・システムが見つからない場合は自動的にマウントします。また、ライブラリ機能のサブセットは、bpffsがマウントされていない場合でも機能するようになりました。

このバージョンでは、ネットワーク・デバイスにロードされているXDPディスパッチャ・プログラムのバージョン番号も変更されます。以前のバージョンと新しいバージョンのlibxdpおよびxdp-toolsは同時に使用できません。libxdp 1.3ライブラリには、古いバージョンのディスパッチャが表示されますが、自動的にアップグレードされません。libxdp 1.3でロードされたプログラムは、以前のバージョンのライブラリでロードされたプログラムでは動作しません。

iprouteをバージョン6.1.0に更新

iprouteパッケージがバージョン6.1.0に更新されました。主な機能および変更点は次のとおりです。

  • vdpaコマンドに、デバイス統計を読み取る機能が追加されました。たとえば、索引1のvirtqueueデータ構造を読み取るには、次を実行します。

    sudo vdpa dev vstats show vdpa-a qidx 1
  • 対応するマニュアル・ページの更新

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

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

BPF機能をアップストリームLinux 6.0のバージョンに更新

Red Hat Compatible Kernel (RHCK)のBerkeley Packet Filter (BPF)機能が、アップストリームLinux 6.0に更新されました。カーネル・モジュールのBPF Type Format (BTF)に依存するすべてのBPF機能が有効になります。これには、トレース用のBPFトランポリンの使用、Compile Once - Run Everywhere (CO-RE)原則の可用性、および複数のネットワーク関連機能が含まれます。また、カーネル・モジュールにはデバッグ情報も含まれています。つまり、実行中のモジュールを検査するためにdebuginfoパッケージをインストールする必要がなくなりました。実行中のカーネルで使用可能なBPF機能の完全なリストの詳細は、bpftool featureコマンドを使用します。

コマンドライン引数の解析を向上させるためにtunaコマンドを更新

tunaコマンドはargparseを使用してコマンドライン引数の解析を向上させ、CLIはコマンドとオプションの標準化されたメニューを表示できるようになりました。次のタスクを実行できるようになりました。

  • アプリケーションおよびカーネル・スレッドの属性を変更します。
  • 名前または番号で割込み要求(IRQ)を操作します。
  • プロセス識別子を使用してタスクまたはスレッドを操作します。
  • CPUまたはソケット番号を使用してCPUおよびCPUセットを指定します。

tuna -hコマンドを使用して、コマンドライン引数および対応するオプションを出力することもできます。

この機能はUEKでも機能します。

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

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

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

nvme-cliパッケージがバージョン2.2.1に更新されました。主な機能および変更点は次のとおりです。

  • NVMeサブシステム・トポロジを表示する新しいnvme show-topologyコマンド。
  • uint128データ・フィールドが正しく表示されます。
  • libnvme依存関係がバージョン1.2に更新されました。
  • libuuid依存関係が削除されました。

libnvmeをバージョン1.2に更新

libnvmeパッケージがバージョン1.2に更新されました。libuuidライブラリの依存関係が削除されました。

Stratisがプール内で一貫したブロック・サイズを強制

プール内でブロック・サイズが混在しているデバイスが存在する場合に、エッジ・ケースの潜在的な問題が発生する可能性があります。この強制により、ユーザーは、異なるブロック・サイズを持つデバイスが含まれるプールを作成したり、異なるブロック・サイズを持つ新しいデバイスをプール内の既存のデバイスに追加できません。その結果、プール失敗のリスクが軽減されます。

Stratisプール内の既存のディスク拡張のサポート

以前のバージョンのStratisは、サイズが増加したRAIDアレイ内のデバイスを認識しませんでした。したがって、ユーザーは新しいディスクを追加することによってのみプール・サイズを増やすことができました。この改善により、Stratisはサイズが増加したデバイスを認識できるようになりました。そのため、Stratisは、新しいディスクを追加してプールを拡張する既存の機能に加えて、プール内の既存のディスクの拡張をサポートできるようになりました。

lvreduceコマンドの機能の向上

lvreduceコマンドは、lvreduce esizefsオプションを有効にしないかぎり、アクティブな論理ボリューム(LV)のサイズを縮小しません。この方法では、LVのサイズ縮小に起因するファイル・システムの損傷のリスクが防止されます。

論理ボリュームを縮小しながらファイル・システムをより適切に制御するために、このコマンドで新しいオプションを使用できるようになりました。

高可用性とクラスタ

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

PacemakerがリソースおよびStonithエージェントにvalidate-all処理を実行可能

リソースまたはSTONITHデバイスを作成または更新するときにvalidate-all --agent-validationコマンド・オプションを使用して、エージェントのメタデータに基づいてpcsによって実行される検証に検証を追加してトリガーできます。

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

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

Python 3.11を使用可能

Python 3.11はパッケージpython3.11で提供されます。Python 3.11と互換性のある追加のパッケージ・スイートも提供されます。主な機能および変更点は次のとおりです。

  • パフォーマンスが向上しました。
  • 新しいmatchキーワード(他の言語のswitchと同様)は、構造パターン一致に使用できます。
  • エラー・メッセージ(閉じられていない小カッコや大カッコを示すなど)が改善されました。エラーの原因となった式を示すトレースバック内の正確なエラー位置。デバッグおよびその他のユースケースの正確な行番号。
  • 定義をカッコで囲んで複数行にわたるコンテキスト・マネージャを定義する機能。
  • タイプ・ヒントおよびtypingモジュールに関連する様々な新機能(新しいX | Yタイプの和集合演算子、可変個引数ジェネリックス、新しいSelfタイプなど)。
  • TOMLの解析に使用できる新しいtomllib標準ライブラリ・モジュール。
  • 例外グループおよび新しいexcept*構文を使用して、関連性のない複数の例外を同時に生成および処理する機能。

Gitをバージョン2.39.1に更新

gitバージョン管理システムがバージョン2.39.1に更新されました。主な機能および変更点は次のとおりです。

  • git logコマンドにgit describe出力の書式プレースホルダが含まれています: git log --format=%(describe)
  • git commitコマンドに--fixup<commit>オプションが含まれているため、ログ・メッセージを変更せずにコミットの内容を修正できるようになりました。この更新により、次も使用できるようになりました。

    • --fixup=amend:<commit>オプションは、メッセージと内容の両方を変更します。
    • --fixup=reword:<commit>オプションは、コミット・メッセージのみを更新します。
  • git cloneコマンドに、シャロー・リポジトリからのクローニングを無効にする--reject-shallowオプションが含まれています。
  • git branchコマンドに--recurse-submodulesオプションが含まれています。
  • git merge-treeコマンドを使用して、次のことができます。

    • 2つのブランチをマージできるかどうかをテストします。
    • ブランチがマージされた場合にマージ・コミットが発生するツリーを計算します。
  • safe.bareRepository構成変数で、ベア・リポジトリをフィルタで除外できます。

バージョン3.2.0に更新されたgit-lfs

Git Large File Storage (LFS)拡張機能がバージョン3.2.0に更新されました。主な機能および変更点は次のとおりです。

  • Git LFSは、純粋なSSHベースのトランスポート・プロトコルを導入しました。
  • Git LFSはマージ・ドライバを提供します。
  • git lfs fsckコマンドは、ポインタが正規であり、必要なLFSファイルの形式が正しいことを確認します。
  • NT LAN Manager (NTLM)認証プロトコルが削除されました。かわりにKerberosまたはBasic認証を使用してください。

nginx:1.22をモジュール・ストリームとして使用可能

nginx 1.22 Webおよびプロキシ・サーバーは、nginx:1.22モジュール・ストリームとして使用できるようになりました。新機能および変更点は次のとおりです。

  • OpenSSL 3.0統合、およびOpenSSL 3.0を使用する場合のSSL_sendfile()関数の処理。
  • PCRE2ライブラリとの統合。
  • mailプロキシ・モジュールでのPOP3およびIMAPのパイプライン処理。また、Auth-SSL-ProtocolおよびAuth-SSL-Cipherヘッダー行は、メール・プロキシ認証サーバーに渡されます。
  • ssl_conf_commandssl_reject_handshakeなど、複数の新しいディレクティブを使用できます。
  • 複数のディレクティブ(proxy_cookie_flagsproxy_ssl_certificateproxy_ssl_certificate_keygrpc_ssl_certificategrpc_ssl_certificate_keyuwsgi_ssl_certificateおよびuwsgi_ssl_certificate_key)で変数を使用できます。
  • ストリーム・モジュールのlistenディレクティブは、新しいfastopenパラメータを使用して、ソケットをリスニングするためにTCP Fast Openモードを使用できるようになりました。
  • 新しいmax_errorsディレクティブがmailプロキシ・モジュールに追加されました。
  • nginxは次の場合に常にエラーを返します。

    • CONNECTメソッドが使用されています。
    • Content-LengthヘッダーとTransfer-Encodingヘッダーの両方がリクエストに指定されています。
    • リクエスト・ヘッダー名に空白または制御文字が含まれています。
    • Hostリクエスト・ヘッダー行に空白または制御文字が含まれています。
  • nginxは、Transfer-Encodingヘッダーを含むすべてのHTTP/1.0リクエストをブロックします。
  • nginxは、Application Layer Protocol Negotiation (ALPN)を使用してHTTP/2接続を確立するようになり、Next Protocol Negotiation (NPN)プロトコルを使用できなくなりました。

mod_securityをバージョン2.9.6に更新

Apache HTTPサーバーのmod_securityモジュールがバージョン2.9.6に更新されました。主な機能および変更点は次のとおりです。

  • modsecurity.conf-recommendedファイル内のパーサーのアクティブ化ルールが調整されました。
  • HTTPマルチパート・リクエストの解析が改善されました。
  • 新しいMULTIPART_PART_HEADERSコレクション。
  • マイクロ秒のタイムスタンプの解決は、フォーマットされたログ・タイムスタンプで使用されます。
  • 欠落していたエントリに対して地理的国が更新されました

postgresql:15モジュール・ストリームの追加

PostgreSQLバージョン15は、postgresql:15モジュール・ストリームとして提供されています。PostgreSQL 15には、バージョン13に対するいくつかの新機能および拡張機能が含まれています。詳細は、https://www.postgresql.org/docs/release/15.0/を参照してください。

モジュール・ストリームのライフサイクル情報は、Oracle Linux: 製品ライフサイクル情報で入手できます。

nodejs:18 バージョン18.14がnpmバージョン9を含む

更新されたNode.js 18.14には、バージョン8からバージョン9にSemVerがメジャー・アップグレードされたnpmが含まれています。この更新では、セキュリティを向上させるために、スコープなしの認証構成のサポートが削除されています。この更新により、現在のnpm構成の調整が必要になる場合があります。

スコープなしの認証トークンを使用する場合は、.npmrcファイルでレジストリ・スコープのトークンを生成して指定してください。.npmrcファイルに_authを使用する行(///registry.npmjs.org/:_authなど)が含まれている場合は、これらの行を///registry.npmjs.org:_authToken=${NPM_TOKEN}に置き換えます。次に、生成されたスコープありのトークンを適用します。

新しいTomcatパッケージの導入

現在のOracle Linuxリリースには、Apache Tomcatサーバー・バージョン9が含まれています。Tomcatは、JavaサーブレットおよびJavaServer Pagesテクノロジの公式リファレンス実装で使用されているサーブレット・コンテナです。Tomcatはオープンな参加型環境で開発され、Apache Software Licenseバージョン2.0でリリースされています。

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

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

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

Oracle Linux 9.2では、次のシステム・ツールチェーン・コンポーネントが更新されました。

  • GCC 11.3.1
  • glibc 2.34
  • binutils 2.35.2

Oracle Linux 9.2では、次のパフォーマンス・ツールおよびデバッガが更新されました。

  • GDB 10.2
  • Valgrind 3.19
  • SystemTap 4.8
  • Dyninst 12.1.0
  • elfutils 0.188

Oracle Linux 9.2では、次のパフォーマンス・モニタリング・ツールが更新されました。

  • PCP 6.0.1
  • Grafana 9.0.9

Oracle Linux 9.2では、次のコンパイラ・ツールセットが更新されました。

  • GCCツールセット12
  • LLVMツールセット15.0.7
  • Rustツールセット1.66.1
  • Goツールセット1.19.6

GCCツールセット12を更新

GCCツールセット12は、最新バージョンの開発ツールを提供するコンパイラ・ツールセットです。このツールセットは、AppStreamリポジトリのソフトウェア・コレクションの形式でアプリケーション・ストリームとして使用できます。主な機能および変更点は次のとおりです。

  • GCCコンパイラがバージョン12.2.1に更新されました。
  • annobinがバージョン11.08に更新されました。

GCCツールセット12では、次のツールおよびバージョンが提供されます。

ツール バージョン
GCC 12.2.1
GDB 11.2
binutils 2.38
dwz 0.14
annobin 11.08

GCCツールセット12をインストールするには、次のコマンドをrootとして実行します。

sudo dnf install gcc-toolset-12

GCCツールセット12のツールを実行するには:

scl enable gcc-toolset-12 tool

GCCツールセット12のツール・バージョンがこれらのツールのシステム・バージョンをオーバーライドするシェル・セッションを実行するには:

scl enable gcc-toolset-12 bash

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

LLVMツールセットがバージョン15.0.7に更新されました。この更新には、C99以降ではデフォルトで-Wimplicit-function-declarationおよび-Wimplicit-int警告を有効にする変更が含まれています。

Goツールセットをバージョン1.19.6に更新

Goツールセットがバージョン1.19.6に更新され、いくつかの重要なセキュリティおよびバグ修正が含まれています。

システムGCCコンパイラを更新

システムGCCコンパイラ(バージョン11.3.1)が更新され、アップストリームのGCCで使用可能な多数のバグ修正および拡張機能が追加されました。GNUコンパイラ・コレクション(GCC)は、C、C++およびFortranプログラミング言語でアプリケーションを開発するためのツールを提供します。

Performance Co-Pilotをバージョン6.0に更新

Performance Co-Pilot (PCP)がバージョン6.0に更新されました。重要な改善は次のとおりです。

  1. バージョン3のPCPアーカイブ:

    インスタンス・ドメイン変更デルタ、2038年対応タイムスタンプ、ナノ秒精度のタイムスタンプ、任意のタイムゾーン、およびより大きな(2GBを超える)個々のボリューム全体で使用される64ビット・ファイルのオフセットはすべて、/etc/pcp.confファイルでPCP_ARCHIVE_VERSION設定を構成することによって使用できます。

    バージョン2のアーカイブはデフォルトのままです。

  2. PCP全体ではOpenSSLのみが使用されます。Mozilla NSS/NSPRの使用は中止されました。

    libpcpPMAPIクライアントおよびPMCDの暗号化の使用は影響を受けます。これらの要素は、すでにOpenSSLを使用していたpmproxy HTTPSサポートおよびredis-serverによって一貫して構成および使用されるようになりました。

  3. タイムスタンプを使用するPCPライブラリ・インタフェースの新しいナノ秒精度のタイムスタンプPMAPI呼出しは、オプションで使用するために含まれていますが、既存のツールでは完全な下位互換性が維持されています。

  4. 次のツールおよびサービスが更新されました。

    pcp2elasticsearch
    認証機能が有効になっています。
    pcp-dstat
    top-alikeプラグインを使用できます。
    pcp-htop
    最新の安定したアップストリーム・リリースに更新されました。
    pmseries
    sumavgstdevnth_percentilemax_instmax_samplemin_instおよびmin_sample関数が追加されました。
    pmdabpf
    CO-RE (Compile Once - Run Everywhere)モジュールが追加されました。
    pmdabpftrace
    自動起動スクリプトの例が/usr/shareディレクトリに移動されました。
    pmdadenki
    複数のアクティブなバッテリを使用できます。
    pmdalinux
    最新の/proc/net/netstatの変更の更新。
    pmdaopenvswitch
    追加のインタフェースおよびカバレッジ統計が追加されました。
    pmproxy
    リクエスト・パラメータをリクエスト本文で送信できるようになりました。
    pmieconf
    Open vSwitchメトリックの複数のpmieルールが追加されました。
    pmlogger_farm
    ファーム・ロガーのデフォルト構成ファイルが追加されました。
    pmlogger_daily_report
    効率化のためのコード変更。

grafanaをバージョン9.0.9に更新

grafanaパッケージがバージョン9.0.9に更新されました。主な機能および変更点は次のとおりです。

  • 時系列パネルがデフォルトの視覚化オプションになり、グラフ・パネルに置き換わりました
  • 新しいヒートマップ・パネル
  • 新しいPrometheusおよびLokiクエリー・ビルダー
  • Grafanaアラートを更新
  • UI/UXおよびパフォーマンスの改善
  • ライセンスをApache 2.0からGNU Affero General Public License (AGPL)に変更

オプトインの実験機能として、次のものが提供されています。

  • 新しい棒グラフ・パネル
  • 新しい状態タイムライン・パネル
  • 新しいステータス履歴パネル
  • 新しいヒストグラム・パネル

grafana-pcpをバージョン5.1.1に更新

grafana-pcpパッケージがバージョン5.1.1に更新されました。主な機能および変更点は次のとおりです。

  • 問合せエディタにレート会話および時間使用会話を無効にするボタンが追加されました。
  • Redisの非推奨のlabel_values(metric, label)関数が削除されました。
  • 多数の系列を持つメトリックのネットワーク・エラーが修正されました(Performance Co-Pilot v6+が必要)。
  • pmproxy APIタイムアウトを1分に設定します。

tzdataパッケージにleap-seconds.listファイルを追加

/usr/share/zoneinfo/leap-seconds.listファイルは、以前にtzdataパッケージに付属していた/usr/share/zoneinfo/leapsecondsファイルの代替形式に対応しています。両方の形式が含まれていることで、ほぼすべての時間サービスで使用される協定世界時(UTC)の値から国際原子時(TAI)を計算するためにいずれかの形式を使用することを選択するアプリケーションをサポートします。

仮想化

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

passtパッケージを導入

このパッケージを使用すると、libvirt (qemu:///session)の非特権接続モードで実行されている仮想マシンおよびコンテナにそれぞれpasstおよびpastaネットワーク接続を構成できます。これら2つの機能により、IPv6についてさらに次の改善を行いました。

  • 近隣探索プロトコル(NDP)レスポンダおよびDHCPv6の使用
  • IPv6上のTCPおよびUDPプロトコルでのポート転送

この更新により、passtパッケージが追加され、passtおよびpastaネットワーク接続を使用できるようになりました。その結果、libvirt (qemu:///session)の非特権接続モードで実行される仮想マシンおよびコンテナにそれぞれpasstおよびpastaを設定できます。

passtの使用方法の詳細は、libvirtのアップストリーム・ドキュメントを参照してください。

Podmanコンテナでpastaを使用するには、-network pastaコマンドライン・オプションを使用します。

コンテナ

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

Podmanイメージ用の複数のGPGキー

/etc/containers/policy.jsonファイルは、信頼できるGPGキーのリストを含むkeyPathsフィールドを受け入れます。コンテナ・ポリシーでの複数のGPGキーの使用は、Podmanが複数のGPGキーのいずれかによって署名されたイメージをインストールできるようにするテクノロジ・プレビュー機能です。

container-toolsパッケージおよびPodmanを更新

Podman v4.4のcontainer-toolsパッケージが更新されました。このパッケージには、Podman、Buildah、Skopeo、crunおよびruncの各ツールが含まれています。この更新では、次の機能と変更が提供されています:

  • Podman v4.4以降のjournaldエントリからコンテナに関する情報を直接監査できます。Podmanの監査を有効にするには、container.conf構成ファイルを変更し、events_container_create_inspect_data=trueオプションを[engine]セクションに追加します。監査データはpodman container inspectコマンドの出力と同等のJSON形式です。
  • コンテナおよびポッドのネットワークを更新するpodman network updateコマンドが追加されています。
  • /usr/libexec/podman/pre-exec-hooksまたは/etc/containers/pre-exec-hooksにプラグイン・スクリプトを作成することにより、Podmanに実行前フックを構成してコンテナ操作を制御するために使用できます。実行前スクリプトは、/etc/containers/podman_preexec_hooks.txtという名前のファイルが存在する場合にのみ実行されます。すべてのプラグイン・スクリプトがゼロ値を返す場合は、podmanコマンドが実行されます。それ以外の場合は、失敗したスクリプトによって返された終了コードでpodmanコマンドが終了します。

  • Buildahバージョンを出力するpodman buildx versionコマンドが追加されました。
  • コンテナ起動時のヘルス・チェックを使用して、通常のヘルス・チェックがアクティブ化される前に、コンテナが完全に起動されていることを確認するコマンドをトリガーできます。
  • 新しいDocker互換性オプションおよび別名が含まれています。
  • kubeコマンドの統合によるKubernetesの統合の改善: podman kube generateおよびpodman kube playにより、podman generate kubeおよびpodman play kubeコマンドが置き換えられています。
  • podman kube playコマンドで作成されたSystemd管理のポッドは、io.containers.sdnotify注釈(または特定のコンテナの場合はio.containers.sdnotify/$name)を使用してsd-notifyと統合されるようになりました。
  • podman kube playで作成されたSystemd管理のポッドは、io.containers.auto-update注釈を使用して自動更新できます。

重要な変更点の詳細は、アップストリームのリリース・ノートを参照してください。

AardvarkおよびNetavarkでカスタムDNSサーバーを選択可能

AardvarkおよびNetavarkネットワーク・スタックを使用するコンテナに対してカスタムDNSサーバーを選択できます。ホスト上のデフォルトのDNSサーバーではなく、お客様のDNSサーバーをコンテナで使用できます。カスタムDNSサーバーを有効にするには、containers.conf構成ファイルにdns_serversフィールドを追加するか、新しい--dnsオプションを使用してpodmanコマンドの実行時にDNSサーバーのIPアドレスを指定します。--dnsオプションにより、container.confファイルに設定されている値がオーバーライドされます。

Skopeoを使用したSigstoreキー・ペアの生成

skopeo generate-sigstore-keyコマンドを使用して、Skopeoでsigstoreキーペアを生成できます。詳細は、skopeo-generate-sigstore-keyマニュアル・ページを参照してください。

Toolboxユーティリティの提供

toolboxユーティリティを使用すれば、追加のトラブルシューティング・ツールをシステムに直接インストールしなくても、コンテナ・コマンドライン環境にアクセスできます。Toolboxは、PodmanとOpen Container Initiativeのその他の標準的なコンテナ技術を使用しています。詳細は、toolbxを参照してください。

コンテナ・イメージのタグが2桁

Oracle Linux 9.0およびOracle Linux 9.1では、コンテナ・イメージに3桁のタグがありました。Oracle Linux 9.2以降、コンテナ・イメージのタグは2桁になりました。

サポート

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

sos cleanコマンドによるIPv6アドレスの不明瞭化

sos cleanは、IPv6アドレスを検出および不明瞭化して、お客様の機密データを適切に不明瞭化します。