2 新機能および変更点

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

インストール

次のインストール機能と変更がOracle Linux 9で導入されています。

  • 対話型インストール中に自動的にネットワークをアクティブ化するグラフィカル・インストール・プログラム

    グラフィカル・ユーザー・インタフェースを使用する対話型インストール・モードでは、ネットワークが自動的に有効になります。手動によるネットワークのアクティブ化は不要になりました。

    この変更は、kickstartインストールおよびip=ブート・オプションを使用するおよびインストールには影響しません。

  • インストール後に表示されなくなったライセンス契約およびユーザー設定構成画面

    以前はインストール後のステップとして表示されていたライセンス契約およびユーザー構成の初期設定画面は無効になりました。それらの画面を復元するには、関連パッケージをインストールして有効化するために、次のコマンドを実行してシステムをリブートします。ブートアップ・システムが完了すると、初期設定画面が表示されます。

    sudo dnf install initial-setup initial-setup-gui -y
    systemctl enable initial setup
    reboot

    kickstartインストールの場合は、該当するパッケージを次のように追加して有効化します。

    firstboot --enable
    %packages
    @^graphical-server-environment
    initial-setup-gui
    %end
  • デフォルトでロックされるrootアカウント

    追加のセキュリティ機能として、Oracle Linux 9インストールのrootアカウントはデフォルトでロックされます。ただし、インストール・プログラムには、インストール時にパスワードを適切に設定することでSSH rootログインを有効にするオプションが用意されています。手順については、「Oracle Linux 9: Oracle Linuxのインストール」を参照してください。

  • 実装が変更されたKickstart

    次に示すOracle Linux 9の変更点は、kickstartを使用する自動インストールの構成方法に影響します。

    • すべてのブート・オプションにinst接頭辞を使用する必要があります。それ以外の場合、該当するオプションは無視されます。以前に構成したスタンドアロン・オプションは、その機能を維持するために、この接頭辞を追加してください。

    • 新しいtimesourceコマンドは、以前の非推奨になったtimezone --ntpserversコマンドを置き換えるものです。

    • 次のkickstartのコマンドとオプションは削除されました。使用するとエラーが生成されます。

      • device

      • deviceprobe

      • dmraid

      • install

        かわりに、サブコマンドまたはメソッドをコマンドとして直接使用します。

      • multipath

      • bootloader --upgrade

      • ignoredisk --interactive

      • partition --active

      • harddrive --biospart

      • autostep

  • ブート・オプションに実装された変更

    一部のブートオプションに、次の変更が適用されました。

    • オプションのinst.zraminst.singlelangは、Oracle Linux 9ではサポートされません。

    • inst.loglevelは、常にデバッグに設定されます。以前のOracle Linuxリリースのその他のログ・レベルは削除されました。

カーネル

次の重要な機能、拡張機能および変更は、Oracle Linux 9に同梱されているRed Hat Compatible Kernel (RHCK)に適用されます。

  • 信頼できるセキュア・ブート証明書で署名されるRHCKカーネル

    この機能により、UEFIセキュアブートが有効になっているシステムでカーネルバージョンを使用するために、公開キーを個別に登録する必要がなくなります。以前のリリースでは、マシン所有者キー(MOK)機能を使用することで、公開鍵を別個に登録する必要がありました。

  • デフォルトで有効化されているcgroup-v2

    制御グループのバージョン2 (cgroup-v2)は、バージョン1 (cgroup-v1)とともに有効化されます。

    cgroup-v2は、制御グループの管理を簡略化する単一階層モデルを実装します。このモデルにより、プロセスが一度に1つの制御グループのメンバーになることが保証されます。この機能はsystemdと統合されていて、Oracle Linuxシステムのリソース制御構成を向上します。

    cgroup-v2cgroup-v1の間には、機能の非互換性がある点に注意してください。さらに、この2つのバージョン間で制御インタフェースが異なります。そのため、cgroup-v1に直接依存するサード・パーティ・ソフトウェアは、cgroup-v2環境では正しく実行されない可能性があります。

    カーネルでは両方のバージョンが有効になっていますが、デフォルトの制御グループのバージョンはカーネルでは設定されていません。かわりに、systemdによって起動時にマウントされるバージョンが決定されます。

    cgroup-v1を使用するには、カーネル・コマンドラインに次のパラメータを追加します。

    systemd.unified_cgroup_hierarchy=0
    systemd.legacy_systemd_cgroup_controller
  • サードパーティのカーネル・モジュールに影響を与える可能性のあるカーネルの変更点

    カーネル・バージョン5.9より前のLinuxディストリビューションには、GPL関数を非GPL関数としてエクスポートするためのサポートが含まれていました。このサポートにより、ユーザーはshimメカニズムを使用して独自の関数をGPLカーネル関数にリンクできました。このリリースでは、GPLをOracle Linuxでより厳密に適用できるように、カーネルにアップストリームの変更が組み込まれています。したがって、shimは拒否されるようになりました。

    重要:

    パートナーおよび独立系ソフトウェア・ベンダー(ISV)は、GPLへの確実な準拠のために、Oracle Linux 9の初期バージョンでカーネル・モジュールをテストする必要があります。

  • 修正されたstraceユーティリティの実装

    このリリースでは、straceユーティリティは、ユーティリティの--secontextオプションの拡張機能により、SELinuxコンテキストの不一致を正しく表示します。この拡張機能は、mismatchパラメータです。次の例を参照してください。

    [...]
    $ strace --secontext=full,mismatch -e statx stat /home/user/file
    statx(AT_FDCWD, "/home/user/file" [system_u:object_r:user_home_t:s0!!unconfined_u:object_r:user_home_t:s0], ...
    
    $ strace --secontext=mismatch -e statx stat /home/user/file
    statx(AT_FDCWD, "/home/user/file" [user_home_t:s0], ...
  • 特定の列でソートできるperf-top

    perf-topシステム・プロファイリング・ツールでは、グループ内の複数のイベントがサンプリングされるときに、最初の列だけではなく任意のイベント列でサンプルをソートできます。サンプルは--group-sort-idxオプションによってソートされます。このオプションでは、数値キーを押すと、そのキーに対応するデータ列で表がソートされます。列の番号付けは、0から始まります。

  • 新しく追加されたjigawattsパッケージ

    新しいjigawattsパッケージには、Javaアプリケーション専用のCheckpoint/Restore in Userspace (CRIU)ユーティリティの機能が向上するように動作するJavaライブラリが含まれています。

  • trace-cmdリセット動作の変更の実装

    trace-cmd resetは、無効にするかわりに、ftraceフレームワークの設定をデフォルト値にリセットするようになりました。この動作は、具体的にはtracing_ontrace_clockset_event_pidおよびtracing_max_latencyに影響します。

  • Extended Berkeley Packet Filterのサポート

    Extended Berkeley Packet Filter (eBPF)は、限定された関数セットにアクセスできる制限されたサンドボックス環境のカーネル空間でコードを実行できる、カーネル内仮想マシンです。仮想マシンは、アセンブリに似ている特殊なコードを実行します。

  • crashユーティリティ8.0.0

    このバージョンのユーティリティには、kaslr-offsetgdbに設定する場合に役立つadd-symbol-fileコマンドの新しいoffsetパラメータがあります。さらに、このパラメータはgdb-7.6gdb-10.2にアップグレードします。

  • makedumpfileユーティリティに実装された変更

    このユーティリティには、次の拡張機能および機能強化があります。

    • Zstandard圧縮機能のサポート

      このユーティリティでは、特に大規模なメモリー・システムでの圧縮効率を向上させるzstdの高圧縮率を活用できます。向上した圧縮メカニズムにより、妥当な圧縮時間内により小さいvmcoreファイルが作成されます。

    • 新しいオプションによるvmcoreサイズの推定方法の改善

      makedumpコマンドでは、次のオプションを使用できます。

      • --dry-runは、出力ファイルの書き込みなしに、コマンドで指定されたすべての操作を実行します。

      • --show-statsは、レポート・メッセージを出力します。このオプションは、--message-levelオプションに指定するビット4を有効にするための代替方法です。

        次に、これらのオプションの使用例を示します。

        sudo makedumpfile --dry-run --show-stats -l --message-level 7 -d 31 /proc/kcore dump.dummy
  • Intel Xeonスケーラブル・プロセッサ用のnumatopユーティリティのサポート

    numatopは、Numaシステムで実行中のスレッドおよびプロセスをモニタリングおよび分析します。Intelパフォーマンス・カウンタ・サンプリング・テクノロジを使用し、パフォーマンス・データをLinuxシステムのruntime情報に関連付け、本番環境にデプロイされたNumaシステムをより適切に分析します。

  • kdumpメモリー割当てのための新しいcrashkernel.defaultファイル

    kexec-toolsパッケージでは、kdumpの新しいcrashkernel.defaultファイルに、対応するカーネル・ビルドのデフォルトのクラッシュ・カーネル値が含まれています。kdumpでは、この値を使用して、カーネルごとのデフォルトのクラッシュ・カーネル・メモリー値を制御します。

    crashkernel.defaultは、kdumpメモリー予約の適切な参照情報として機能します。この値に基づいて、をcrashkernel=に必要な設定構成できます。その結果として、使用可能なメモリーが4GB未満のシステムでは、kdumpのメモリー割当てが向上します。

    デフォルトのcrashkernel値を問い合せるには、次のように入力します。

    sudo kdumpctl get-default-crashkernel

    詳細は、/usr/share/doc/kexec-tools/crashkernel-howto.txtファイルを参照してください。

  • コア・スケジューリング機能の追加

    コア・スケジューリング機能を使用すると、CPUコアを共有できるタスクのグループを定義できるようになり、相互に信頼できないタスクを同じリソースの共有から除外できます。この機能により、一部の対称型マルチスレッディング(SMT)攻撃が軽減され、セキュリティが強化されます。また、リアルタイム環境で実行されるタスクや、単一命令複数データ(SIMD)処理のような特定のプロセッサ機能に依存するタスクなど、コア全体を必要とするタスクも分離します。

  • hv_24x7およびhv_gpci PMUのCPUホット・プラグ

    PMUカウンタは、CPUのホット・プラグに正しく対応できます。これにより、無効になるCPUでhv_gpciイベント・カウンタが実行されている場合、そのカウントは別のCPUにリダイレクトされます。

  • IRDMAドライバの追加

    IRDMAドライバにより、次に示すRDMA対応のIntelネットワーク・デバイスでRDMA機能が有効になります。

    • Ethernetネットワーク・アダプタX722: Internet Wide-area RDMA Protocol (iWARP)デバイス。

      このデバイスは、iWARPと、より限定された構成パラメータ・セットのみをサポートします。

    • EthernetコントローラE810: iWARPおよびRDMA over Converged Ethernet (RoCEv2)をサポートするデバイス

      このデバイスiWARPおよびRoCEv2 RDMAは、優先順位フロー制御(PFC)および明示的輻輳通知(ECN)を転送します。

    IRDMAモジュールは、X722のレガシーi40iwモジュール用に定義されているアプリケーション・バイナリ・インタフェース(ABI)を置き換えると同時に拡張します。この変更は、レガシーX722 RDMAコア・プロバイダ(libi40iw)との下位互換性があります。

  • aarch64プラットフォームのみ:

    • Armプラットフォームのデフォルト・ページ・サイズを4KBに変更

      UEK R7の実装に基づいて、64ビットのArmプラットフォームのデフォルト・ページ・サイズが64KBから4KBに変更されました。この新しいサイズは、Armベースのシステムの大部分に存在するワークロードとメモリー量に適しています。大きなページ・サイズを効率的に使用するには、大きなデータ・セットを持つワークロードの大量のメモリーに対応する巨大ページ・オプションを必ず指定してください。

    • kexec_file_loadがデフォルトで有効

      64ビットのArmアーキテクチャを使用するシステムでは、追加されたkexec_file_loadシステム・コールによってkdump用のカーネル内kexecローダーが提供されるため、署名されていないカーネルが正しく動作します。この更新より前は、セキュア・ブートが有効でkexec_file_load()が指定されていると、署名されていないカーネルはロードできませんでした。

    • Armv8-Rアーキテクチャをサポート

      アーキテクチャは、改良されたGCC 11.2.1の-march=armv8-rオプションによってサポートされています

ソフトウェアの管理

次のソフトウェア管理機能および拡張機能が、Oracle Linux 9で導入されています。

  • バージョン4.16に更新されたRPM

    この更新されたバージョンには、次のような重要な変更が含まれています。

    • キャレット・バージョン演算子、パッチ範囲を指定するための%autopatch、メタまたは順序付けされていない依存関係、%generate_buildrequiresセクションからの動的ビルド依存関係の生成など、新しいSPEC機能のサポート。

    • RPMは、sqliteライブラリに完全に基づいています。Berkeley DBデータベースについては、読取り専用サポートが提供されます。

    • rpm-audit-pluginは、トランザクションに関する監査ログ・イベントを記録するための新しいプラグインです。

    • UTF-8ヘッダーの検証は、ビルド時に実行されます。

    • 並列性の向上は、パッケージ・ビルドで適用されます。

  • RPMトランザクション中の変更についてfapolicydに通知する新しいRPMプラグイン

    更新されたRPMパッケージには、RPMデータベースにfapolicydフレームワークを統合する新しいRPMプラグインが含まれています。RPMトランザクション中にインストールおよび変更されたファイルをfapolicydに通知することで、このプラグインはfapolicydが整合性チェックをサポートできるようにします。このプラグインの機能は、Yumトランザクションだけでなく、RPM全体による変更にも対応しています。そのため、このプラグインは事実上Yumプラグインに代わるものです。

  • rpmコマンドに追加されたEdDSA公開キー・アルゴリズムを使用した署名キーのサポート

    これにより、パッケージの署名および検証にEdDSAで生成されたキーを使用できるようにするサポートがrpmコマンドに追加されます。ただし、RSAは引き続きGnuPGのデフォルトの公開キー・アルゴリズムになります。

  • RPMのZstdアルゴリズムのサポート

    RPMは、Zstandard (zstd)圧縮アルゴリズムをサポートしています。これにより、特に大規模なトランザクションではパッケージのインストールが高速になります。Oracle Linux 9では、デフォルトの圧縮アルゴリズムとしてZstandardを使用します。

  • DNFに使用可能な新しいオプション

    次に、新しいDNFオプションを示します。

    • exclude_from_weak_autodetectは、インストールされているパッケージの不必要な弱い依存関係を自動的に検出します。これにより、弱い依存関係のプロバイダは、弱い依存関係としてはインストールされません。ただし、取り込まれた場合、こうした弱い依存関係は通常の依存関係としてインストールされます。このオプションはデフォルトで有効です。

    • exclude_from_weakは、弱い依存関係としてのパッケージのインストールを防止します。

  • バージョン2.13.0に更新されたlibmodulemdパッケージ

    このバージョンのlibmodulemdパッケージには、次に示す機能と変更が含まれています。

    • モジュールから非モジュール化されたパッケージのリストからの削除をサポート。

    • modulemd-validator --typeを使用したmodulemd-packager-v3ドキュメントの検証のサポート。この--typeは、新しいオプションです。

    • 厳密な整数解析。

シェルおよびコマンドライン・ツール

次のシェルおよびコマンドライン・ツールの機能と改善が、Oracle Linux 9で導入されています:

  • bashreadlineライブラリ・バージョン8.1のサポート

    このライブラリでは、ブラケット・ペースト・モードがデフォルトで有効になっています。このモードでは、端末に貼り付けたテキストが強調表示され、テキスト内のコマンドを実行するために[Enter]を押す必要があります。この機能により、悪意のあるコマンドの実行を防止できます。

    この機能を無効にするには、次の行を~/.inputrcまたは/etc/inputrcに追加します。

    set enable-bracketed-paste off
    • ~/.inputrcに追加した場合は、この機能が特定のユーザーに対して無効になります。

    • /etc/inputrcに追加した場合は、この機能がすべてのユーザーに対して無効になります。

    この機能を無効にすると、端末に貼り付けたコマンドがただちに実行されます。

  • 更新されたバージョンで使用可能な追加のシェル関連パッケージ

    • opal-prd 6.7.1

    • lvspd 1.7.12

    • Fetchmail 6.4.24

    • Eigen 3.4

  • 新しいcdrskinパッケージの導入

    このパッケージは、cdrecord実行可能ファイルを置き換えるものです。ただし、既存のユーザー・スクリプトを修正する必要がないように、cdrskinパッケージには、cdrskinバイナリへのシンボリック・リンクとしてのcdrecordコマンドが含まれています。

  • パッケージとして追加されたutil-linux-core

    util-linux-coreは、サブパッケージとしてutil-linuxパッケージに追加され、ビルドロット、一部のコンテナ、ブート・イメージなど、インストール済パッケージのサイズが重要になる問題のシナリオを管理します。

    ただし、標準インストールの場合は、util-linux-coreパッケージが自動的に組み込まれるutil-linuxパッケージをインストールしてください。

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

Oracle Linux 9には、コンパイラおよび開発ツールセットに次の機能、拡張機能および変更が導入されています。

ツールとコンパイラおよびそれらの最新バージョンのサマリー・リスト

  • システム・ツールチェーンのコンポーネント

    • GCC 11.2.1

    • glibc 2.34

    • binutils 2.35.2

  • パフォーマンス・ツールとデバッガ

    • GDB 10.2

    • Valgrind 3.18.1

    • SystemTap 4.6

    • Dyninst 11.0.0

    • elfutils 0.186

  • パフォーマンス・モニタリング・ツール

    • PCP 5.3.5

    • Grafana 7.5.11

  • コンパイラのツールセット

    • LLVMツールセット13.0.1

    • Rustツールセット1.58.1

    • Goツールセット1.17.7

  • python-jsonpointerは、バージョン2.0にリベースされます

  • grafana-pcpは、3.2.0にリベースされます

選択された機能の説明

次に、一部のツールおよびコンパイラについて簡単に説明します。

  • GCC 11.2

    このバージョンには、次のような重要な変更が含まれています。

    • DWARFバージョン5は、デフォルトのデバッグ形式として使用されます。

    • 診断列の番号は、デフォルトで実際の列の番号を表し、複数列の番号を認識します。

    • 直線的コード・ベクトル化では、ベクトル化時に関数全体が考慮されます。

    • 同じ変数を比較する一連の条件式は、それぞれの条件式に比較式が含まれている場合はswitch文に変換できます。

    • 手続き的な最適化は、関数呼び出しの副作用を追跡し、ポインタ分析の精度を向上させる新しいIPS-modrefパスと、統合される関数の数を増やしてコンパイル時メモリーの使用を減らすように改善された同一コード折りたたみパスによって実装されています。

    • リンク時のメモリー割当てが改善され、ピーク・メモリー使用量が削減されます。

    • IDEの新しいGCC_EXTRA_DIAGNOSTIC_OUTPUT環境変数を使用すると、ビルド・フラグを調整なしに、マシン可読の「fix-itヒント」をリクエストできます。

  • Goツールセット1.17.7

    このバージョンには、次のような重要な変更が含まれています。

    • GO111MODULE環境変数は、デフォルトでonに設定されます。この設定を元に戻すには、その変数をautoに設定します。

    • Goリンカーは使用するリソースが少なく、サポートされているすべてのCPUアーキテクチャとオペレーティング・システムでコードの堅牢性と保守性が向上します。

    • 新しいembedパッケージを使用すると、コンパイル時に埋込みファイルにアクセスできます。

    • io/ioutilパッケージのすべての関数は、より適切な定義を提供するioパッケージとosパッケージに移動されています。

    • Delveデバッガ1.6.0は、Goツールセット1.16.6をサポートしています。

  • OpenSSL 3でサポートされるGo FIPSモード

    このサポートにより、Go FIPSモードのときにOpenSSLライブラリを使用できます。

  • バージョン1.54.0に更新されたRustツールセット

    このバージョンには、次のような重要な変更が含まれています。

    • Rust標準ライブラリは、wasm32-unknown-unknownターゲットに使用でき、新しく安定化されたイントリンシクスを含むWebAssemblyバイナリを生成できます。

    • 定数値パラメータを使用して、ジェネリックを定義できます。この変更により、任意の整数型、ブール型または文字型の値に対して完全に汎用的な関数を記述し、その要素型と長さに対して汎用的な配列を記述できます。また、新しい標準ライブラリの配列型API std::array::IntoIterを使用して、配列からのアイテムを値で反復することもできます。

    • Rustには、配列のIntoIterator実装が含まれています。IntoIterator特性を使用して、値によって配列を反復処理し、配列をメソッドに渡すことができます。ただし、2021エディションのRustまでは、array.into_iter()は依然として参照によって値を反復します。

    • orパターンの構文を使用すると、パターン内の任意の場所にネストを作成できます(たとえば、Pattern(1)|Pattern(2)のかわりにPattern(1|2))。

    • Unicode識別子には、Unicode Standard Annex #31で定義されているすべての有効な識別子文字を含めることができます。

    • メソッドおよび特性の実装は安定化されています。

  • バージョン12.0.1に更新されたLLVMツールセット

    このバージョンには、次のような重要な変更が含まれています。

    • 新しいコンパイラ・フラグ-march=x86-64-v[234]が導入されました。

    • clangコンパイラのコンパイラ・フラグ-fasynchronous-unwind-tablesは、このリリースのOracle Linux aarch64システムのデフォルトです。

    • clangコンパイラは、C++20の[[likely]]属性と[[unlikely]]属性をサポートしています。

    • 新しく追加された関数属性tune-CPUを使用すると、target-CPU属性またはTargetMachine CPUから独立してマイクロ・アーキテクチャ最適化を適用できます。

    • セキュリティを強化するために、-fsanitize=unsigned-shift-baseサニタイザが整数サニタイザ-fsanitizer=integerに追加されています。

    • LLVMでは、WebAssemblyバックエンドが有効になりました。LLVMおよびClangによってWebAssemblyバイナリを生成できるようになります。

  • バージョン3.20.2に更新されたCMake

    このバージョンには、次のような重要な変更が含まれています。

    • C++コンパイラ・モードは、ターゲット・プロパティCXX_STANDARDCUDA_STANDARDOBJCXX_STANDARDを使用するか、コンパイル機能セクションのcxx_std_23メタ機能を使用して指定できます。

    • NVIDIA CUDAコンパイラは、シンボリックリンクとしてサポートされています。

    • Intel oneAPI NextGen LLVMコンパイラが、IntelLLVMコンパイラIDでサポートされています。

    • CMakeでは、Android NDKのツールチェーン・ファイルとマージすることで、Androidのクロス・コンパイルを容易にできるようになりました。

    • プロジェクト構築システムの生成時に、cmakeコマンドはハイフンで始まる不明な引数を拒否します。

    このバージョンまたは以前のバージョンが必要になるプロジェクトでCMakeを使用する場合は、コマンドcmake_minimum_required (バージョン3.20.2)を使用します。

  • Oracle Linux 9のJava

    このリリースでは、Javaに次のパッケージが含まれています。

    • java-17-openjdk

    • java-11-openjdk

    • java-1.8.0-openjdk

  • Javaツールの実装

    このリリースでは、Javaツールに次のものが含まれています。

    • Maven 6.3.6

    • Ant 1.10.9

    これらのツールは、非モジュラRPMパッケージとしてAppStreamからインストールできます。

  • CodeReady Builderリポジトリで入手可能なSWIG 4.0

    PHP 8のサポートを含むSimplified Wrapper and Interface Generator (SWIG)のバージョン4.0は、RPMパッケージとしてCRBリポジトリからインストールできます。

  • pcp 5.3.5

    Performance Co-Pilot (PCP)パッケージ(pcp)には、次のような不具合修正、拡張機能および新機能が含まれています。

    • 多数のホストのパフォーマンス・メトリックが集中的に記録され(pmloggerファーム)、パフォーマンス・ルール(pmieファーム)によって自動的に監視されます。

    • ソケット統計履歴のための新しいpcp-ssツールがサポートされています。

    • php-htopツールが改善されています。

    • 高分解能のタイムスタンプをサポートするover-the-wire PCPプロトコルに拡張機能が追加されました。

データベース

Oracle Linux 9は、MySQL 8.0データベース・ソフトウェアとともに配布されます。このソフトウェアのドキュメントについては、https://dev.mysql.com/doc/relnotes/mysql/8.0/en/を参照してください。

デスクトップ

Oracle Linux 9には次のデスクトップ機能が含まれています。

  • バージョン40に更新されたGNOMEデスクトップ環境

    このバージョンには、システムのナビゲーションとアプリケーションの起動を改善するための再設計された「アクティビティの概要」など、多数の新機能と改善された機能が含まれています。ワークスペースは水平に配置されるようになり、ウィンドウの概要とアプリケーション・グリッドは垂直にアクセスされるようになったことに注意してください。

  • デフォルト・オーディオ・サービスのPipewire

    Pipewireは、以前のリリースで使用されていたPulseAudioとJackの両方のオーディオ・サービスを置き換えます。これらの以前のサービスを使用するオーディオ・アプリケーションは、すべてPipewireにリダイレクトされます。Jackアプリケーションは、デフォルトのOracle Linux構成で適切に動作するため、追加の構成は必要ありません。

  • GNOMEで提供される電源プロファイル

    電源プロファイルを使用すると、システムの電力使用状況を最適化できます。選択したプロファイルは、システムのリブート間で保持されます。次の中から選択できます。

    • Performanceは、システムのピーク・パフォーマンスを設定しますが、バッテリの寿命が短くなります。このプロファイルは、すべてのシステム構成で使用できるわけではありません。

    • Balancedは、標準のパフォーマンスと電力消費を実現するデフォルトのプロファイルです。

    • Power Saverは、バッテリ寿命を優先します。システムのパフォーマンスに影響する可能性があります。バッテリ・レベルの低下が検出されると、システムは、このプロファイルに自動的に切り替わります。

  • ブート・ローダーによる変更の導入

    構成ファイルは、CPUアーキテクチャ間で統合されています。こうしたファイルは、プラットフォームに関係なく/boot/grub2に格納されます。これまでGRUBがUEFIシステムで使用していたGRUB.cfgファイルは、/boot/grub2/GRUB.cfgへのシンボリック・リンクになりました。この変更により、ユーザー・エクスペリエンスの向上、GRUBレイアウト構成の簡略化、EFIまたはレガシーBIOSのいずれかによる同じインストールのブート機能などのメリットが得られます。

  • Langpacksに置き換えられたcomps言語グループ

    これまで、言語サポートはcomps言語グループによって提供され、それに対応するcode-supportパッケージのインストールが必要でした。このリリースでは、そのかわりにlangpacks-codeパッケージをインストールします。

  • 単一アプリケーションGNOMEセッションのサポート

    このサポートにより、ユーザーは単一アプリケーションに軽量UIを使用できます。この機能はGNOMEセッションのキオスク・モードと表現されることもあり、構成したアプリケーションの全画面ウィンドウのみが表示されます。このモードでは、標準のGNOMEセッションよりもリソース使用の負荷が少なくなります。

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

Oracle Linux 9には、動的プログラミング言語とWebサーバーおよびデータベース・サーバーに関するいくつかの重要な機能変更と改善が含まれています。このリリースでは、次のリストで説明する新規および改善されたモジュール・ストリームも導入されています。

  • Python 3.9

    Python 3.9は、Oracle Linux 9のデフォルト・バージョンであり、デフォルトでインストールされます。Python 3.9は、Oracle Linux 9のライフサイクル全体でサポートされます。ただし、Python 3の追加バージョンも、ライフ・サイクルが短いRPMパッケージとしてAppStreamリポジトリを通じて配布されます。こうしたバージョンは、並行してインストールできます。

    /usr/bin/pythonコマンドとpipなどのPython関連のコマンドは、バージョン管理されていない形式で利用可能であり、それらはデフォルトのPython 3.9バージョンをポイントしています。

    ノート:

    Oracle Linux 9では、Python 2は除外されています。

  • Node.js 16

    重要な変更点は次のとおりです。

    • V8エンジンは、バージョン9.2に更新されています。

    • npmパッケージ・マネージャがバージョン7.20.3に更新されています。

    • タイマー関数の代替セットを提供する新しいTimers Promises APIが含まれています。これによって、Promiseオブジェクトが返されます。

    • 新しい実験的なWeb Streams APIが含まれています。

    • Node.jsは、OpenSSLバージョン3.0との互換性があります。

    Node.js 16は、このアプリケーション・ストリームの初期バージョンです。ただし、将来のOracle Linux 9のマイナー・リリースでは、Node.jsの追加バージョンがモジュールとして短いライフサイクルで提供されます。

  • Ruby 3.0.3

    重要な変更点は次のとおりです。

    • RactorやFiber Schedulerなどの同時実行性および並列性の機能。

    • RBS言語やTypeprofユーティリティなどの静的分析機能

    • case/in式とのパターン一致が実験的ではなくなりました。

    • 実験的な1行のパターン・マッチング機能が再設計されています。

    • 検索パターンが実験機能として追加されています。

    Ruby 3.0は、このアプリケーション・ストリームの初期バージョンです。将来のOracle Linux 9のマイナー・リリースでは、Rubyの追加バージョンがモジュールとして短いライフサイクルで提供されます。

  • Perl 5.32

    このバージョンには、多数の拡張機能と不具合修正が含まれています。次に、その一部を示します。

    • Unicode 13.0のサポート

    • 強化されたクオート風演算子qr

    • Alphaアサーションとスクリプト実行は実験的ではなくなりました

    • 機能チェックの高速化

    • 最適化前にコンパイル済パターンをダンプする機能

    Perl 5.32は、このアプリケーション・ストリームの初期バージョンです。将来のOracle Linux 9のマイナー・リリースでは、Perlの追加バージョンがモジュールとして短いライフサイクルで提供されます。

  • PHP 8.0

    このバージョンには、多数の拡張機能と不具合修正が含まれています。次に、その一部を示します。

    • 新しい自己文書化および順序非依存の名前付き引数により必要なパラメータのみを指定できるようになります

    • PHPのネイティブ構文で構造化メタデータを使用するための新しい属性

    • 型の組合せのPHPDocアノテーションのかわりにネイティブのunion型を使用するための新しいunion型。こうした型は実行時に検証されます。

    • パラメータ検証の失敗時には、常にエラー例外が生成されます。

    • Just-In-Timeコンパイル・パフォーマンスの向上

    PHP 8.0は、このアプリケーション・ストリームの初期バージョンです。将来のOracle Linux 9のマイナー・リリースでは、PHPの追加バージョンがモジュールとして短いライフサイクルで提供されます。

  • Git 2.31およびGit LFS 2.13

    Git 2.31には、多数の拡張機能が含まれています。次に、その一部を示します。

    • スパース・チェックアウトのステータスが、git statusの出力に含まれます。

    • git archive --add-fileは、ツリー状の識別子から追跡されていないファイルをスナップショットに含めます。

    • clone.remotedefaultnameを使用すると、ソース・リモート・リポジトリのニックネームをカスタマイズできます。

    • 出力ファイル名の最大長は、64バイトの以前の制限を超えて構成できるようになりました。

    • PCRE1ライブラリは、サポートされなくなりました。

    さらに、Git Large File Storage (LFS)拡張機能2.13にも多数の拡張機能が含まれています。次に、その一部を示します。

    • SHA-256リポジトリとsocks5hプロトコルがサポートされています。

    • git lfs install|uninstallコマンドには、新しい--worktreeオプションが含まれています。

    • git lfs migrate importコマンドには、新しい--aboveオプションが含まれています。

  • Subversion 1.14

    Subversion 1.14は、このアプリケーション・ストリームの初期バージョンです。将来のOracle Linux 9のマイナー・リリースでは、Subversionの追加バージョンがモジュールとして短いライフサイクルで提供されます。

  • Apache HTTP Server 2.4.51

    重要な変更点は次のとおりです。

    • Apache HTTP Server制御インタフェース(apachectl)に対する変更
      • apachectl statusの出力では、systemctlページャが無効化されています。

      • 以前の動作では警告を発行していましたが、apachectlはコマンドに引数を追加すると失敗します。

      • graceful-stopサブコマンドは、即座に復帰します。

      • configtestサブコマンドは、SELinuxコンテキストの変更なしにhttpd -tを実行します。

    • Apache eXtenSionツール(apxs)は、httpdパッケージの構築プロセスでコンパイラ最適化フラグを使用することも公開することもありません。

    • Apacheモジュールmod_luaは、個別のパッケージで提供されます。

    • mod_access_compatモジュールの非推奨のAllowディレクティブでは、コメント文字(#)の使用によって構文エラーが生成されます。

    • 正確性と簡潔さのために、カーネル・スレッドIDがエラー・ログ・メッセージで直接使用されます。

    Apache HTTP Server 2.4は、このアプリケーション・ストリームの初期バージョンであり、RPMパッケージとして簡単にインストールできます。

  • nginx 1.20

    重要な変更点は次のとおりです。

    • オンライン証明書ステータス・プロトコル(OCSP)を使用するクライアントSSL証明書検証のサポート。

    • proxy_cache_pathディレクティブのmin_freeパラメータにより、ドライバがキャッシュ・クリアをサポートするようになりました。

    • 新しいngx_stream_set_moduleモジュールが導入されました。

    • 新しいディレクティブとディレクティブ変数がサポートされています。

    • HTTP/2のサポートが改善されました。

  • Varnish Cache 6.6

    Varnish Cache 6.5は、高性能のHTTPリバース・プロキシであり、多くの機能拡張と不具合修正が実施されたバージョン6.0が利用可能です。

    Varnish Cache 6は、このアプリケーション・ストリームの初期バージョンです。

  • Squid 5.2

    Squid 5.2は、Webクライアント用の高性能プロキシ・キャッシュ・サーバーです。Squid 5.2には、FTP、GopherおよびHTTPデータ・オブジェクトのサポートに加え、次の追加機能も含まれています。

    • リクエスト転送に必要な場合は、受信したIPアドレスをただちに使用します。

    • 新しいディレクティブが導入されています。

    • dns_v4_firstディレクティブは、このバージョンには含まれなくなりました。

    • Content Delivery Networks (CDN)のループ検出には、CDN-Loopヘッダーを使用します。

    • Internet Content Adaptation Protocol (ICAP)トレーラは、ICAPエージェントがメッセージ本文の後に確実にメッセージ・メタデータを送信できるようにするための新機能として導入されました。

    • 新しいオプションが導入され、既存のオプションが置き換えられました(clientside_markmark_client_packetcollapsed_forwarding_shared_entries_limitshared_transient_entries_limitなど)。

    Squid 5.2は、このアプリケーション・ストリームの初期バージョンです。

  • MySQL 8.0

    Oracle Linux 9には、MySQLバージョン8.0が含まれています。MySQL 8.0は、このアプリケーション・ストリームの初期バージョンです。

  • Redis 6.2

    このバージョンの拡張機能と修正の中で最も重要なことは、Redisサーバー構成ファイルのパスが専用ディレクトリ/etc/redis/redis.confおよび/etc/redis/sentinel.confになっていることです。Oracle Linux 8では、該当するファイルが/etc/redis.confおよび/etc/redis-sentinel.confに配置されていました。

    Redis 6は、このアプリケーション・ストリームの初期バージョンです。将来のOracle Linux 9のマイナー・リリースでは、Redisの追加バージョンがモジュールとして短いライフサイクルで提供されます。

  • MariaDB

    MariaDBはバージョン10.5に更新されました

  • PostgreSQL

    PostgreSQLはバージョン13に更新されました。

ファイル・システム

Oracle Linux 9には、次のファイル・システム機能が含まれています。

  • XFSファイル・システムに含まれている新機能

    XFSファイル・システムでは、mkfs.XFSコマンドの新しい2つのオプションがサポートされています。そのオプションは、2038年以降のタイムスタンプをサポートするbigtimeと、大規模ファイル・システムのマウント時間を短縮するinobtcountです。

    注意:

    これらのオプションは、デフォルトで有効になっています。そのため、Oracle Linux 9では、mkfs.XFSコマンドによって、以前の該当するオプションがサポートされていないカーネルではマウントできないXFSファイル・システムが作成されます。これらのオプションを無効にするには、mkfs.xfsコマンドを次のように入力します。

    mkfs.xfs -m bigtime=0,inobtcount=0

    Oracle Linuxのファイル・システムの詳細は、Oracle Linux 9: ローカル・ファイル・システムの管理を参照してください。

  • 2038以降のタイムスタンプをサポートするext4ファイル・システム

    ext4ファイル・システムは、2038年以降のタイムスタンプをサポートしています。この機能は自動的に有効にされ、ファイル・システム・サイズがデフォルトの128バイト・サイズより小さくない場合にのみ必要です。

  • exFATのサポート

    新しくサポートされたExtensible File Allocation Table (exFAT)ファイル・システムにより、このファイル・システムが使用できるようになります。通常、このファイル・システムは、フラッシュ・メモリーでデフォルトで使用されます。

高可用性とクラスタ

Oracle Linux 9には、次の高可用性機能とクラスタリング機能が含まれています。

  • デフォルトが0ではなく1になった新規作成されたクラスタのresource-stickinessメタ属性

    この変更は、クラスタ・バランシング操作のプロセスでリソースが自動的に移動されないようにするユーザー・プリファレンスに対応するものです。この変更は、新しく作成されたクラスタにのみ影響します。既存のクラスタの動作に変更はありません。

    この新しいデフォルト値の1は、バランシング時にリソースを所定の場所に維持します。ただし、新しく追加したノードがリソースなしになり、管理者が手動でノードにリソースを割り当てることが必要になる可能性があります。リソース固定性(1)と非固定性(0)のどちらも、予期しない動作を発生させる可能性があります。ただし、ユーザー・プリファレンスは、リソースの固定性を実装することです。

    クラスタの古い動作が必要な場合は、リソースのデフォルトからresource-stickinessエントリを削除します。

  • 自動アクティブ化を制御するための新しいLVMボリューム・グループ・フラグ

    setautoactivationフラグは、ボリューム・グループから作成された論理ボリュームを起動時に自動的にアクティブ化するかどうかを制御します。Pacemakerによって管理されるボリューム・グループをクラスタ内に作成するときに、ボリューム・グループに対してvgcreate --setautoactivation nコマンドを使用すると、このフラグをnに設定できます。このコマンドを実行すると、データの破損を防止できます。Pacemakerクラスタで使用される既存のボリュームグループがある場合は、vgchange --setautoactivation nコマンドを使用してフラグを設定します。

  • pcs resource statusおよびpcs stonith statusの新しいコマンドオプション

    pcs resource statusコマンドとpcs stonith statusコマンドには、次の新しいオプションのサポートが含まれています。

    • pcs resource status node= node_idオプションとpcs stonith status node= node_idオプションは、特定のノードで構成されたリソースのステータスを表示します。

    • pcs resource status resource_idオプションとpcs stonith status resource_id オプションは、単一のリソースのステータスを表示します。

    • pcs resource status tag_idオプションとpcs stonith status tag_id オプションは、指定したタグを持つすべてのリソースのステータスを表示します。

  • pcs resource safe-disableコマンドに含まれる縮小出力を表示するオプション

    レポートにエラーのみを出力して長いシミュレーション結果を含めないようにするために、一部のpcs resourceサブコマンドには--briefオプションを使用できます。

    • pcs resource safe-disable --brief

    • pcs resource disable --safe --brief

    エラー・レポートには、常に影響を受けるリソースのリソースIDが含まれるようになりました。

  • SCSIフェンシング・デバイスの更新用に導入された新しいpcsコマンド

    新しいコマンドpcs stonith update-scsi-devicesを使用すると、その他のクラスタ・リソースを再起動せずにSCSIデバイスを更新できます。pcs stonith updateコマンドにより、stonithリソースが実行されていたノードで実行中のすべてのリソースが再起動されます。

  • ウォッチドッグ専用のSBD設定を構成するためのfence_watchdogエージェント

    新しいfence_watchdogエージェントは、ウォッチドッグ専用のSBD設定を構成する場合に使用します。この設定により、一部のノードのみがフェンシングにウォッチドッグ専用SBDを使用し、その他のノードは別のフェンシング・タイプを使用するクラスタ構成が可能になります。クラスタは、このようなデバイスを1つしか持てない場合があり、そのデバイス名はwatchdogにする必要があります。以前のウォッチドッグ専用SBD構成では、このような柔軟性はなく、クラスタ内のすべてのノードでSBDを使用する必要がありました。

  • ローカル・モード・バージョンのpcsクラスタ設定コマンドのサポート

    --corosync-confオプションは、pcsクラスタ設定コマンドをローカル・モードに切り替えます。このモードでは、pcsコマンドはcorosync.confファイルを作成して、その他のノードと通信することなくローカル・ノードにのみ保存します。そのため、スクリプトでcorosync.confファイルを作成して、そのファイルをスクリプトを使用して処理できます。

  • リソース移動後の場所制約の自動削除

    pcs resource moveコマンドは、リソースが元のノードで実行されないようにする制約をリソースに追加します。デフォルトでは、リソースの移動時に場所制約が自動的に削除されます。削除によって、リソースが元のノードに戻らないこともあります。その時点でリソースを実行できる場所は、最初にリソースがどのように構成されているかによって異なります。リソースを移動し、その結果としての制約をそのままにするには、pcs resource move-with-constraintコマンドを使用します。

  • pcsコマンドで受け入れられるPromotedロールとUnpromotedロール

    pcsコマンドは、Pacemaker構成で指定される任意の場所でPromotedロールおよびUnpromotedロールを受け入れます。これらのロール名は、以前のリリースで使用されていたMasterおよびSlave Pacemakerロールと機能的に同等です。また、これらのロール名は構成の表示およびヘルプ・ページに表示されます。

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

Oracle Linux 9には、インフラストラクチャ・ツールとコマンドライン・ツールに対する複数のバージョン更新および次のような重要な改善が導入されています。

  • バージョン4.1に更新されたchrony

    この更新されたchronyパッケージには、次のような重要な変更が含まれています。

    • Network Time Security (NTS)認証に対する追加サポート。

    • Oracle Linux 9では、Authenticated Network Time Protocol (NTP)のソースが認証なしのNTPソースよりも信頼されます。以前の動作をリストアするには、chrony.confファイルにautoselectmode ignore引数を追加します。

    • RIPEMDキーRMD128RMD160RMD256RMD320を使用した認証に対するサポートの削除。

    • NTPv4パケット内の長い非標準MACに対するサポートの削除。chrony 2.x non-MD5/SHA1キーを使用している場合は、version 3オプションを使用してchronyを構成する必要があります。

    このリリースのchronyのバージョンとOracle Linux 8のバージョンには、次に示す違いがあります。

    • seccompフィルタはデフォルトで有効です。

      -F Zオプションは、/etc/sysconfig/chronydで設定されます。

    • seccompフィルタは、mailonchangeディレクティブと競合します。このディレクティブを/etc/chrony.confで設定した場合は、-F Z設定を削除してフィルタを無効にします。

ネットワーキング

Oracle Linux 9では、次のネットワーク機能、拡張機能および変更が導入されています。

  • UEKで使用可能なWireGuard

    WireGuardは、高度なセキュリティ機能を備えた仮想プライベート・ネットワーク(VPN)実装ですが、簡単に使用できるように設計されていて、以前のトンネリング・プロトコルの代替になるものです。WireGuardは、UEK R6U3以降のUEKリリースで本番サポートされていて、Oracle Linux 9ではUEK R7で引き続きサポートされています。詳細は、Unbreakable Enterprise Kernelリリース7: リリース・ノート(5.15.0-0.30)を参照してください。WireGuardを構成する場合は、「Oracle Linux: 仮想プライベートNetworksの構成」を参照してください。

    ただし、RHCKでは、WireGuardはテクノロジ・プレビューとしてのみ使用可能である点に注意してください。「テクノロジ・プレビュー」を参照してください。

  • カーネル・イメージで使用可能なdiagモジュール

    カーネル・イメージには、次のdiagモジュールが含まれています。
    CONFIG_INET_DIAG
    CONFIG_INET_RAW_DIAG
    CONFIG_INET_TCP_DIAG
    CONFIG_INET_UDP_DIAG
    CONFIG_NETLINK_DIAG
    CONFIG_PACKET_DIAG
    CONFIG_UNIX_DIAG

    これらのモジュールはカーネルの一部であるため、ssコマンドを使用して動的にロードする必要がなくなりました。この変更により、カーネル・モジュールの顧客ポリシーに関係なく、ネットワークの問題のデバッグが容易になります。

  • sysctlに追加されたコアおよびIPv4関連のネットワーキング・カーネル・パラメータ

    該当するパラメータとその説明のリストについては、kernel-docパッケージをインストールして、次のファイルを参照してください。

    • /usr/share/doc/kernel-doc-version/Documentation/admin-guide/sysctl/net.rst

    • /usr/share/doc/kernel-doc-version/Documentation/networking/ip-sysctl.rst

  • よりインクルーシブな用語を使用するNmstate API

    よりインクルーシブな用語にするための継続的な取り組みの一環として、nmstate APIでは、用語slaveが用語portに置き換えられました。

  • ボンド・ポートでのqueue_idのNetworkManagerサポート

    ボンド内のNetworkManagerポートには、queue_idパラメータの設定のサポートが含まれます。

    たとえば、eth1がボンド・インタフェースのポートの場合、次のコマンドを使用することで、そのボンド・ポートのqueue_idパラメータを有効にできます。

    sudo nmcli connection modify eth1 bond-port.queue-id 1
    sudo nmcli connection up eth1

    ノート:

    このオプションの使用が必要になるネットワーク・インタフェースは、すべてのインタフェースについて適切な優先順位が設定されるまで、複数の呼び出しで構成する必要があります。詳細は、kernel-docsパッケージで提供される/usr/share/docs/kernel-doc-_version/Documentation/networking/bonding.rstファイルを参照してください。

  • Oracle提供のRDMAパッケージ

    Oracleは、UEK R7で使用するRemote Direct Memory Access (RDMA)パッケージを提供しています。これは、ネットワークで接続されている2つのシステム間の直接メモリー・アクセスを有効にするものです。詳細は、Unbreakable Enterprise Kernelリリース7: リリース・ノート(5.15.0-0.30)を参照してください。

セキュリティ

Oracle Linux 9では、セキュリティに関する次の機能、機能強化および変更点が導入されています。

  • より安全になったシステム全体の暗号化ポリシー

    システム全体の暗号化ポリシーは、古い暗号化アルゴリズムを無効にしてRSAキーの最小サイズを増大することで安全性が向上します。SHA-1の使用は、DEFAULT暗号化ポリシーで制限されています。HMACおよびDNSSecの使用を除き、TLS、DTLS、SSH、IKEv2およびKerberosプロトコルではSHA-1が許可されません。この変更の一環として、一部のアルゴリズムが無効化されています。

    無効化された一部のアルゴリズムと暗号を有効にする必要がある場合は、ポリシー修飾子を使用するか、ポリシーをカスタマイズします。

  • OpenSSLバージョン3.0.1のサポート

    このバージョンには、新しいバージョニング・スキーム、新しいアルゴリズムのサポート、GETおよびPOSTをサポートする新しいHTTP(S)クライアントなどの拡張機能と修正が含まれています。次に、OpenSSLに関連する機能を示します。

    • OpenSSLによるプロバイダの新しい概念のサポート

      OpenSSL 3.0.1ツールキットには、プロバイダの概念が導入されています。これは、各種のアプリケーションに向けて選択できるアルゴリズムのコレクションです。提供されるプロバイダは、basedefaultFIPSlegacyおよびnullです。

      デフォルトでは、OpenSSLは、一般的に使用されるアルゴリズム(RSA、DSA、DH、CAMELLIA、SHA-1、SHA-2など)で構成されたdefaultプロバイダをロードしてアクティブ化します。FIPSフラグがカーネルで設定されている場合は、FIPSプロバイダが自動的に読み込まれ、手動でFIPSモードに切り替える必要はなくなります。システム・レベルでプロバイダを変更する場合は、openssl.cnf構成ファイルを編集します。

      注意:

      明示的にプロバイダをアクティブ化すると、デフォルトのプロバイダ選択がオーバーライドされるため、システムにリモートからアクセスできなくなる可能性があります。

    • OpenSSLランダム・ビット・ジェネレータに含まれるCPACFサポート

      opensslパッケージでは、OpenSSL NIST SP800-90Aに準拠しているAESベースの決定的ランダム・ビット・ジェネレータ(DRBG)のCP Assist for Cryptographic Functions (CPACF)に対するサポートを提供します。

    • SHA-1およびSHA-256で署名されたSPKACファイルの作成が可能なopenssl-spkac

      openssl-spkacユーティリティを使用すると、MD5とは異なるハッシュで署名されたNetscape署名済の公開キーとチャレンジ(SPKAC)ファイルを作成できます。同様に、SHA-1およびSHA-256ハッシュで署名されたSPKACファイルを作成および検証することもできます。

      FIPS承認アルゴリズムのみを使用する場合は、カーネルでFIPSフラグを設定することのみが必要です。そのようにすると、OpenSSLは承認されたアルゴリズムを含むFIPSプロバイダを開きます。そのため、OpenSSLをFIPSモードに切り替える必要がなくなっています。

  • openCryptoki 3.17.0のサポート

    このバージョンとアップストリームで提供されるバージョンは一部に違いがあります。opencryptokiは、FIPs以外の承認済アルゴリズムを使用する古いデータ形式をサポートしていますが、そうしたアルゴリズムはFIPSプロバイダでは許可されなくなっています。そのため、システムでFIPSモードを有効にする前に、既存のトークンを新しい形式に移行する必要があります。古いデータ形式を使用するトークンを移行する場合は、pkcstok_migrateユーティリティを使用します。https://www.ibm.com/docs/en/linux-on-systems?topic=tools-pkcstok-migrateを参照してください。

  • GnuTLSバージョン3.7.3の提供

    gnutls 3.7.3パッケージには、以前のバージョンに対する多数の改善および不具合修正が含まれています。たとえば、早期日付(ゼロ・ラウンド・トリップ・データ、0-RTT)交換のタイミングが修正されています。また、cerutilツールは、証明書署名要求(CSR)への署名時に、認証局(CA)からCRL (証明書失効リスト)配布ポイントを継承しなくなりました。

  • Network Security Service 3.71

    Network Security Services (NSS)ライブラリ3.71は、SQLite形式のみをサポートします。従来のDBM形式のサポートは削除されています。

  • システム・ロールによるVPN管理のサポート

    このVPNサポートが利用できることで、Oracle Linuxシステム・ロールは、多数のホストが関与するホスト間接続およびメッシュ接続に応じたVPNトンネルをより簡単に作成するために使用できます。その結果として、システム・ロール・プロジェクト内で、より安定した不変のVPN構成インタフェースとトンネリング構成が得られます。

  • バージョン8.7p1に更新されたOpenSSH

    OpenSSH 8.7p1には、LogVerbose構成、新しいディレクティブによるクライアント・アドレスベースのレート制限、FIDOアライアンスで規定されたUniversal 2nd Factor (U2F)ハードウェア・オーセンティケータのサポートなど、重要な機能と拡張機能が含まれています。このバージョンには、次の修正も含まれています。

    • XMSSキー・タイプの非公開キー解析コードで、悪用可能な整数オーバーフローの問題に対処するための不具合修正。このキー・タイプはまだ実験的であり、そのサポートはデフォルトではコンパイルされません。ポータブルOpenSSHには、それを有効にするためにユーザーに向けられたautoconfオプションが存在しません。

    • ClientAliveCountMax=0キーワードの意味を明確にするための不具合の修正がOracle Linux 9に実装されています。最初の活性テスト後にテストの成功に関係なく接続を即座に強制終了する以前の動作のかわりに、このメカニズムでは接続の強制終了を完全に無効にします。

    • RAM内に保存している秘密キーの類推およびメモリー・サイドチャネル攻撃(Spectre、Meltdown、Rambleedなど)に対抗する保護が追加されました。Oracle Linux 9は、秘密鍵が使用されていないときに、ランダム・データ(現在16KB)で構成される比較的大きい「prekey」から導出された対称キーによって、その秘密鍵を暗号化します。

  • Libreswan 4.6のサポート

    このバージョンのLibreswanには、拡張機能と修正が含まれています。特に、現在は一般的にIKEv2がデプロイされているため、IKEv1パケットはデフォルトでサポートされなくなりました。設定でIKEv1パケットを使用する必要がある場合は、/etc/ipsec.confファイルにikev1-policy=accept行を追加することで、該当するパケットのサポートを有効にできます。

  • stunnel 5.62のサポート

    このパッケージ・バージョンには、sessionResumeオプションによるセッション再開の有効化または無効化や、Bash-completionスクリプトの可用性などの不具合修正と拡張機能が含まれています。

  • バージョン3.7.3に更新されたnettle

    この新しいバージョンには、次の拡張機能が含まれています。

    • 新しいアルゴリズムとモード(Ed448SHAKE256AES-XTSSIV-CMACなど)がサポートされています。

    • 既存のアルゴリズムに対するアーキテクチャ固有の最適化がサポートされています。

  • バージョン0.24に更新されたpk11-kit

    このパッケージ・バージョンでは、信頼されない認証局の場所のサブディレクトリの名前が識別しやすくなるようにblocklistに変更されています。

  • Berkeley DBではなくGDBMを使用するcyrus-sasl

    cyrus-saslパッケージには、libdb依存関係がなくなりました。さらに、sasldbプラグインでは、Berkeley DBではなくGDBM (GNU dbm)データベース形式を使用します。

    古いBerkeley DB形式で格納されている既存のSASLデータベースを移行するには、次のコマンドを使用します。

    cyrusbdb2current sasldb-path new-path
                         
  • 現在のカーネルで最新のSELinuxポリシー

    SELinuxのパフォーマンスは、カーネルへのSELinuxポリシーの高速ロード、メモリー・オーバーヘッドの削減、およびディスク領域の効率的な使用によって向上しました。さらに、SELinuxポリシーは現在のカーネルと適切に統合され、現行の権限、クラスおよび機能を使用できるためにセキュリティが向上します。権限定義の粒度が高くなると、システムはMLS SELinuxpolicyによって実行できるようになり、ポリシーで定義されていない権限ではシステムを起動できなくなります。

    また、SELinuxは、カーネル・コマンドラインでselinux=0パラメータを使用することでのみ無効にできます。SELinuxを/etc/selinux/configで無効にする古い方法を使用しても、SELinuxは無効になりません。SELinuxは有効のままで、ポリシーはロードされません。

    デフォルトでは、SELinuxポリシーはテキスト再配置のライブラリを含むコマンドを禁止します。SELinuxでは、ライブラリ・ファイルにtextrel_shlib_tラベルが付いている場合に、テキスト再配置が必要なライブラリを使用するコマンドを入力できます。

  • scap-security-guide 0.1.60の変更

    このバージョンでは、PAMスタックを堅牢化するためのルールは、構成ツールとしてauthselectを使用することです。

  • fapolicydバージョン1.1のサポート

    このバージョンの重要な機能は次のとおりです。

    • 実行ルールを許可または拒否するファイルは、/etc/fapolicyd/fapolicyd.rulesに代わって、/etc/fapolicyd/rules.d/に格納します。

    • 新しい/etc/fapolicyd/trust.dディレクトリでは、信頼できるファイルのリストをより多くのファイルに分離することをサポートしています。また、fapolicyd-cli -fコマンド構文を使用してファイルのエントリを追加することもできます。これにより、--trust-fileディレクティブを含むファイルのエントリを該当するファイルに追加できます。

    • ファイル名の空白は、fapolicyd信頼データベースを通じてサポートされます。

    • fapolicydは、信頼データベースにファイルを追加するときに、実行可能ファイルへの正しいパスを格納します。

  • Rsyslogパッケージに含まれるrsyslog-mmfieldsサブパッケージ

    このサブパッケージは、プロパティ・リプレーサ・フィールド抽出の代替としてmmfieldsモジュールを提供します。このモジュールは、すべてのフィールドを一度に抽出し、構造化データ部分内に格納します。そのため、mmfieldsを使用すると、共通イベント形式(CEF)などのフィールド・ベースのログ形式を処理できます。このモジュールは、多数のフィールドが必要になる場合や、特定のフィールドを再利用する場合にも使用できます。

  • 個別のrsyslog-logrotateパッケージで提供されるlogrotate

    このリリースでは、logrotate構成はメインのrsyslogパッケージから削除され、新しいrsyslog-logrotateパッケージに含まれます。この変更は、ログのローテーションが不要な場合など、不要な依存関係のインストールを防ぐために特定の最小限の環境で役立ちます。

  • sudoプログラムに含まれるPythonプラグイン

    sudo 1.9プログラムには、sudoプラグインをPythonで記述するための機能があります。この機能により、特定のシナリオに適合するsudoプログラムの拡張が容易になります。

  • libseccomp 2.5.2のサポート

    このバージョンには、Linux v5.14-rc7用に更新されたsyscall表、すべてのアーキテクチャを単一の場所に含めるための統合された多重化syscall処理、メンテナンス担当者のGPGキーの明確化などの不具合修正と拡張機能が含まれています。

  • Clevisに含まれたSHA-256のサポート

    Clevisフレームワークは、RFC 7638の推奨事項に準拠していて、JSON Web Key (JWK)サムプリントのデフォルト・ハッシュとしてSHA-256アルゴリズムをサポートしています。古いサムプリント(SHA-1)は引き続きサポートされるため、以前に暗号化したデータも復号化できます。

仮想化

Oracle Linux 9では、次の仮想化機能、拡張機能および変更が導入されています。

  • Clangを使用するQEMU

    Oracle Linux 9では、QEMUエミュレータのビルドにClangコンパイラを使用します。この改善により、KVMハイパーバイザは複数の高度なセキュリティ機能とデバッグ機能を使用できるようなり、将来の機能開発の機会が広がります。

  • VMでSafeStackを使用する機能の追加

    Oracle Linux 9以降、x86_64およびAMD64ハードウェア上のQEMUマシン・エミュレータではSafeStack機能を使用できます。SafeStackは、拡張されたコンパイラベースのスタック保護機能であり、攻撃者がスタック内の復帰ポインタを変更してReturn-Oriented Programming (ROP)攻撃を作成するためにスタックベースのバッファ・オーバーフローを悪用する機会を減らします。この変更により、Oracle Linux 9でホストされている仮想マシン(VM)は、ROPベースの脆弱性に対する安全性が大幅に向上します。

コンテナ

Oracle Linux 9には、次のコンテナ機能、拡張機能および変更点が導入されています。

  • Podmanによる短縮名のサポート

    registries.confファイルは、[aliases]表のイメージに対して短縮名の別名の構成を受け入れるようになりました。短縮名モードは次のとおりです。

    • Enforcing: イメージのプル時に一致する別名が見つからない場合、Podmanは非修飾検索のレジストリのいずれかを選択するようユーザーに求めます。選択したイメージが正常にプルされると、Podmanは、$HOME/.cache/containers/short-name-aliases.confファイル(rootlessユーザー)と /var/cache/containers/short-name-aliases.conf (rootユーザー)に新しい短縮名の別名を自動的に記録します。ユーザーにプロンプトを表示できない場合(たとえば、stdinstdoutがTTYでない場合)、Podmanは失敗します。short-name-aliases.confファイルは、registries.confファイルよりも優先されます(その両方が同じ名前を指定する場合)。

    • Permissive: enforcingモードと似ていますが、ユーザーにプロンプトが表示できない場合、Podmanは失敗しません。そのかわりに、Podmanは、すべての非修飾検索レジストリを特定の順序で検索します。別名は記録されない点に注意してください。

  • container-toolsモジュールに実装された変更

    container-toolsモジュールには、Podman、Buildah、Skopeoおよびruncの各ツールが含まれています。Oracle Linux 8ではcontainer-tools:ol8ストリームと表現されていたローリング・ストリームは、Oracle Linux 9ではcontainer-tools:latestという名前になります。Oracle Linux 8と同様に、コンテナ・ツールの安定バージョンは番号付きストリーム(3.0など)で入手可能になります。

  • containers-tools:latestモジュールで入手可能なcontainers-commonパッケージ

    container-tools:latestモジュールにcontainers-commonパッケージが追加されました。containers-commonパッケージには、コンテナ・ツールのエコシステム(Podman、Buildah、Skopeoなど)に共通の構成ファイルとドキュメントが含まれています。

  • podman-pyパッケージの利用が可能。

    podman-pyパッケージが、container-tools:3.0安定モジュール・ストリームとcontainer-tools:latestモジュールに追加されました。podman-pyパッケージは、PodmanのRESTful APIを使用するためのバインディングのライブラリです。

  • コントロール・グループ・バージョン2の改善

    cgroupv2が使用できることで、システム管理者は、以前のバージョンで発生したパフォーマンス問題の発生なしに、アプリケーションのリソースを制限できます。

    cgroupv2の重要な変更の詳細は、「カーネル」を参照してください。

  • container-tools meta-packageの利用が可能

    このRPM meta-packageには、Podman、Buildah、Skopeo、CRIU、Udica、およびすべての必要なライブラリが含まれていて、Oracle Linux 9に含まれています。container-tools meta-packageをインストールする場合は、次のコマンドを実行します。

    sudo dnf install container-tools
  • PodmanによるYAMLファイルを使用したポッドの自動ビルドと自動実行のサポート

    podman play kubeコマンドでは、YAMLファイルを使用して、ポッド内に複数のコンテナを持つ複数のポッドを自動的にビルドして実行します。

  • Oracle Linux 7ホストではサポートされないOracle Linux 9コンテナ

    Oracle Linux 7ホストでOracle Linux 9コンテナを実行することはサポートされていません。そのような設定が動作する可能性はありますが、保証はできません。

クラウド環境のOracle Linux

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

  • WALinuxAgentの2.3.0.2への更新

    Windows Azure Linuxエージェント(WALinuxAgent)は、アップストリーム・バージョン2.3.0.2にアップグレードされ、いくつかの不具合修正と拡張が導入されています。次に、最重要の項目を示します。

    • RequiredFeaturesおよびGoalStateAggregateStatus APIのサポートが追加されました。

    • 拡張マニフェストのフォールバック位置が追加されました。

    • 例外の生成時に欠落していたstr.format()へのコールが追加されました。