9.4 リリースノート
Red Hat Enterprise Linux 9.4 リリースノート
概要
Red Hat ドキュメントへのフィードバック (英語のみ)
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 概要
1.1. RHEL 9.4 における主な変更点
インストーラーおよびイメージの作成
RHEL Image Builder の主なハイライト:
- RHEL 9.4 以降のリリースディストリビューションでは、オペレーティングシステム用に予約されている特定のパスを除き、任意のカスタムマウントポイントを指定できます。
-
auto-lvm
、lvm
、raw
などのさまざまなパーティション設定モードを作成できます。 - ルールを追加および削除するための selected オプションと unselected オプションを使用して、プロファイルの調整オプションをカスタマイズし、ブループリントのカスタマイズにオプションを追加できます。
詳細は、新機能 - インストーラーとイメージの作成 を参照してください
RHEL for Edge
RHEL for Edge の主なハイライト:
- FIPS 準拠の RHEL for Edge イメージを作成できるようになりました。
- このテクノロジープレビューでは、Sqlite または Postgresql データベースから Owner Voucher を保存およびクエリーすることで、FDO オンボーディングプロセスを使用できます。
詳細は、新機能 - RHEL for Edge を参照してください。
セキュリティー
SELinux ユーザー空間リリース 3.6 では、SELinux ポリシーをさらにカスタマイズするための拒否ルールが導入されます。
Keylime サーバーコンポーネント (verifier および registrar) は、コンテナーとして利用できます。
Rsyslog ログ処理システムでは、カスタマイズ可能な TLS/SSL 暗号化設定と、capabilities のドロップに関連する追加オプションが導入されます。
OpenSSL TLS ツールキットは、プロバイダー固有の設定ファイル用のドロップインディレクトリーを追加します。
Linux カーネル暗号化 API (libkcapi) 1.4.0 では、新しいツールとオプションが導入されます。特に、新しい -T
オプションを使用すると、ハッシュ値の計算でターゲットファイル名を指定できます。
stunnel TLS/SSL トンネリングサービス 5.71 では、FIPS モードにある OpenSSL 1.1 以降のバージョンの動作が変更されます。この変更に加えて、バージョン 5.71 では、最新の PostgreSQL クライアントのサポートなど、多くの新機能が提供されます。
詳細は、新機能 - セキュリティー を参照してください。
動的プログラミング言語、Web サーバー、およびデータベースサーバー
次の Application Streams の新しいバージョンが利用可能になる
- Python 3.12
- Ruby 3.3
- PHP 8.2
- nginx 1.24
- MariaDB 10.11
- PostgreSQL 16
以下のコンポーネントがアップグレードされました。
- Git がバージョン 2.43.0 へ
- Git LFS がバージョン 3.4.1 へ
詳細は、新機能 - 動的プログラミング言語、Web サーバー、およびデータベースサーバー を参照してください。
コンパイラーおよび開発ツール
パフォーマンスツールとデバッガーの更新
RHEL 9.4 では、以下のパフォーマンスツールおよびデバッガーが更新されました。
- Valgrind 3.22
- SystemTap 5.0
- elfutils 0.190
更新されたパフォーマンスモニタリングツール
RHEL 9.4 では、以下のパフォーマンスモニタリングツールが更新されました。
- PCP 6.2.0
更新されたコンパイラーツールセット
次のコンパイラーツールセットが RHEL 9.4 で更新されました。
- GCC Toolset 13
- LLVM Toolset 17.0.6
- Rust Toolset 1.75.1
- Go Toolset 1.21.7
詳しい変更点については、新機能 - コンパイラーと開発ツール を参照してください。
Identity Management
Identity Management の主なハイライト:
- SSSD でパスワードレス認証を有効にして設定し、YubiKey などの FIDO2 仕様と互換性のある生体認証デバイスを使用できます。
詳細は、新機能 - Identity Management を参照してください。
仮想化
RHEL 9.4 では、64 ビット ARM アーキテクチャー上の KVM 仮想マシンの完全なサポートが導入されています。
さらに、仮想マシンの外部スナップショットが完全にサポートされ、多くのスナップショット操作のデフォルトのメカニズムになりました。
このリリースで導入された仮想化機能の詳細は、新機能 - 仮想化 を参照してください。
コンテナー
主な変更点は、以下のとおりです。
-
マルチアーキテクチャーコンテナーイメージを作成するための
podman farm build
コマンドが、テクノロジープレビューとして利用できます。 -
Podman は、事前に定義された設定セットをロードするための
containers.conf
モジュールをサポートするようになりました。 - Container Tools パッケージが更新されました。
- Podman v4.9 RESTful API では、イメージをレジストリーにプルまたはプッシュするときに、進捗データが表示されるようになりました。
- SQLite は、Podman のデフォルトのデータベースバックエンドとして完全にサポートされるようになりました。
-
Containerfile
は、複数行の HereDoc 命令をサポートするようになりました。 -
ネットワーク名としての
pasta
は非推奨になりました。 - BoltDB データベースバックエンドは非推奨になりました。
-
container-tools:4.0
モジュールは非推奨になりました。 - Container Network Interface (CNI) ネットワークスタックは非推奨となり、今後のリリースでは削除される予定です。
詳細については、新機能 - コンテナー を参照してください。
1.2. インプレースアップグレード
RHEL 8 から RHEL 9 へのインプレースアップグレード
現在サポートされているインプレースアップグレードパスは次のとおりです。
次のアーキテクチャー上の RHEL 8.8 から RHEL 9.2、および RHEL 8.10 から RHEL 9.4:
- 64 ビット Intel
- 64 ビット AMD
- 64-bit ARM
- IBM POWER 9 (リトルエンディアン) 以降
- z13 を除く IBM Z アーキテクチャー
- SAP HANA を搭載したシステム上の RHEL 8.8 から RHEL 9.2 および RHEL 8.10 から RHEL 9.4
インプレースアップグレードの実行方法は、RHEL 8 から RHEL 9 へのアップグレード を参照してください。
SAP 環境があるシステムでインプレースアップグレードを実行する手順については、SAP 環境を RHEL 8 から RHEL 9 にインプレースアップグレードする方法 を参照してください。
Red Hat がインプレースアップグレードプロセスをサポートする方法は、インプレースアップグレードサポートポリシー を参照してください。
主な機能拡張は、次のとおりです。
-
アップグレード後の
systemd
サービスの予想される状態を決定するための新しいロジックが実装されました。 - ローカルに保存された DNF リポジトリーをインプレースアップグレードに使用できるようになりました。
- プロキシーを使用してアップグレードできるように DNF を設定できるようになりました。
- HTTPS を使用してアクセスしたカスタム DNF リポジトリーでインプレースアップグレードを実行する際の問題が修正されました。
-
/etc/pki/tls/openssl.cnf
設定ファイルが変更されている場合は、アップグレード後に問題が発生しないように、アップグレード中にそのファイルがターゲットのデフォルトの OpenSSL 設定ファイルに置き換えられるようになりました。詳細は、アップグレード前のレポートを参照してください。
RHEL7 から RHEL 9 へのインプレースアップグレード
RHEL7 から RHEL 9 へのインプレースアップグレードを直接実行することはできません。ただし、RHEL 7 から RHEL 8 へのインプレースアップグレードを実行してから、RHEL 9 への 2 回目のインプレースアップグレードを実行することはできます。詳細は、RHEL 7 から RHEL 8 へのアップグレード を参照してください。
1.3. Red Hat Customer Portal Labs
Red Hat Customer Portal Labs は、カスタマーポータルのセクションにあるツールセットで、https://access.redhat.com/labs/ から入手できます。Red Hat Customer Portal Labs のアプリケーションは、パフォーマンスの向上、問題の迅速なトラブルシューティング、セキュリティー問題の特定、複雑なアプリケーションの迅速なデプロイメントおよび設定に役立ちます。最も一般的なアプリケーションには、以下のものがあります。
- Registration Assistant
- Kickstart Generator
- Red Hat Product Certificates
- Red Hat CVE Checker
- Kernel Oops Analyzer
- Red Hat Code Browser
- VNC Configurator
- Red Hat OpenShift Container Platform Update Graph
- Red Hat Satellite Upgrade Helper
- JVM Options Configuration Tool
- Load Balancer Configuration Tool
- Red Hat OpenShift Data Foundation サポートおよび相互運用性チェッカー
- Ansible Automation Platform Upgrade Assistant
- Ceph Placement Groups (PGs) per Pool Calculator
- Yum Repository Configuration Helper
1.4. 関連情報
他のバージョンと比較した Red Hat Enterprise Linux 9 の 機能および制限 は、Red Hat ナレッジベースの記事Red Hat Enterprise Linux テクノロジーの機能と制限を参照してください。
Red Hat Enterprise Linux の ライフサイクル に関する情報は Red Hat Enterprise Linux のライフサイクル を参照してください。
パッケージマニフェスト ドキュメントは、ライセンスとアプリケーションの互換性レベルを含む、RHEL 9 の パッケージリスト を提供します。
アプリケーションの互換性レベル は、Red Hat Enterprise Linux 9: アプリケーション互換性ガイド ドキュメントで説明されています。
削除された機能を含む主なRHEL 8 と RHEL 9 の相違点は、RHEL 9 の導入における考慮事項 で説明されています。
RHEL 8 から RHEL 9 へのインプレースアップグレード を実行する方法は、Upgrading from RHEL 8 to RHEL 9を参照してください。
すべての RHEL サブスクリプションで、既知の技術問題の特定、検証、および解決をプロアクティブに行う Red Hat Insights サービスが利用できます。Red Hat Insights クライアントをインストールし、システムをサービスに登録する方法は、Red Hat Insights を使い始める ページを参照してください。
公開リリースノートには、元の追跡チケットにアクセスするためのリンクが含まれています。一方、非公開の追跡チケットは表示できないため、リンクは含まれていません。[1]
第2章 アーキテクチャー
Red Hat Enterprise Linux 9.4 はカーネルバージョン 5.14.0-427.13.1 とともに配布されており、次のアーキテクチャーの最低限必要なバージョン (括弧内に記載) でサポートを提供します。
- AMD および Intel 64 ビットアーキテクチャー (x86-64-v2)
- 64 ビット ARM アーキテクチャー (ARMv8.0-A)
- IBM Power Systems (リトルエンディアン) (POWER9)
- 64 ビット IBM Z (z14)
各アーキテクチャーに適切なサブスクリプションを購入してください。
第3章 RHEL 9 のコンテンツの配布
3.1. インストール
Red Hat Enterprise Linux 9 は、ISO イメージを使用してインストールします。AMD64、Intel 64 ビット、64 ビット ARM、IBM Power Systems、IBM Z アーキテクチャーで、以下の 2 種類のインストールメディアが利用できます。
インストール ISO: BaseOS リポジトリーおよび AppStream リポジトリーが含まれ、リポジトリーを追加しなくてもインストールを完了できる完全インストールイメージです。製品のダウンロード ページでは、
インストール ISO
はバイナリー DVD
と呼ばれます。注記インストール用 ISO イメージのサイズは複数 GB であるため、光学メディア形式には適合しない場合があります。インストール ISO イメージを使用して起動可能なインストールメディアを作成する場合は、USB キーまたは USB ハードドライブを使用することが推奨されます。Image Builder ツールを使用すれば、RHEL イメージをカスタマイズできます。Image Builder の詳細は Composing a customized RHEL system image を参照してください。
- Boot ISO - インストールプログラムを起動するのに使用する最小限の ISO ブートイメージです。このオプションでは、ソフトウェアパッケージをインストールするのに、BaseOS リポジトリーおよび AppStream リポジトリーにアクセスする必要があります。リポジトリーは、Installation ISO イメージの一部です。インストール中に Red Hat CDN または Satellite に登録して、Red Hat CDN または Satellite から最新の BaseOS および AppStream コンテンツを使用することもできます。
ISO イメージのダウンロード、インストールメディアの作成、RHEL 9 インストールの完了の方法は、標準的な RHEL 9 インストールの実行 を参照してください。自動化したキックスタートインストールなどの高度なトピックは 高度な RHEL 9 インストールの実行 を参照してください。
3.2. リポジトリー
Red Hat Enterprise Linux 9 は、2 つのメインリポジトリーで配布されています。
- BaseOS
- AppStream
基本的な RHEL インストールにはどちらのリポジトリーも必要で、すべての RHEL サブスクリプションで利用できます。
BaseOS リポジトリーのコンテンツは、すべてのインストールのベースとなる、基本的なオペレーティングシステム機能のコアセットを提供します。このコンテンツは RPM 形式で提供されており、RHEL の以前のリリースと同様のサポート条件が適用されます。詳細は、対象範囲の詳細 を参照してください。
AppStream リポジトリーには、さまざまなワークロードとユースケースに対応するために、ユーザー空間アプリケーション、ランタイム言語、およびデータベースが同梱されます。
また、CodeReady Linux Builder リポジトリーは、すべての RHEL サブスクリプションで利用できます。このリポジトリーは、開発者向けの追加パッケージを提供します。CodeReady Linux Builder リポジトリーに含まれるパッケージは、サポート対象外です。
RHEL 9 リポジトリーとそれらが提供するパッケージの詳細は、パッケージマニフェスト を参照してください。
3.3. Application Streams
複数のバージョンのユーザー空間コンポーネントが Application Streams として配信され、オペレーティングシステムのコアパッケージよりも頻繁に更新されます。これにより、プラットフォームや特定のデプロイメントの基盤となる安定性に影響を及ぼさずに、RHEL をより柔軟にカスタマイズできます。
Application Streams は、通常の RPM 形式で、モジュールと呼ばれる RPM 形式への拡張として、Software Collections として、または Flatpak として利用できます。
各 Application Streams コンポーネントには、RHEL 9 と同じか、より短いライフサイクルが指定されています。RHEL のライフサイクル情報は、Red Hat Enterprise Linux のライフサイクル を参照してください。
RHEL 9 では、従来の dnf install
コマンドを使用して RPM パッケージとしてインストールできる最初の Application Streams バージョンを提供することで、Application Streams エクスペリエンスを向上させています。
RPM 形式を使用する初期 Application Streams の中には、Red Hat Enterprise Linux 9 よりも短いライフサイクルのものがあります。
追加の Application Streams バージョンの中には、将来のマイナー RHEL 9 リリースで、ライフサイクルが短いモジュールとして配布されるものがあります。モジュールは、論理ユニット (アプリケーション、言語スタック、データベース、またはツールセット) を表すパッケージの集まりです。これらのパッケージはまとめてビルドされ、テストされ、そしてリリースされます。
Application Streams のどのバージョンをインストールするかについて決めるには、まず Red Hat Enterprise Linux Application Streams ライフサイクル を確認してください。
代替コンパイラーやコンテナーツールなど、迅速な更新を必要とするコンテンツは、代替バージョンを並行して提供しない Rolling Streams で利用できます。Rolling Streams は、RPM またはモジュールとしてパッケージ化される場合があります。
RHEL 9 で使用可能な Application Streams とそのアプリケーション互換性レベルについては、パッケージマニフェスト を参照してください。アプリケーションの互換性レベルは、Red Hat Enterprise Linux 9: アプリケーション互換性ガイド ドキュメントで説明されています。
3.4. YUM/DNF を使用したパッケージ管理
Red Hat Enterprise Linux 9 では、ソフトウェアインストールは DNF により保証されます。Red Hat は、以前の RHEL のメジャーバージョンとの整合性を保つため、yum
コマンドの使用を引き続きサポートします。yum
の代わりに dnf
と入力しても、どちらも互換性のためのエイリアスなので、コマンドは期待通りに動作します。
RHEL 8 と RHEL 9 はDNFをベースにしていますが、RHEL 7 で使用していたYUMとの互換性があります。
詳細は、DNF ツールを使用したソフトウェアの管理 を参照してください。
第4章 新機能
ここでは、Red Hat Enterprise Linux 9.4 に追加された新機能および主要な機能拡張を説明します。
4.1. インストーラーおよびイメージの作成
SCAP セキュリティープロファイルのカスタマイズされたファイルをブループリントに追加するためのサポート
この機能拡張により、次のオプションを使用して、プロファイルのカスタマイズ済み調整オプションを osbuild-composer
ブループリントのカスタマイズに追加できるようになりました。
-
selected
: 追加するルールのリストに使用します。 -
unselected
: 削除するルールのリストに使用します。
デフォルトの org.ssgproject.content
ルールの名前空間の場合、この名前空間にあるルールの接頭辞を省略できます。たとえば、org.ssgproject.content_grub2_password
と grub2_password
は機能的に同等です。
そのブループリントからイメージをビルドすると、新しいテーラリングプロファイル ID を持つテーラリングファイルが作成され、/usr/share/xml/osbuild-oscap-tailoring/tailoring.xml
としてイメージに保存されます。新しいプロファイル ID には、ベースプロファイルの接尾辞として _osbuild_tailoring
が追加されます。たとえば、cis
ベースプロファイルを使用する場合は、xccdf_org.ssgproject.content_profile_cis_osbuild_tailoring
となります。
Jira:RHELDOCS-17792[1]
最小限の RHEL インストールでは、s390utils-core
パッケージのみがインストールされるようになる
RHEL 8.4 以降では、s390utils-base
パッケージは、s390utils-core
パッケージと補助 s390utils-base
パッケージに分割されています。そのため、RHEL インストールを minimal-environment
に設定すると、必要な s390utils-core
パッケージのみがインストールされ、補助 s390utils-base
パッケージはインストールされません。最小限の RHEL インストールで s390utils-base
パッケージを使用する場合は、RHEL インストールの完了後にパッケージを手動でインストールするか、キックスタートファイルを使用して s390utils-base
を明示的にインストールする必要があります。
Bugzilla:1932480[1]
4.2. セキュリティー
Keylime verifier および registrar コンテナーが利用可能になる
Keylime サーバーコンポーネント (verifier および registrar) を、コンテナーとして設定できるようになりました。コンテナー内で実行されるように設定した場合、Keylime registrar はホストにバイナリーがなくてもコンテナーからテナントシステムを監視します。コンテナーのデプロイメントにより、Keylime コンポーネントの分離性、モジュール性、再現性が向上します。
Jira:RHELDOCS-16721[1]
libkcapi
が、ハッシュ値の計算でターゲットファイル名を指定するオプションを提供するようになりました
この libkcapi
(Linux カーネル暗号化 API) パッケージの更新により、ハッシュ値の計算でターゲットファイル名を指定するための新しいオプション -T
が導入されます。このオプションの値は、処理済みの HMAC ファイルで指定されたファイル名をオーバーライドします。このオプションは、-c
オプションとの併用でのみ使用できます。以下に例を示します。
$ sha256hmac -c <hmac_file> -T <target_file>
Jira:RHEL-15298[1]
crypto-policies
を使用した SSH の MAC のより細かい制御
システム全体の暗号化ポリシー (crypto-policies
) で、SSH プロトコルのメッセージ認証コード (MAC) の追加オプションを設定できるようになりました。この更新により、crypto-policies
オプション ssh_etm
が、トライステート etm@SSH
オプションに変換されました。以前の ssh_etm
オプションは非推奨になりました。
ssh_etm
は、次のいずれかの値に設定できるようになりました。
ANY
-
encrypt-then-mac
とencrypt-and-mac
の両方の MAC を許可します。 DISABLE_ETM
-
encrypt-then-mac
MAC を許可しません。 DISABLE_NON_ETM
-
encrypt-then-mac
を使用しない MAC を許可しません。
暗黙の MAC を使用する暗号は、認証付き暗号化を使用するため、常に許可されることに注意してください。
semanage fcontext
コマンドがローカルの変更を並べ替えなくなりました
semanage fcontext -l -C
コマンドは、file_contexts.local
ファイルに保存されているローカルファイルコンテキストの変更をリスト表示します。restorecon
ユーティリティーは、file_contexts.local
内のエントリーを最も新しいエントリーから最も古いエントリーへと順番に処理します。以前の semanage fcontext -l -C
は、エントリーを間違った順序でリスト表示していました。処理順序とリスト表示順序の不一致により、SELinux ルールの管理時に問題が発生していました。この更新により、semanage fcontext -l -C
は、最も古いルールから最も新しいルールへと、期待どおりの正しい順序でルールを表示するようになりました。
Jira:RHEL-24462[1]
SELinux ポリシーに制限されている追加サービス
この更新により、次の systemd
サービスを制限する追加のルールが SELinux ポリシーに追加されます。
-
nvme-stas
-
rust-afterburn
-
rust-coreos-installer
-
bootc
その結果、これらのサービスは unconfined_service_t
SELinux ラベルでは実行されなくなり、SELinux enforcing モードで正常に実行されます。
Jira:RHEL-12591[1]
SAP HANA サービス用の新しい SELinux ポリシーモジュール
この更新により、SAP HANA サービスの SELinux ポリシーに追加のルールが追加されます。その結果、サービスは sap_unconfined_t
ドメインの SELinux enforcing モードで正常に実行されるようになりました。
glusterd
SELinux モジュールは別の glusterfs-selinux
パッケージへ移動
この更新により、glusterd
SELinux モジュールは別の glusterfs-selinux
パッケージで管理されるようになりました。したがって、このモジュールは selinux-policy
パッケージの一部ではなくなりました。glusterd
モジュールに関係するアクションについては、glusterfs-selinux
パッケージをインストールして使用します。
OpenSSL 用の fips.so
ライブラリーは別パッケージとして提供される
OpenSSL は、FIPS プロバイダーとして fips.so
共有ライブラリーを使用します。この更新により、認定のために米国立標準技術研究所 (NIST) に提出された fips.so
の最新バージョンが、別のパッケージに含まれるようになりました。これにより、OpenSSL の将来のバージョンでは、認定済みのコードまたは認定中のコードが使用されるようになります。
Jira:RHEL-23474[1]
chronyd-restricted
サービスは SELinux ポリシーによって制限される
この更新では、新しい chronyd-restricted
サービスを制限する追加のルールが SELinux ポリシーに追加されます。その結果、サービスは SELinux で正常に実行されるようになりました。
OpenSSL がプロバイダー設定用のドロップインディレクトリーを追加する
OpenSSL TLS ツールキットは、暗号化アルゴリズムを提供するモジュールのインストールおよび設定のためのプロバイダー API をサポートしています。この更新により、メインの OpenSSL 設定ファイルを変更せずに、プロバイダー固有の設定を /etc/pki/tls/openssl.d
ディレクトリー内の個別の .conf
ファイルに配置できるようになります。
SELinux ユーザー空間コンポーネントが 3.6 にリベース
SELinux ユーザー空間コンポーネント libsepol
、libselinux
、libsemanage
、policycoreutils
、checkpolicy
、および mcstrans
ライブラリーパッケージが 3.6 にリベースされました。このバージョンでは、さまざまなバグ修正、最適化、機能拡張が行われていますが、特に注目すべき点は次のとおりです。
-
CIL の
deny
ルールのサポートが追加されました。 -
CIL の
notself
およびother
キーワードのサポートが追加されました。 -
現在のシステムで実行されたポリシーの再ロードの数を出力する
getpolicyload
バイナリーを追加しました。
GnuTLS が 3.8.3 にリベース
GnuTLS パッケージはアップストリームバージョン 3.8.3 にリベースされました。このバージョンでは、さまざまなバグ修正と機能拡張が行われていますが、特に注目すべき点は次のとおりです。
-
gnutls_hkdf_expand
関数は、RFC 5869 2.3 に準拠するために、ハッシュダイジェストサイズの 255 倍以下の長さの引数のみを受け入れるようになりました。 -
TLS PSK
ユーザー名の長さ制限が 65535 文字に増加されました。 -
gnutls_session_channel_binding
API 関数は、RFC 9622 4.2 に従ってGNUTLS_CB_TLS_EXPORTER
が要求されたときに追加のチェックを実行します。 -
GNUTLS_NO_STATUS_REQUEST
フラグと%NO_STATUS_REQUEST
優先度修飾子が追加され、クライアント側でstatus_request
TLS エクステンションを無効にできるようになりました。 - GnuTLS は、TLS バージョンが 1.3 より古い場合、Change Cipher Spec メッセージの内容が 1 に等しいかチェックするようになりました。
- ClientHello エクステンションの順序は、デフォルトでランダム化されます。
- GnuTLS は、以前は機能しなかった PKCS #11 トークンでの EdDSA キー生成をサポートするようになりました。
Jira:RHEL-14891[1]
nettle
が 3.9.1 にリベース
nettle
ライブラリーパッケージが 3.9.1 にリベースこのバージョンでは、さまざまなバグ修正、最適化、機能拡張が行われていますが、特に注目すべき点は次のとおりです。
- バルーンパスワードハッシュの追加
- SIV-GCM 認証付き暗号化モードの追加
- Offset Codebook Mode 認証付き暗号化モードの追加
- 64 ビット IBM Z、AMD、Intel 64 ビットアーキテクチャーでの SHA-256 ハッシュ関数のパフォーマンスの向上
- IBM Power Systems、Little Endian、AMD、Intel 64 ビットアーキテクチャーにおける Poly1305 ハッシュ関数のパフォーマンスの向上
Jira:RHEL-14890[1]
p11-kit
が 0.25.3 にリベース
p11-kit
パッケージが、アップストリームバージョン 0.25.3 に更新されました。このパッケージには、PKCS #11 モジュールを管理するための p11-kit
ツール、信頼ポリシーストアを操作するための trust
ツール、および p11-kit
ライブラリーが含まれています。注目すべき機能拡張は次のとおりです。
- PKCS #11 バージョン 3.0 のサポートを追加しました。
pkcs11.h
ヘッダーファイル:- ChaCha20/Salsa20、Poly1305、IBM 固有のメカニズムと属性を追加しました。
- メッセージベースの暗号化に AES-GCM メカニズムパラメーターを追加しました。
p11-kit
ツール:-
トークンのオブジェクトをリスト表示および管理するためのユーティリティーコマンド (
list-tokens
、list-mechanisms
、list-objects
、import-object
、export-object
、delete-object
、generate-keypair
) を追加しました。 -
トークンの PKCS #11 プロファイルを管理するためのユーティリティーコマンド (
list-profiles
、add-profile
、delete-profile
) を追加しました。 -
マージされた設定を出力するための
print-config
コマンドを追加しました。
-
トークンのオブジェクトをリスト表示および管理するためのユーティリティーコマンド (
trust
ツール:-
.p11-kit
ファイルの形式を検証するためのcheck-format
コマンドを追加しました。
-
Jira:RHEL-14834[1]
libkcapi
が 1.4.0 にリベース
Linux カーネル暗号化 API へのアクセスを提供する libkcapi
ライブラリーは、アップストリームバージョン 1.4.0 にリベースされました。この更新には、さまざまな機能拡張とバグ修正が含まれています。主なものは次のとおりです。
-
sm3sum
およびsm3hmac
ツールを追加しました。 -
kcapi_md_sm3
およびkcapi_md_hmac_sm3
API を追加しました。 - SM4 の便利な機能を追加しました。
- リンク時最適化 (LTO) のサポートを修正しました。
- LTO リグレッションテストを修正しました。
-
kcapi-enc
による任意サイズの AEAD 暗号化のサポートを修正しました。
Jira:RHEL-5367[1]
OpenSSH でのユーザーとグループの作成に sysusers.d
形式を使用します
以前、OpenSSH は静的な useradd
スクリプトを使用していました。この更新により、OpenSSH は sysusers.d
形式を使用してシステムユーザーを宣言するようになり、システムユーザーをイントロスペクションできるようになりました。
OpenSSH は認証における人為的な遅延を制限します
ログイン失敗後の OpenSSH の応答は、ユーザー列挙攻撃を防ぐために人為的に遅延されます。この更新では、特権アクセス管理 (PAM) の処理などでリモート認証に時間がかかりすぎる場合に、このような遅延に対して上限を導入します。
Jira:RHEL-2469[1]
stunnel
が 5.71 にリベースされました
stunnel
TLS/SSL トンネリングサービスが、アップストリームバージョン 5.71 にリベースされました。
主な新機能は次のとおりです。
- 最新の PostgreSQL クライアントのサポートが追加されました。
-
protocolHeader
サービスレベルオプションを使用して、カスタムconnect
プロトコルネゴシエーションヘッダーを挿入できます。 -
protocolHost
オプションを使用して、クライアントの SMTP プロトコルネゴシエーションの HELO/EHLO 値を制御できます。 -
クライアントサイドの
protocol = ldap
に関するクライアントサイドサポートが追加されました。 -
サービスレベルの
sessionResume
オプションを使用して、セッション再開を設定できるようになりました。 -
CApath
を使用したサーバーモードでのクライアント証明書の要求に対するサポートが追加されました (以前はCAfile
のみがサポートされていました)。 - ファイルの読み取りとロギングのパフォーマンスが向上しました。
-
retry
オプションの設定可能な遅延のサポートが追加されました。 -
クライアントモードでは、
verifyChain
が設定されている場合に OCSP ステープリングの要求および検証が行われます。 - サーバーモードでは、OCSP ステープリングは常に利用可能です。
-
不確定の OCSP 検証により TLS ネゴシエーションが中断されます。これを無効にするには、
OCSPrequire = no
と設定します。
Jira:RHEL-2468[1]
Rsyslog で capabilities をドロップするための新しいオプション
次のグローバルオプションを使用して、capabilities をドロップするときの Rsyslog の動作を設定できるようになりました。
libcapng.default
-
capabilities のドロップ中にエラーが発生した場合の Rsyslog のアクションを決定します。デフォルト値は
on
です。この場合、libcapng-related
関連のエラーが発生した場合に Rsyslog が終了します。 libcapng.enable
-
Rsyslog が起動中に capabilities をドロップするかどうかを決定します。このオプションを無効にすると、
libcpng.default
は影響を与えません。
Jira:RHEL-943[1]
audit
が 3.1.2 にリベース
Linux の Audit システムがバージョン 3.1.2 に更新されました。これにより、以前にリリースされたバージョン 3.0.7 に対するバグ修正、機能拡張、およびパフォーマンス向上が実現しました。主な機能拡張は、次のとおりです。
-
auparse
ライブラリーは、名前のないソケットと匿名ソケットを解釈するようになりました。 -
ausearch
およびaureport
ツールのstart
オプションとend
オプションで、新しいキーワードthis-hour
を使用できます。 -
io_uring
非同期 I/O API のサポートが追加されました。 -
シグナル用のユーザーフレンドリーなキーワードが、
auditctl
プログラムに追加されました。 -
auparse
での破損したログの処理が改善されました。 -
auditd
サービスで、ProtectControlGroups
オプションがデフォルトで無効になりました。 - 除外フィルターのルールチェックが修正されました。
-
OPENAT2
フィールドの解釈が改善されました。 -
audispd af_unix
プラグインがスタンドアロンプログラムに移動しました。 - Python バインディングが変更され、Python API から Audit ルールが設定できなくなりました。この変更は、Simplified Wrapper and Interface Generator (SWIG) のバグのために行われました。
Jira:RHEL-14896[1]
Rsyslog が 8.2310 にリベース
Rsyslog ログ処理システムがアップストリームバージョン 8.2310 にリベースされました。この更新では、重要な機能拡張とバグ修正が導入されました。主な機能拡張は、次のとおりです。
- カスタマイズ可能な TLS/SSL 暗号化設定
-
以前のバージョンでは、個別の接続に対する TLS/SSL 暗号化設定はグローバル設定に限定されていました。最新バージョンでは、Rsyslog 内の個々の接続それぞれに固有の TLS/SSL 設定を定義できるようになりました。これには、セキュリティーと柔軟性を強化するために、さまざまな CA 証明書、秘密鍵、公開鍵、および CRL ファイルを指定することが含まれます。詳細な情報と使用方法については、
rsyslog-doc
パッケージで提供されるドキュメントを参照してください。 - capabilities ドロップ機能の改良
-
capabilities のドロップに関連する追加オプションを設定できるようになりました。
libcpng.enable
グローバルオプションをoff
に設定することで、capabilities のドロップを無効にできます。詳細は、RHEL-943 を参照してください。
Jira:RHEL-937, Jira:RHEL-943
SCAP セキュリティーガイドが 0.1.72 にリベース
SCAP セキュリティーガイド (SSG) パッケージが、アップストリームバージョン 0.1.72 にリベースされました。このバージョンでは、バグ修正とさまざまな機能拡張が行われています。主なものは次のとおりです。
- CIS プロファイルは最新のベンチマークに合わせて更新されます。
- PCI DSS プロファイルは、PCI DSS ポリシーバージョン 4.0 に準拠します。
- STIG プロファイルは、最新の DISA STIG ポリシーに準拠します。
詳細は、SCAP Security Guide release notes を参照してください。
4.3. RHEL for Edge
FIPS 対応 RHEL for Edge イメージのビルドのサポート
この機能拡張により、次のイメージタイプに対して FIPS 対応の RHEL for Edge イメージをビルドするためのサポートが追加されます。
-
edge-installer
-
edge-simplified-installer
-
edge-raw-image
-
edge-ami
-
edge-vsphere
FIPS モードを有効にできるのは、イメージのプロビジョニングプロセス中のみです。非 FIPS イメージのビルドを開始した後に FIPS モードに変更することはできません。
Jira:RHELDOCS-17263[1]
4.4. シェルおよびコマンドラインツール
openCryptoki がバージョン 3.22.0 にリベース
opencryptoki
パッケージがバージョン 3.22.0 に更新されました。主な変更点は、以下のとおりです。
-
CPACF
で保護されたキーを使用することで、AES-XTS
キータイプのサポートを追加しました。 - 証明書オブジェクト管理のサポートが追加されました。
-
no-login
オプションによるパブリックセッションのサポートが追加されました。 - セキュリティーオフィサー (SO) としてログインするためのサポートが追加されました。
-
Edwards
キーとMontgomery
キーのインポートおよびエクスポートのサポートが追加されました。 -
RSA-PSS
キーと証明書のインポートのサポートが追加されました。 - セキュリティー上の理由から、AES-XTS キーの 2 つのキー部分を同一にすることはできません。この更新では、同一になるのを確実に避けるために、キー生成およびインポートプロセスに対するチェックが追加されます。
- さまざまなバグ修正が実装されました。
Jira:RHEL-11412[1]
4.5. インフラストラクチャーサービス
synce4l
がバージョン 1.0.0 にリベース
synce4l
プロトコルがバージョン 1.0.0 に更新されました。この更新では、カーネルの Digital Phase Locked Loop (DPLL) インターフェイスのサポートが追加されます。
Jira:RHEL-10089[1]
chrony
がバージョン 4.5 にリベース
chrony
スイートがバージョン 4.5 に更新されました。主な変更点は、以下のとおりです。
- インターネット上の NTS の信頼性を向上させるために、Network Time Security (NTS) クッキーを短縮する AES-GCM-SIV 暗号のサポートが追加されました (インターネットでは、一部のプロバイダーが長い Network Time Protocol (NTP) メッセージをブロックまたはレート制限します)。
-
ホスト名で指定された NTP ソースの IP アドレスの定期的な更新を追加しました。デフォルトの間隔は 2 週間です。
chrony.conf
ファイルにrefresh 0
パラメーターを追加することで無効にできます。 - 到達不能な NTP ソースの自動置換が改善されました。
-
chronyc
ユーティリティーによって行われる重要な変更のロギングが改善されました。 - ソース選択の失敗と falseticker のロギングが改善されました。
-
遅延ハードウェア送信タイムスタンプのタイムアウトを設定するための
hwtstimeout
ディレクティブを追加しました。 - ハードウェアタイムスタンプで PTP の精度に到達するために、Precision Time Protocol (PTP) 透過クロックが提供する修正に対する実験的なサポートが追加されました。
-
root
権限なしでchronyd
サービスを起動できる最小限のクライアント専用設定用の代替サービスとして、chronyd-restricted
サービスを追加しました。 -
interleaved
モードのpresend
オプションを修正しました。 -
IP アドレスで指定された変更済みソースの
sourcedir
ディレクトリーからのリロードを修正しました。
linuxptp
がバージョン 4.2 にリベース
linuxptp
プロトコルがバージョン 4.2 に更新されました。主な変更点は、以下のとおりです。
-
phc2sys
ユーティリティーに複数のドメインのサポートが追加されました。 - Precision Time Protocol (PTP) の親データセット (クロッククラスなど) におけるクロックの更新および変更に関する通知のサポートが追加されました。
- PTP Power Profile (IEEE C37.238-2011 および IEEE C37.238-2017) のサポートが追加されました。
4.6. ネットワーク
nft
ユーティリティーが、nftables
ルールに含まれる状態をリセットできるようになりました
この機能拡張により、nft reset
コマンドを使用して、nftables
ルールに含まれる状態をリセットできるようになりました。たとえば、この機能を使用して、カウンターとクォータステートメントの値をリセットします。
Jira:RHEL-5980[1]
Marvell Octeon PCIe Endpoint Network Interface Controller ドライバーが利用可能になる
この機能拡張により、octeon_ep
ドライバーが追加されました。Marvell の Octeon PCIe Endpoint ネットワークインターフェイスカードのネットワークに使用できます。ホストドライバーは、PCI Express (PCIe) エンドポイントネットワークインターフェイス (NIC) として機能し、24 N2 コアのインフラストラクチャープロセッサーファミリーである Marvell OCTEON TX2 CN106XX をサポートします。OCTEON TX2 ドライバーを PCIe NIC として使用することで、セキュリティーファイアウォール、5G Open Radio Access Network (ORAN) と Virtual RAN (VRAN) アプリケーション、データ処理オフロードアプリケーションなど、さまざまな製品の PCIe エンドポイントとして OCTEON TX2 を使用できます。
現在、以下のデバイスでご利用いただけます。
- Network controller: Cavium, Inc.Device b100
- Network controller: Cavium, Inc.Device b200
- Network controller: Cavium, Inc.Device b400
- Network controller: Cavium, Inc.Device b900
- Network controller: Cavium, Inc.Device ba00
- Network controller: Cavium, Inc.Device bc00
- Network controller: Cavium, Inc.Device bd00
Jira:RHEL-9308[1]
NetworkManager は、高度なハードウェアオフロード用の switchdev
モードの設定をサポートするようになりました
この機能拡張により、NetworkManager 接続プロファイルで次の新しいプロパティーを設定できるようになります。
-
sriov.eswitch-mode
-
sriov.eswitch-inline-mode
-
sriov.eswitch-encap-mode
これらのプロパティーを使用して、スマートネットワークインターフェイスコントローラー (Smart NIC) の eSwitch を設定できます。たとえば、高度なハードウェアオフロード機能を使用するには、sriov.eswitch-mode
設定を使用して、モードを legacy SR-IOV
から switchdev
に変更します。
NetworkManager は ethtool
チャネル設定の変更をサポートします
ネットワークインターフェイスには、複数の割り込み要求 (IRQ) と、channels
と呼ばれる関連パケットキューを設定できます。この機能拡張により、NetworkManager 接続プロファイルは、接続プロパティー ethtool.channels-rx
、ethtool.channels-tx
、ethtool.channels-other
、および ethtool.channels-combined
を使用して、インターフェイスに割り当てるチャネルの数を指定できるようになりました。
Jira:RHEL-1471[1]
Nmstate は設定を元に戻すための YAML ファイルを作成できるようになりました
この機能拡張により、Nmstate は、現在のネットワーク設定と、適用する新しい設定を含む YAML ファイルとの相違点を含む "元に戻すための設定ファイル" を作成できるようになります。YAML ファイルを適用した後、設定が想定どおりに機能しない場合は、元に戻すための設定ファイルを使用して以前の設定を復元できます。
-
適用する設定を含む YAML ファイル (たとえば、
new.yml
) を作成します。 new.yml
内の意図した設定と現在の状態の相違点を含む、元に戻すための設定ファイルを作成します。# nmstatectl gr new.yml > revert.yml
-
new.yml
の設定を適用します。 -
以前の状態に戻す場合は、
revert.yml
を適用します。
あるいは、Nmstate API を使用して元に戻す設定を作成する場合は、NetworkState::generate_revert(current)
呼び出しを使用することもできます。
Nmstate API は IPsec 設定に基づいて VPN 接続を設定します
Libreswan ユーティリティーは、VPN を設定するための IPsec の実装です。この更新により、nmstatectl
を使用して、設定モード (トンネルとトランスポート) およびネットワークレイアウト (host-to-host
、host-to-host
、subnet-to-subnet
) に加え、IPsec ベースの認証タイプを設定できるようになりました。
nmstate
が priority
ボンディングプロパティーをサポートするようになりました
この更新では、設定ファイルの ports-config
セクションの priority
プロパティーを使用して、nmstate
フレームワーク内のボンディングポートの優先順位を設定できるようになりました。YAML ファイルの例は次のようになります。
--- interfaces: - name: bond99 type: bond state: up link-aggregation: mode: active-backup ports-config: - name: eth2 priority: 15
ボンディングされたインターフェイス内のアクティブポートがダウンすると、RHEL カーネルは、すべてのバックアップポートのプールから、priority
プロパティーの数値が最も高い次のアクティブポートを選択します。
priority
プロパティーは、ボンディングインターフェイスの次のモードに関連します。
-
active-backup
-
balance-tlb
-
balance-alb
Jira:RHEL-1438[1]
NetworkManager Wi-Fi 接続が新しい MAC アドレスベースのプライバシーオプションをサポートします
この機能拡張により、無作為に生成された MAC アドレスを Wi-Fi ネットワークのサービスセット識別子 (SSID) に関連付けるように NetworkManager を設定できるようになりました。これにより、接続プロファイルを削除して再作成しても、ランダムでありつつ一貫性のある MAC アドレスを Wi-Fi ネットワークで永続的に使用できます。この新機能を使用するには、Wi-Fi 接続プロファイルの 802-11-wireless.cloned-mac-address
プロパティーを stable-ssid
に設定します。
VLAN インターフェイスの新しい nmstate
属性の導入
今回の nmstate
フレームワークの更新により、以下の VLAN 属性が導入されました。
-
registration-protocol
: VLAN Registration Protocol。有効な値はgvrp
(GARP VLAN Registration Protocol)、mvrp
(Multiple VLAN Registration Protocol)、およびnone
です。 -
reorder-headers
: 出力パケットヘッダーを並び替えます。有効な値はtrue
およびfalse
です。 -
loose-binding
: プライマリーデバイスの操作状態に対してインターフェイスを緩やかにバインドします。有効な値はtrue
およびfalse
です。
YAML 設定ファイルは以下の例のようになります。
--- interfaces: - name: eth1.101 type: vlan state: up vlan: base-iface: eth1 id: 101 registration-protocol: mvrp loose-binding: true reorder-headers: true
ipv4.dhcp-client-id
を none
に設定すると、client-identifier
が送信されません
NetworkManager で client-identifier
オプションが設定されていない場合、実際の値は、使用されている DHCP クライアントのタイプ (NetworkManager の internal
DHCP クライアントや dhclient
など) によって異なります。通常、DHCP クライアントは client-identifier
を送信します。したがって、ほとんどの場合、none
オプションを設定する必要はありません。したがって、このオプションは、クライアントが client-identifier
を送信しないことを要求する、一部の特殊な DHCP サーバー設定の場合にのみ役立ちます。
nmstate
が MACsec インターフェイスの作成をサポートするようになりました
この更新により、nmstate
フレームワークのユーザーは、Open Systems Interconnection (OSI) モデルのレイヤー 2 で通信を保護するように、MACsec インターフェイスを設定できるようになりました。そのため、後からレイヤー 7 で個々のサービスを暗号化する必要はありません。また、この機能により、関連する課題 (エンドポイントごとに大量の証明書を管理するなど) がなくなります。
詳細は、nmstatectl を使用した MACsec 接続の設定 を参照してください。
netfilter
の更新
RHEL 9 では、kernel
パッケージがバージョン 5.14.0-405 にアップグレードされました。その結果、リベースにより、RHEL カーネルの netfilter
コンポーネントにおいて複数の機能拡張とバグ修正も行われました。以下は、主な変更点です。
-
nftables
サブシステムは、トンネルパケットのさまざまな内部ヘッダーフィールドにマッチできます。これにより、特にトンネリングプロトコルが使用される環境において、ネットワークトラフィックのより詳細かつ効果的な制御が可能になります。
Jira:RHEL-16630[1]
firewalld
が不要なファイアウォールルールのフラッシュを実行しなくなりました
firewalld
サービスは、以下の条件を両方満たす場合、iptables
設定から既存のルールすべてを削除しません。
-
firewalld
がnftables
バックエンドを使用している。 -
--direct
オプションを使用して作成されたファイアウォールルールが存在しない。
この変更は、不要な操作 (ファイアウォールルールのフラッシュ) を削減し、他のソフトウェアとの統合を改善することを目的としています。
Jira:RHEL-427[1]
ss
ユーティリティーが TCP バインドされた非アクティブソケットの可視性を改善する
iproute2
スイートは、TCP/IP ネットワークトラフィックを制御するためのユーティリティーのコレクションを提供します。TCP バインドされた非アクティブソケットは、IP アドレスとポート番号に接続されていますが、両方とも TCP ポートに接続もリッスンもされていません。ソケットサービス (ss
) ユーティリティーは、TCP バインドされた非アクティブソケットをダンプするためのカーネルのサポートを追加します。次のコマンドオプションを使用して、これらのソケットを表示できます。
-
ss --all
: TCP バインドされた非アクティブソケットを含むすべてのソケットをダンプします。 -
ss --bound-inactive
: バインドされた非アクティブソケットのみをダンプします。
Jira:RHEL-21223[1]
Nmstate API が SR-IOV VLAN 802.1ad のタグ付けをサポートするようになりました
この機能拡張により、Nmstate API を使用して、ハードウェアアクセラレーションされた Single-Root I/O Virtualization (SR-IOV) 仮想ローカルエリアネットワーク (VLAN) 802.1ad のタグ付けを有効にできるようになりました。このタグ付けは、ファームウェアでこの機能がサポートされているカードで有効にできます。
TCP Illinois 輻輳アルゴリズムカーネルモジュールが再度有効化されました
TCP Illinois は TCP プロトコルのバリアントです。インターネットサービスプロバイダー (ISP) などのお客様は、TCP Illinois アルゴリズムがないとパフォーマンスが最適に保たれず、Bandwidth and Round-trip propagation time (BBR) アルゴリズムを使用してもネットワークトラフィックが適切にスケーリングされず、結果として待ち時間が長くなります。したがって、TCP Illinois アルゴリズムを使用することで、平均スループットが若干向上し、ネットワークリソースがより公平に割り当てられ、互換性も実現できます。
Jira:RHEL-5736[1]
iptables
ユーティリティーがバージョン 1.8.10 にリベース
iptables
ユーティリティーは、ファイアウォールを管理するためのパケットフィルタリングのルールを定義します。このユーティリティーはリベースされました。主な変更点は、以下のとおりです。
注目すべき機能:
-
sctp
マッチでの新しいチャンクタイプのサポートの追加 -
出力を jc --iptables にパイプするときに役立つよう、
ip6tables
オプトイン列を空の場合にそろえる -
より安定した出力のために、
--numeric
で数値プロトコル番号を出力する -
*tables-translate
ユーティリティーの変換の追加と出力フォーマットの改善 - man ページのいくつかの改善
注目すべき修正点:
-
iptables-restore
エラーメッセージが COMMIT 行を誤って指している -
ebtables での
-p Length
の一致が壊れている -
複数のルールで使用されている場合、マッチ間で壊れた ebtables が
ebtables-restore
によって復元される - すでに存在するチェーンの数に応じてチェーンの名前を変更すると、プログラムがクラッシュする可能性がある
- 重大でないメモリーリーク
- nft-variants への切り替え後、ebtables で broute テーブルのサポートが失われる
- '-c' オプションによる ip6tables ルールカウンター設定が壊れている
- 存在しないチェーンをリストするときに予期しないエラーメッセージが表示される
- among match が使用されている場合、ebtables ルールの比較で誤検出が発生する可能性がある
- チェーンの名前を無効な名前に変更することを禁止する
- 無効なチェーン名を検出するために、iptables-restore 入力の "chain lines" をより厳密にチェックする
- 機能しないビルトインチェーンポリシーカウンター
nftables
がバージョン 1.0.9 にリベース
nftables
ユーティリティーがバージョン 1.0.9 にアップグレードされ、複数のバグ修正と機能拡張が提供されています。主な変更点は、以下のとおりです。
-
--optimize
コマンドオプションの改善 - Python nftables クラスの拡張
-
iptables-nft
によって作成されたルールを処理する際の動作の改善 - vxlan-encapsulated ヘッダーのフィールドへのアクセスに対するサポート
- GRE、Geneve、GRETAP プロトコルの初期サポート
-
ルールカウンター、クォータをリセットするための新しい
reset rule(s)
コマンド -
新しい
destroy
コマンドは存在するものだけを削除する -
最後にパケットを確認したときに、新しい
last
ステートメントを記録する - netdev-family チェーンからデバイスを追加および削除する
-
ebtables の broute 機能をエミュレートする新しい
meta broute
式 - さまざまなメモリーリークを修正する
- コーナーケースでのエラーメッセージの間違ったロケーションを修正する
- JSON 出力に set および map ステートメントがない
firewalld
がバージョン 1.3 にリベース
firewalld
パッケージがバージョン 1.3 にアップグレードされ、複数のバグ修正と機能拡張が提供されます。主な変更点は、以下のとおりです。
-
新しい
reset-to-defaults
CLI オプション:firewalld
サービスの設定をデフォルトにリセットします。これにより、ユーザーはfirewalld
の設定を消去し、デフォルト設定からやり直すことができます。 -
ingress-zone=ZONE
のポリシーに対して--add-masquerade
CLI オプションを有効にします。ここで、ZONE
には--add-interface
CLI オプションで割り当てられたインターフェイスがあります。これにより制限がなくなり、一般的なシナリオで (ソースの代わりに) インターフェイスを使用できるようになります。
これらの機能を導入する理由:
-
ファイアウォールをデフォルト設定にリセットするために
reset-to-defaults
が実装されました。 - インターフェイスを使用すると、ファイアウォールの設定に影響を与えずに IP アドレスを変更できます。
その結果、ユーザーは次のアクションを実行できます。
- 設定をリセットする。
-
ポリシーを使用する際に
--add-maquerade
と--add-interface
を組み合わせて使用する。
4.7. カーネル
RHEL 9.4 のカーネルバージョン
Red Hat Enterprise Linux 9.4 は、カーネルバージョン 5.14.0-427.13.1 で配布されます。
rteval
は、デフォルトの測定 CPU リストに対する任意の CPU の追加および削除をサポートするようになりました
rteval
ユーティリティーを使用すると、--measurement-cpulist
パラメーターの使用時に、新しいリスト全体を指定するのではなく、デフォルトの測定 CPU リストに CPU を追加 (+ 記号を使用) または削除 (- 記号を使用) することができます。さらに、分離されたすべての CPU のセットをデフォルトの測定 CPU リストに追加するために --measurement-run-on-isolcpus
が導入されました。このオプションは、分離された CPU 上で実行されるリアルタイムアプリケーションの最も一般的なユースケースをカバーします。その他のユースケースでは、より一般的な機能が必要になります。たとえば、一部のリアルタイムアプリケーションでは、ハウスキーピングのために分離 CPU を 1 つ使用していました。当該 CPU は、デフォルトの測定 CPU リストから除外する必要がありました。その結果、デフォルトの測定 CPU リストに任意の CPU を追加するだけでなく、柔軟な方法で任意の CPU を削除することもできるようになりました。削除は追加よりも優先されます。このルールは、+/- 記号を使用して指定した CPU と、--measurement-run-on-isolcpus
で定義した CPU の両方に適用されます。
Jira:RHEL-9912[1]
rtla
がアップストリーム kernel
ソースコードのバージョン 6.6 にリベース
rtla
ユーティリティーが最新のアップストリームバージョンにアップグレードされ、複数のバグ修正および機能拡張が追加されました。主な変更点は、以下のとおりです。
-
メインの
rtla
スレッドとは別に、実行するrtla
スレッドの追加コントロールグループを指定する-C
オプションが追加されました。 -
rtla
スレッドをハウスキーピング CPU に配置し、測定スレッドを異なる CPU に配置する--house-keeping
オプションが追加されました。 -
timerlat hist
およびtimerlat top
スレッドをユーザー空間で実行できるように、timerlat
トレーサーのサポートが追加されました。
Jira:RHEL-10079[1]
cyclicdeadline
がレイテンシーのヒストグラムの生成をサポートするようになりました
このリリースでは、cyclicdeadline
ユーティリティーはレイテンシーのヒストグラムの生成をサポートします。この機能を使用すると、最悪のケースの数値を 1 つだけ取得するのではなく、さまざまなサイズのレイテンシースパイクの頻度についてより詳細な情報を得ることができます。
Jira:RHEL-9910[1]
SGX が完全にサポートされるようになりました
Software Guard Extensions (SGX) は、ソフトウェアコードおよび公開および修正からのデータを保護する Intel® テクノロジーです。
RHEL カーネルは、SGX バージョン 1 および 2 の機能を提供します。バージョン 1 では、Flexible Launch Control メカニズムを使用するプラットフォームで SGX テクノロジーを使用できるようになります。バージョン 2 では、Enclave Dynamic Memory Management (EDMM) が追加されています。主な変更には以下のものがあります。
- 一旦初期化されたエンクレーブに属する通常のエンクレーブページの EPCM 権限を変更します。
- 一旦初期化されたエンクレーブに通常のエンクレーブページを動的に追加します。
- より多くのスレッドを収容できるように一旦初期化されたエンクレーブを拡張します。
- 一旦初期化されたエンクレーブから通常のページと TCS ページを削除します。
このリリースでは、SGX はテクノロジープレビューから完全にサポートされる機能に移行します。
Bugzilla:2041883[1]
Intel データストリーミングアクセラレータードライバーが完全にサポートされるようになりました
Intel データストリーミングアクセラレータードライバー (IDXD) は、Intel CPU 統合アクセラレーターを提供するカーネルドライバーです。これには、プロセスアドレス空間 ID (pasid
) の送信および共有仮想メモリー (SVM) の共有ワークキューが含まれます。
このリリースでは、IDXD はテクノロジープレビューから完全にサポートされる機能に移行します。
Jira:RHEL-10097[1]
eBPF 機能が Linux カーネルバージョン 6.6 にリベース
注目すべき変更点と機能拡張は次のとおりです。
-
BPF プログラムでのデータおよび可変サイズのアクセスによる、より人間工学的で脆弱性の少ない反復が可能になる
skb
およびxdp
タイプの新しい動的ポインター (dynptrs
)。 -
新しい BPF
netfilter
プログラムタイプと、事前ルーティングや転送などのnetfilter
フックに BPF プログラムをフックするための最小限のサポート。 カーネルポインター (
kptrs
) に対する複数の改善点:-
kptrs
は、より多くの map タイプで使用できます。 -
タスク
kptrs
に対して RCU セマンティクスが有効化されます。 -
BPF
list
およびrbtree
の両方にノードを追加するのに役立つ、新しい参照カウントローカルkptrs
。
-
-
ロード時に、BPF プログラムは特定の
kfunc
が存在するかどうかを検出できます。 -
dynptr
、cgroups
、sockets
、cpumasks
を使用するためのいくつかの新しいkfuncs
。 -
複数の
uprobes
とusdt
プローブをアタッチするための新しい BPF リンク。これにより、速度が大幅に向上し、余分なファイル記述子 (FD) が節約されます。 -
BPF
map
要素カウントは、すべてのプログラムタイプで有効になります。 -
すべての BPF
map
タイプのメモリー使用量レポートがより正確になります。 -
bpf_fib_lookup
BPF ヘルパーには、ルーティングテーブル ID が含まれます。 -
BPF_OBJ_PIN
およびBPF_OBJ_GET
コマンドはO_PATH
FD をサポートします。
Jira:RHEL-10691[1]
libbpf-tools パッケージが IBM Z で利用可能になりました
BPF Compiler Collection (BCC) 用のコマンドラインツールを提供する libbpf-tools
パッケージが、IBM Z アーキテクチャーで利用できるようになりました。その結果、IBM Z で libbpf-tools
のコマンドを使用できるようになりました。
Jira:RHEL-16325[1]
4.8. ブートローダー
起動前段階での DEP/NX サポート
Data Execution Prevention (DEP)、No Execute (NX)、または Execute Disable (XD) と呼ばれるメモリー保護機能は、実行不可としてマークされたコードの実行をブロックします。DEP/NX は、RHEL のオペレーティングシステムレベルで利用可能になりました。
このリリースでは、GRUB および shim
ブートローダーに DEP/NX サポートが追加されました。これにより、特定の脆弱性 (DEP/NX 保護がなければ特定の攻撃を開始する可能性のある、悪意のある EFI ドライバーなど) を起動前の段階で防ぐことができます。
Jira:RHEL-10288[1]
4.9. ファイルシステムおよびストレージ
ファイルシステムのサイズ制限の設定がサポートされるようになる
この更新により、ユーザーはファイルシステムを作成または変更する際に、ファイルシステムのサイズ制限を設定できるようになりました。stratisd
サービスは、動的なファイルシステムの拡張を可能にしますが、XFS ファイルシステムを過度に拡張すると重大なパフォーマンスの問題が発生する可能性があります。この機能の追加により、XFS ファイルシステムが特定のしきい値を超えて拡張された際に発生する可能性のあるパフォーマンスの問題を予防します。ファイルシステムのサイズ制限を設定することで、ユーザーはこのような問題を回避し、最適なパフォーマンスを確保できます。さらに、この機能により、ユーザーがファイルシステムのサイズに上限を設定できるようになり、効率的なリソース割り当てが保証されるため、プールのモニタリングとメンテナンスが向上します。
lvconvert
を使用して標準 LV をシン LV に変換できるようになりました
標準論理ボリューム (LV) をシンプールデータとして指定することで、lvconvert
コマンドを使用して標準 LV をシン LV に変換できるようになりました。この更新により、既存の LV を変換してシンプロビジョニング機能を使用できるようになります。
multipathd
が、NVMe デバイスの FPIN-Li イベントの検出をサポートするようになりました
以前は、multipathd
コマンドは SCSI デバイス上の Integrity Fabric Performance Impact Notification (PFIN-Li) イベントのみを監視していました。multipathd
は、ファイバーチャネルファブリックが送信するリンク整合性イベントをリッスンし、それを使用してパスをマージナルとしてマークすることができました。この機能は、SCSI デバイス上のマルチパスデバイスでのみサポートされていました。この機能の使用の制限により、multipathd
は Non-volatile Memory Express (NVMe) デバイスパスをマージナルとしてマークすることができませんでした。
この更新により、multipathd
は、SCSI デバイスと NVMe デバイスの両方で FPIN-Li イベントの検出をサポートするようになりました。その結果、マルチパスは、他のパスが利用可能である間は、ファブリック接続が良好でないパスを使用しなくなりました。これにより、そのような状況での IO 遅延を回避できます。
max_retries
オプションが multipath.conf
の defaults
セクションに追加されました
この機能拡張により、multipath.conf
ファイルの defaults
セクションに max_retries
オプションが追加されました。デフォルトではこのオプションは設定されておらず、5 回の再試行を指定する SCSI レイヤーのデフォルト値が使用されます。このオプションの有効な値は 0
から 5
です。このオプションを設定すると、SCSI デバイスの max_retries
sysfs
属性のデフォルト値がオーバーライドされます。この属性は、特定のエラータイプが発生した場合に、SCSI 層が失敗を返す前に I/O コマンドを再試行する回数を制御します。
マルチパスのパスチェッカーが成功を返すものの、デバイスへの I/O がハングしているという問題に遭遇した場合、このオプションを設定して、別のパスで I/O が再試行されるまでの時間を短縮できます。
Jira:RHEL-1729[1]
auto_resize
オプションが multipath.conf
の defaults
セクションに追加されました
以前は、マルチパスデバイスのサイズを変更するには、multipathd resize map <name>
コマンドを手動で実行する必要がありました。この更新により、multipath.conf
ファイルの defaults
セクションに auto_resize
オプションが追加されました。このオプションは、multipathd
コマンドがマルチパスデバイスのサイズを自動的に変更できるタイミングを制御します。auto_resize
のさまざまな値を以下に示します。
-
デフォルトでは、
auto_resize
はnever
に設定されています。この場合、multipathd
は変更なしで動作します。 -
auto_resize
がgrow_only
に設定されている場合、multipathd
は、デバイスのパスのサイズが拡大した際にマルチパスデバイスのサイズを自動的に変更します。 -
auto_resize
がgrow_shrink
に設定されている場合、multipathd
は、デバイスのパスのサイズが縮小した際にマルチパスデバイスを自動的に縮小します。
したがって、このオプションを有効にすると、マルチパスデバイスのサイズを手動で変更する必要がなくなります。
Jira:RHEL-986[1]
Arcus NVMeoFC multipath.conf
設定の変更がカーネルに含まれるようになりました
Device-mapper-multipath に、HPE Alletra 9000 NVMeFC アレイ用の設定が組み込まれるようになりました。Arcus は、NVMeoFC の ANA (非対称名前空間アクセス) のサポートを追加しました。これは SCSI の ALUA に似ています。RHEL ホストがこの機能を使用し、利用可能な場合は ANA 最適化パスにのみ I/O を送信するには、multipath.conf
の変更が必要です。この変更なしでは、デバイスマッパーは ANA 最適化パスと ANA 非最適化パスの両方に I/O を送信していました。
この変更は NVMeoFC のみに適用されます。FCP multipath.conf
コンテンツには、この ALUA をサポートする設定が以前から含まれていました。
stratis-cli
がバージョン 3.6.0 にリベース
stratis-cli
パッケージがバージョン 3.6.0 にアップグレードされました。主なバグ修正と機能拡張は、以下のとおりです。
-
stratis-cli
コマンドラインインターフェイスは、ファイルシステムの作成時にファイルシステムのサイズ制限を設定するための追加オプションをサポートします。set-size-limit
とunset-size-limit
という 2 つの新しいファイルシステムコマンドは、ファイルシステムの作成後にファイルシステムのサイズ制限を設定または設定解除します。 -
stratis-cli
では、手動入力を使用してカーネルキーリングにキーを設定するときに、パスワード検証が組み込まれるようになりました。 -
stratis-cli
は、プールを停止するときに名前または UUID でプールを指定することをサポートするようになりました。 -
stratis-cli
の更新にはさまざまな内部改善も含まれ、パッケージ設定で少なくとも Python 3.9 バージョンの要件が強制されるようになりました。
Jira:RHEL-2265[1]
boom
がバージョン 1.6.0 にリベース
boom
パッケージがバージョン 3.6.0 にアップグレードされました。主な機能拡張は、次のとおりです。
-
systemd
コマンドがサポートするマルチボリュームスナップショットブート構文のサポート。 -
ブートエントリーでマウントする追加のボリュームを指定する、
new --mount
オプションおよび--no-fstab
オプションの追加。
SAN からの NVMe-FC ブートが完全にサポートされるようになりました
Red Hat Enterprise Linux 9.2 でテクノロジープレビューとして導入された Non-volatile Memory Express (NVMe) over Fibre Channel (NVMe/FC) ブートが、完全にサポートされるようになりました。一部の NVMe/FC ホストバスアダプターは、NVMe/FC ブート機能をサポートします。NVMe/FC ブート機能を有効にするようにホストバスアダプター (HBA) をプログラミングする方法の詳細は、NVMe/FC ホストバスアダプターの製造元のドキュメントを参照してください。
Jira:RHEL-1492[1]
4.10. 高可用性およびクラスター
pcs
は時刻プロパティーに関して ISO 8601 の duration 仕様をサポートします
pcs
コマンドラインインターフェイスで、Pacemaker の時刻プロパティーの値を ISO 8601 の duration 仕様標準に従って指定できるようになりました。
新しい pscd
Web UI 機能のサポート
pscd
Web UI では、次の機能がサポートされるようになりました。
- クラスターリソースの現在実行中のノードからの移動
- ノード上でのリソース実行の禁止
- クラスターステータスの経過時間とクラスターの状態がリロードされるタイミングを示す、クラスターステータスの表示
- クラスターステータス表示のリロードの要求
Jira:RHEL-7582, Jira:RHEL-7739
TLS 暗号リストがデフォルトでシステム全体の暗号化ポリシーを使用するようになりました
以前は、pcsd
TLS 暗号リストはデフォルトで DEFAULT:!RC4:!3DES:@STRENGTH
に設定されていました。この更新により、暗号リストはデフォルトでシステム全体の暗号化ポリシーによって定義されるようになりました。現在設定されている暗号化ポリシーによっては、このアップグレードにより pcsd
デーモンが受け入れる TLS 暗号が変更される可能性があります。暗号化ポリシーフレームワークの詳細は、crypto-policies
(7) の man ページを参照してください。
4.11. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
Python 3.12 が RHEL 9 で利用できるようになりました
RHEL 9.4 では、新しいパッケージ python3.12
とそのためにビルドされた一連のパッケージ、および ubi9/python-312
コンテナーイメージによって提供される Python 3.12 が導入されています。
以前にリリースされた Python 3.11 と比較しての主な機能拡張は次のとおりです。
-
Python では、ジェネリッククラスと関数に対して新しい
type
ステートメントと新しい型パラメーター構文が導入されています。 - フォーマットされた文字列リテラル (f-strings) が文法で形式化され、パーサーに直接統合できるようになりました。
- Python が、インタープリターごとに固有のグローバルインタープリターロック (GIL) を提供するようになりました。
- Python コードからバッファープロトコルを使用できるようになりました。
-
セキュリティーを強化するために、SHA1、SHA3、SHA2-384、SHA2-512、および MD5 暗号化アルゴリズムの組み込みの
hashlib
実装が、HACL* プロジェクトの正式に検証されたコードに置き換えられました。OpenSSL が組み込みの実装を提供しない場合は、フォールバックとして引き続き組み込みの実装を使用できます。 -
CPython
のディクショナリー、リスト、セットの内包表記がインライン化されました。これにより、内包表記の実行速度が大幅に向上します。 -
CPython
が Linuxperf
プロファイラーをサポートするようになりました。 -
CPython
が、サポート対象のプラットフォームでスタックオーバーフローの保護を提供するようになりました。
Python 3.12 とそのためにビルドされたパッケージは、同じシステム上に Python 3.9 および Python 3.11 と並行してインストールできます。
python3.12
スタックからパッケージをインストールするには、たとえば、以下を使用します。
# dnf install python3.12 # dnf install python3.12-pip
インタープリターを実行するには、たとえば、以下を使用します。
$ python3.12 $ python3.12 -m pip --help
詳細については、Python のインストールと使用 を参照してください。
Python 3.12 のサポート期間については、Red Hat Enterprise Linux Application Streams ライフサイクル を参照してください。
メールアドレスの解析を制御するための Python の新しい環境変数
CVE-2023-27043 の問題を軽減するために、メールアドレスをより厳密に解析するための後方互換性のない変更が Python 3 に導入されました。
この更新では、新しい PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING
環境変数が導入されました。この変数を true
に設定すると、比較的厳密ではない以前の解析動作が、システム全体のデフォルトになります。
export PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING=true
ただし、該当する関数を個別に呼び出すと、より厳密な動作が有効になる可能性があります。
次の内容で /etc/python/email.cfg
設定ファイルを作成しても、同じ結果を得ることができます。
[email_addr_parsing] PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING = true
詳細は、ナレッジベース記事 Mitigation of CVE-2023-27043 introducing stricter parsing of email addresses in Python を参照してください。
Jira:RHELDOCS-17369[1]
新しいモジュールストリーム: ruby:3.3
RHEL 9.4 では、新しい ruby:3.3
モジュールストリームに Ruby 3.3.0 が導入されました。このバージョンでは、RHEL 9.1 で配布される Ruby 3.1
に対するパフォーマンスの向上、バグおよびセキュリティー修正、および新機能がいくつか追加されました。
主な機能拡張は、次のとおりです。
-
Ripper
の代わりに新しいPrism
パーサーを使用できます。Prism
は、移植可能で、エラー耐性があり、メンテナンス性に優れた Ruby 言語の再帰下降パーサーです。 - Ruby の just-in-time (JIT) コンパイラー実装である YJIT は、もはや実験的機能ではなく、大幅なパフォーマンスの向上をもたらします。
-
Regexp
一致アルゴリズムが改善され、潜在的な正規表現サービス拒否 (ReDoS) の脆弱性の影響が軽減されました。 - 新しい実験的な RJIT (純粋な Ruby の JIT) コンパイラーが MJIT を置き換えます。実稼働環境では YJIT を使用してください。
- 新しい M:N スレッドスケジューラーが利用可能になりました。
その他の主な変更点:
-
今後は、
Bison
の代わりにLrama
LALR パーサージェネレーターを使用する必要があります。 - いくつかの非推奨のメソッドと定数が削除されました。
-
Racc
gem はデフォルトの gem からバンドルされた gem に昇格しました。
ruby:3.3
モジュールストリームをインストールするには、次のコマンドを使用します。
# dnf module install ruby:3.3
以前の ruby
モジュールストリームからアップグレードするには、後続のストリームへの切り替え を参照してください。
Ruby 3.3 のサポート期間については、Red Hat Enterprise Linux Application Streams ライフサイクル を参照してください。
Jira:RHEL-17089[1]
新しいモジュールストリーム: php:8.2
RHEL 9.4 は、PHP 8.2 を新しい php:8.2
モジュールストリームとして追加します。
このリリースでの改善点は次のとおりです。
- 読み取り専用クラス
- いくつかの新しいスタンドアロンタイプ
-
新しい
Random
エクステンション - トレイトの制約
php:8.2
モジュールストリームをインストールするには、次のコマンドを使用します。
# dnf module install php:8.2
php:8.1
ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。
RHEL 9 での PHP の使用方法の詳細は、Using the PHP scripting language を参照してください。
php
モジュールストリームのサポート期間の詳細は、Red Hat Enterprise Linux Application Streams のライフサイクル を参照してください。
Jira:RHEL-14699[1]
perl-DateTime-TimeZone
モジュールの name()
メソッドは、タイムゾーン名を返すようになりました。
perl-DateTime-TimeZone
モジュールがバージョン 2.62 に更新され、name()
メソッドによって返される値がタイムゾーンエイリアスからメインのタイムゾーン名に変更されました。
詳細と例については、ナレッジベースの記事 Change in the perl-DateTime-TimeZone API related to time zone name and alias を参照してください。
新しいモジュールストリーム: nginx:1.24
nginx 1.24 Web およびプロキシーサーバーが、nginx:1.24
モジュールストリームとして利用できるようになりました。この更新では、以前にリリースされたバージョン 1.22 に対するバグ修正、セキュリティー修正、新機能、および機能拡張がいくつか提供されます。
Transport Layer Security (TLS) に関連する新機能と変更点:
-
ssl_session_cache
ディレクティブで共有メモリーを使用する場合、TLS セッションチケットの暗号鍵が自動的にローテーションされるようになりました。 - Secure Sockets Layer (SSL) プロキシーを使用した設定でメモリー使用量が最適化されました。
-
resolver
ディレクティブのipv4=off
パラメーターを使用して、解決時に IPv4 アドレスの検索を無効にできるようになりました。 -
nginx は、PROXY v2 TLV プロトコルに表示される Type-Length-Value (TLV) フィールドの値を格納する
$proxy_protocol_tlv_*
変数をサポートするようになりました。 -
ngx_http_gzip_static_module
モジュールはバイト範囲をサポートするようになりました。
その他の変更点:
- ヘッダー行は、内部 API でリンクされたリストとして表されるようになりました。
-
nginx は、
ngx_http_perl_module
の$r->header_in()
メソッドと、$http_...
、$sent_http_...
、$sent_trailer_...
、$upstream_http_...
、および$upstream_trailer_...
変数の検索中に、FastCGI、SCGI、および uwsgi バックエンドに渡される同一の名前のヘッダー文字列を連結するようになりました。 - nginx は、リスニングソケットのプロトコルパラメーターが再定義されると警告を表示するようになりました。
- nginx は、クライアントによってパイプラインが使用された場合、接続を遅延して閉じるようになりました。
-
さまざまな SSL エラーのロギングレベルが、たとえば
Critical
からInformational
に引き下げられました。
nginx:1.24
ストリームをインストールするには、以下を実行します。
# dnf module install nginx:1.24
nginx 1.22
ストリームからアップグレードするには、後続のストリームに切り替えます。
詳細については、NGINX のセットアップと設定 を参照してください。
nginx
モジュールストリームのサポート期間については、Red Hat Enterprise Linux アプリケーションストリームのライフサイクル を参照してください。
Jira:RHEL-14713[1]
新しいモジュールストリーム: mariadb:10.11
MariaDB 10.11 が、新しいモジュールストリーム mariadb:10.11
として利用できるようになりました。以前に利用可能であったバージョン 10.5 に対する主な機能拡張は、以下のとおりです。
-
新しい
sys_schema
機能。 - アトミックデータ定義言語 (DDL) ステートメント。
-
新しい
GRANT ... TO PUBLIC
特権。 -
SUPER
特権とREAD ONLY ADMIN
特権の分離。 -
新しい
UUID
データベースデータ型。 - Secure Socket Layer (SSL) プロトコルのバージョン 3 のサポート。MariaDB サーバーの起動には、正しく設定された SSL が必要になりました。
-
natural_sort_key()
関数による自然なソート順序のサポート。 -
任意のテキストフォーマットのための新しい
SFORMAT
関数。 - UTF-8 文字セットと UCA-14 照合の変更。
-
/usr/share/
ディレクトリーで利用可能なsystemd
ソケットのアクティベーションファイル。アップストリームとは異なり、これらのファイルは RHEL のデフォルト設定の一部ではないことに注意してください。 -
MySQL
の代わりにMariaDB
文字列を含むエラーメッセージ。 - 中国語で利用可能なエラーメッセージ。
- デフォルトの logrotate ファイルへの変更。
-
MariaDB および MySQL クライアントの場合、コマンドラインで指定した接続プロパティー (例:
--port=3306
) によって、クライアントとサーバー間の通信のプロトコルタイプ (tcp
、socket
、pipe
、memory
など) が強制されるようになりました。
MariaDB 10.11 の変更点の詳細は、MariaDB 10.5 と MariaDB 10.11 の主な違い を参照してください。
MariaDB の詳細は、MariaDB の使用 を参照してください。
mariadb:10.11
ストリームをインストールするには、以下を使用します。
# dnf module install mariadb:10.11
MariaDB 10.5 からアップグレードする場合は、MariaDB 10.5 から MariaDB 10.11 へのアップグレード を参照してください。
mariadb
モジュールストリームのサポート期間の詳細は、Red Hat Enterprise Linux Application Streams のライフサイクル を参照してください。
新しいモジュールストリーム: postgresql:16
RHEL 9.4 では、PostgreSQL 16 が postgresql:16
モジュールストリームとして導入されています。PostgreSQL 16 では、バージョン 15 に比べていくつかの新機能と機能拡張が提供されます。
主な機能拡張は、次のとおりです。
- 強化された一括ロードによりパフォーマンスが向上します。
-
libpq
ライブラリーが、接続レベルの負荷分散をサポートするようになりました。より効率的な負荷分散のために、新しいload_balance_hosts
オプションを使用できます。 -
カスタム設定ファイルを作成し、それを
pg_hba.conf
ファイルとpg_ident.conf
ファイルに追加できるようになりました。 -
PostgreSQL は、
pg_hba.conf
ファイル内のデータベースおよびロールエントリーに対する正規表現の一致をサポートするようになりました。
その他の変更点は次のとおりです。
-
PostgreSQL は
postmaster
バイナリーとともに配布されなくなりました。提供されているsystemd
ユニットファイル (systemctl start postgres
コマンド) を使用してpostgresql
サーバーを起動するユーザーは、この変更の影響を受けません。以前にpostmaster
バイナリーを介してpostgresql
サーバーを直接起動していた場合は、今後は代わりにpostgres
バイナリーを使用する必要があります。 - PostgreSQL は、パッケージで PDF 形式のドキュメントを提供しなくなりました。代わりに オンラインドキュメント を使用してください。
PostgreSQL の使用 も参照してください。
postgresql:16
ストリームをインストールするには、次のコマンドを使用します。
# dnf module install postgresql:16
RHEL 9 内で以前の postgresql
ストリームからアップグレードする場合は 後続のストリームへの切り替え の説明に従い、PostgreSQL の RHEL9 バージョンへの移行 で説明されているように PostgreSQL データを移行します。
postgresql
モジュールストリームのサポート期間については、Red Hat Enterprise Linux アプリケーションストリームのライフサイクル を参照してください。
Git がバージョン 2.43.0 にリベース
Git バージョン管理システムがバージョン 2.43.0 に更新され、以前にリリースされたバージョン 2.39 に対するバグ修正、機能拡張、およびパフォーマンス向上が実現しました。
主な機能拡張は、次のとおりです。
-
git check-attr
コマンドで新しい--source
オプションを使用して、現在の作業ディレクトリーではなく、提供されたツリー状のオブジェクトから.gitattributes
ファイルを読み取ることができるようになりました。 -
Git は、
WWW-Authenticate
レスポンスタイプヘッダーからの情報を認証情報ヘルパーに渡すことができるようになりました。 -
コミットが空の場合、
git format-patch
コマンドは空のファイルを作成する代わりに、コミットのヘッダーを含む出力ファイルを書き込むようになりました。 -
git blame --contents=<file> <revision> -- <path>
コマンドを使用して、<file>
の内容を起点として<revision>
に至る履歴を通じて、行の起源を検索できるようになりました。 -
git log --format
コマンドは、--decorate
オプションが提供する機能を拡張するためのさらなるカスタマイズ用に、%(decorate)
プレースホルダーを受け入れるようになりました。
Jira:RHEL-17100[1]
Git LFS がバージョン 3.4.1 にリベース
Git Large File Storage (LFS) エクステンションがバージョン 3.4.1 に更新されました。これにより、以前にリリースされたバージョン 3.2.0 に対するバグ修正、機能拡張、およびパフォーマンス向上が実現しました。
主な変更点は、以下のとおりです。
-
git lfs push
コマンドが、標準入力から参照とオブジェクト ID を読み取ることができるようになりました。 - Git LFS は、Git に依存せずに代替リモートを処理するようになりました。
-
Git LFS は、認証情報ヘルパーとして
WWW-Authenticate
レスポンスタイプヘッダーをサポートするようになりました。
Jira:RHEL-17101[1]
4.12. コンパイラーおよび開発ツール
LLVM Toolset がバージョン 17.0.6 にリベース
LLVM Toolset がバージョン 17.0.6 に更新されました。
主な機能拡張は、次のとおりです。
- Opaque ポインターの移行が完了しました。
- ミドルエンド最適化におけるレガシーパスマネージャーのサポートが削除されました。
Clang の変更:
- C++20 コルーチンは実験的なものとはみなされなくなりました。
-
最適化されていないビルドでの
std::move
関数などのコード生成が改善されました。
詳細は、LLVM および Clang のアップストリームリリースノートを参照してください。
Rust Toolset がバージョン 1.75.0 にリベース
Rust Toolset がバージョン 1.75.0 に更新されました。
主な機能拡張は、次のとおりです。
- 定数評価時間が無制限になる
- よりクリーンなパニックメッセージ
- Cargo レジストリー認証
-
トレイト内の
async fn
と不透明な戻り値のタイプ
Go Toolset がバージョン 1.21.0 にリベース
Go Toolset がバージョン 1.21.0 に更新されました。
主な機能拡張は、次のとおりです。
-
min
、max
、clear
ビルトインが追加されました。 - プロファイルガイド最適化の公式サポートが追加されました。
- パッケージの初期化順序がより正確に定義されるようになりました。
- 型推論が改善されました。
- 下位互換性のサポートが改善されました。
詳細は、アップストリームの Go リリースノートを参照してください。
Jira:RHEL-11871[1]
Clang リソースディレクトリーが移動しました
Clang が内部ヘッダーとライブラリーを保存する Clang リソースディレクトリーが、/usr/lib64/clang/17
から /usr/lib/clang/17
に移動しました。
elfutils
がバージョン 0.190 にリベース
elfutils
パッケージが、バージョン 0.190 に更新されました。以下は、主な改善点です。
-
libelf
ライブラリーが、相対再配置 (RELR) をサポートするようになりました。 -
libdw
ライブラリーが、.debug_[ct]u_index
セクションを認識するようになりました。 -
eu-readelf
ユーティリティーが、ELF セクションを使用せずに動的セグメントを使用してシンボルを表示する、新しい-Ds
,--use-dynamic --symbol
オプションをサポートするようになりました。 -
eu-readelf
ユーティリティーが、.gdb_index
バージョン 9 を表示できるようになりました。 -
新しい
eu-scrlines
ユーティリティーは、指定された DWARF または ELF ファイルに関連付けられたソースファイルのリストをコンパイルします。 -
debuginfod
サーバースキーマが変更され、ファイル名の表現が 60% 圧縮されました (インデックスの再作成が必要です)。
systemtap
がバージョン 5.0 にリベース
systemtap
パッケージが、バージョン 5.0 に更新されました。主な機能拡張は、次のとおりです。
- カーネルとユーザー間のトランスポートの速度および信頼性の向上。
- DWARF5 debuginfo 形式のサポートの拡張。
GCC Toolset 13 の更新
GCC Toolset 13 は、最新バージョンの開発ツールを提供するコンパイラーツールセットです。これは、AppStream リポジトリー内の Software Collection の形式で Application Stream として利用できます。
RHEL 9.4 で導入された注目すべき変更点は次のとおりです。
- GCC コンパイラーがバージョン 13.2.1 に更新され、アップストリーム GCC で利用可能な多くのバグ修正と機能拡張が提供されます。
-
binutils
は、-march=znver5
コンパイラースイッチを通じて、znver5
コアに基づく AMD CPU をサポートするようになりました。 -
annobin
がバージョン 12.32 に更新されました。 -
GCC の
annobin
プラグインは、オブジェクトファイルに保存するメモに対して、より圧縮された形式をデフォルトで使用するようになりました。その結果、特に大規模で複雑なプログラムでは、オブジェクトファイルが小さくなり、リンク時間が短縮されます。
次のツールとバージョンが GCC Toolset 13 によって提供されます。
ツール | バージョン |
---|---|
GCC | 13.2.1 |
GDB | 12.1 |
binutils | 2.40 |
dwz | 0.14 |
annobin | 12.32 |
GCC Toolset 13 をインストールするには、root として次のコマンドを実行します。
# dnf install gcc-toolset-13
GCC Toolset 13 からツールを実行するには、以下を使用します。
$ scl enable gcc-toolset-13 tool
GCC Toolset 13 のツールバージョンがこれらのツールのシステムバージョンをオーバーライドするシェルセッションを実行するには、以下を使用します。
$ scl enable gcc-toolset-13 bash
詳細は、GCC Toolset 13 および GCC Toolset の使用 を参照してください。
Jira:RHEL-23798[1]
GCC と -fstack-protector
フラグを使用してコンパイルすると、64 ビット ARM での動的スタック割り当ての保護に失敗しなくなる
以前は、64 ビット ARM アーキテクチャーでは、-fstack-protector
フラグを指定したシステム GCC コンパイラーは、C99 可変長配列または alloca()
割り当てオブジェクトを含む関数でバッファーオーバーフローを検出できませんでした。その結果、攻撃者はスタック上に保存されたレジスターを上書きする可能性があります。この更新により、64 ビット ARM でのバッファーオーバーフロー検出が修正されました。その結果、システム GCC でコンパイルされたアプリケーションはより安全になります。
Jira:RHEL-17638[1]
GCC ツールセット 13: GCC と -fstack-protector
フラグを使用してコンパイルすると、64 ビット ARM での動的スタック割り当ての保護に失敗しなくなる
以前は、64 ビット ARM アーキテクチャーでは、-fstack-protector
フラグを指定した GCC コンパイラーは、C99 可変長配列または alloca()
割り当てオブジェクトを含む関数でバッファーオーバーフローを検出できませんでした。その結果、攻撃者はスタック上に保存されたレジスターを上書きする可能性があります。この更新により、64 ビット ARM でのバッファーオーバーフロー検出が修正されました。その結果、GCC でコンパイルされたアプリケーションはより安全になります。
pcp
がバージョン 6.2.0 に更新される
pcp
パッケージがバージョン 6.2.0 に更新されました。以下は、主な改善点です。
-
pcp-htop
は、ユーザー定義のタブをサポートするようになりました。 -
pcp-atop
は、新しい棒グラフ視覚化モードをサポートするようになりました。 - OpenMetrics PMDA メトリクスラベルとロギングが改善されました。
- 追加の Linux カーネル仮想メモリーメトリクスが追加されました。
新しいツール:
-
pmlogredact
-
pcp-buddyinfo
-
pcp-meminfo
-
pcp-netstat
-
pcp-slabinfo
-
pcp-zoneinfo
-
Jira:RHEL-2317[1]
新しい grafana-selinux
パッケージ
以前は、grafana-server
のデフォルトのインストールは unconfined_service_t
SELinux タイプとして実行されていました。この更新では、grafana-server
用の SELinux ポリシーが含まれ、grafana-server
とともにデフォルトでインストールされる、新しい grafana-selinux
パッケージが追加されます。その結果、grafana-server
は grafana_t
SELinux タイプとして実行されるようになりました。
papi
は、新しいプロセッサーマイクロアーキテクチャーをサポートする
この機能拡張により、次のプロセッサーマイクロアーキテクチャー上の papi
イベントプリセットを使用して、パフォーマンス監視ハードウェアにアクセスできるようになります。
- AMD Zen 4
- 第 4 世代 Intel® Xeon® スケーラブルプロセッサー
Jira:RHEL-9333[1]、Jira:RHEL-9335、Jira:RHEL-9334
新しいパッケージ: maven-openjdk21
maven:3.8
モジュールストリームに、maven-openjdk21
サブパッケージが含まれるようになりました。このサブパッケージは、OpenJDK 21 用の Maven JDK バインディングを提供し、システム OpenJDK 21 を使用するように Maven を設定します。
Jira:RHEL-13046[1]
新しいパッケージ: libzip-tools
RHEL 9.4 では、zipcmp
、zipmerge
、ziptool
などのユーティリティーを提供する libzip-tools
パッケージが導入されています。
cmake
がバージョン 3.26 にリベース
cmake
パッケージがバージョン 3.26 に更新されました。以下は、主な改善点です。
- C17 および C18 の言語規格のサポートが追加されました。
-
cmake
は、/etc/os-release
ファイルでオペレーティングシステムの識別情報をクエリーできるようになりました。 -
CUDA 20 および
nvtx3
ライブラリーのサポートが追加されました。 - Python 安定アプリケーションバイナリーインターフェイスのサポートが追加されました。
- Simplified Wrapper and Interface Generator (SWIG) ツールに Perl 5 のサポートが追加されました。
valgrind
が 3.22 に更新される
valgrind
パッケージがバージョン 3.22 に更新されました。以下は、主な改善点です。
-
valgrind
memcheck
は、C 関数memalign
、posix_memalign
、およびaligned_alloc
に指定された値と、C++17 で調整されたnew
Operator が有効なアラインメント値であるかどうかをチェックするようになりました。 -
valgrind
memcheck
は、C++14 サイズおよび C++17 に揃えられたnew
およびdelete
Operator の不一致検出をサポートするようになりました。 -
DWARF デバッグ情報の遅延読み取りのサポートが追加され、
debuginfo
パッケージがインストールされている場合に起動が高速化されました。
libabigail
がバージョン 2.4 にリベース
libabigail
パッケージがバージョン 2.4 に更新されました。
主な機能拡張は、次のとおりです。
-
abidiff
ツールが 2 セットのバイナリーの比較をサポートするようになりました。 - 柔軟な配列データメンバーに関連する無害な変更レポートを抑制するためのサポートが追加されました。
-
enum
型に関する無害な変更レポートを抑制するためのサポートが改善されました。 - 匿名の enum 型、union 型、struct 型への変更の表現が改善されました。
4.13. Identity Management
SSSD で新しいパスワードレスの認証方法が利用可能になる
この更新により、SSSD でパスワードレス認証を有効にして設定し、FIDO2 仕様と互換性のある生体認証デバイス (YubiKey など) を使用できるようになりました。事前に FIDO2 トークンを登録し、この登録情報を RHEL IdM、Active Directory、または LDAP ストアのユーザーアカウントに保存する必要があります。RHEL は、libfido2
ライブラリーを使用して FIDO2 の互換性を実装していますが、現在は USB ベースのトークンのみをサポートしています。
Jira:RHELDOCS-17841[1]
ansible-freeipa
ipauser
および ipagroup
モジュールが、新しい renamed
状態をサポートするようになる
この更新により、ansible-freeipa
ipauser
モジュールの renamed
状態を使用して、既存の IdM ユーザーのユーザー名を変更できるようになりました。また、ansible-freeipa
ipagroup
モジュールでこの状態を使用して、既存の IdM グループのグループ名を変更することもできます。
Identity Management ユーザーは、外部アイデンティティープロバイダーを使用して IdM に認証できるようになる
この機能拡張により、Identity Management (IdM) ユーザーを、OAuth 2 デバイス認証フローをサポートする外部アイデンティティープロバイダー (IdP) に関連付けることができるようになりました。このような IdP の例としては、Red Hat build of Keycloak、Microsoft Entra ID (旧 Azure Active Directory)、GitHub、Google などがあります。
IdM に IdP 参照と関連付けられた IdP ユーザー ID が存在する場合は、それらを使用して IdM ユーザーが外部 IdP で認証できるようにすることができます。外部 IdP で認証と認可を実行した後、IdM ユーザーはシングルサインオン機能を備えた Kerberos チケットを受け取ります。ユーザーは、RHEL 9.1 以降で使用可能な SSSD バージョンで認証する必要があります。
Jira:RHELPLAN-169666[1]
ipa
がバージョン 4.11 にリベース
ipa
パッケージがバージョン 4.10 から 4.11 に更新されました。主な変更点は、以下のとおりです。
- FIDO2 ベースのパスキーのサポート。
- Kerberos サービス用のリソースベースの制約付き委任 (RBCD) の初期実装。
-
ipalib.api
を自動的に設定、接続、切断するためのコンテキストマネージャー。 - IdM レプリカのインストールが、Kerberos 認証だけでなく、すべての IPA API および CA 要求に関しても、選択したサーバーに対して実行されるようになりました。
-
ansible-freeipa
パッケージが、バージョン 1.11 から 1.12.1 にリベースされました。 -
ipa-healthcheck
パッケージが、バージョン 0.12 から 0.16 にリベースされました。
詳細は、アップストリームのリリースノート を参照してください。
期限切れの KCM Kerberos チケットの削除
以前は、Kerberos Credential Manager (KCM) に新しい認証情報を追加しようとした際にすでにストレージ領域の上限に達していた場合、新しい認証情報は拒否されていました。ユーザーのストレージ領域は、max_uid_ccaches
設定オプション (デフォルト値は 64) によって制限されます。この更新により、ストレージ領域の上限にすでに達している場合は、最も古い期限切れの認証情報が削除され、新しい認証情報が KCM に追加されます。期限切れの認証情報がない場合、操作は失敗し、エラーが返されます。この問題を防ぐには、kdestroy
コマンドを使用して認証情報を削除し、領域を解放します。
IdM は Ansible モジュール idoverrideuser
、idoverridegroup
、idview
をサポートするようになりました
この更新により、ansible-freeipa
パッケージに次のモジュールが含まれるようになりました。
idoverrideuser
- Identity Management (IdM) LDAP サーバーに保存されているユーザーのユーザー属性 (ユーザーのログイン名、ホームディレクトリー、証明書、SSH キーなど) をオーバーライドできます。
idoverridegroup
- IdM LDAP サーバーに保存されているグループの属性 (グループ名、GID、説明など) をオーバーライドできます。
idview
- ユーザーおよびグループ ID のオーバーライドを整理し、特定の IdM ホストに適用できます。
将来的には、これらのモジュールを使用して、AD ユーザーがスマートカードを使用して IdM にログインできるようになります。
idp
Ansible モジュールを使用すると、IdM ユーザーを外部 IdP に関連付けることができます
この更新により、idp
ansible-freeipa
モジュールを使用して、Identity Management (IdM) ユーザーを、OAuth 2 デバイス認可フローをサポートする外部アイデンティティープロバイダー (IdP) に関連付けることができます。IdM に IdP 参照および関連付けられた IdP ユーザー ID が存在する場合は、それらを使用して IdM ユーザーの IdP 認証を有効にすることができます。
外部 IdP で認証と認可を実行した後、IdM ユーザーはシングルサインオン機能を備えた Kerberos チケットを受け取ります。ユーザーは、RHEL 8.7 以降で使用可能な SSSD バージョンで認証する必要があります。
getcert add-ca
は、証明書がすでに存在するか追跡されている場合に新しい戻りコードを返します
この更新により、すでに存在するか追跡されている証明書を追加または追跡しようとすると、getcert
コマンドは特定の戻りコード 2
を返します。以前は、エラー状態が発生すると、このコマンドは戻りコード 1
を返していました。
DNS ゾーン管理の委譲が ansible-freeipa
で有効になりました
dnszone
ansible-freeipa
モジュールを使用して、DNS ゾーン管理を委譲できるようになりました。dnszone
モジュールの permission
または managedby
変数を使用して、ゾーンごとのアクセス委譲権限を設定します。
すべての LDAP クライアントに OTP の使用を強制する
RHBA-2024:2558 アドバイザリーのリリースにより、RHEL IdM では、2 要素 (OTP) 認証が設定されたユーザーアカウントの LDAP サーバー認証におけるデフォルトの動作を設定できるようになりました。OTP が強制されている場合、LDAP クライアントは、関連付けられた OTP トークンを持つユーザーに対して、単一要素認証 (パスワード) を使用して LDAP サーバーに対して認証することはできません。この方法は、データなしの OID 2.16.840.1.113730.3.8.10.7 を使用した特別な LDAP 制御を使用することで、Kerberos バックエンドを通じてすでに実施されています。
すべての LDAP クライアントに OTP の使用を強制するには、管理者は次のコマンドを使用できます。
$ ipa config-mod --addattr ipaconfigstring=EnforceLDAPOTP
すべての LDAP クライアントに対して以前の OTP 動作に戻すには、次のコマンドを使用します。
$ ipa config-mod --delattr ipaconfigstring=EnforceLDAPOTP
Jira:RHEL-23377[1]
runasuser_group
パラメーターが ansible-freeipa
ipasudorule
で利用できるようになる
この更新では、ansible-freeipa ipasudorule
モジュールを使用して、sudo
ルールの RunAs ユーザーのグループを設定できるようになりました。このオプションは、Identity Management (IdM) コマンドラインインターフェイスと IdM Web UI ですでに利用可能です。
389-ds-base
がバージョン 2.4.5 にリベース
389-ds-base
パッケージがバージョン 2.4.5 に更新されました。バージョン 2.3.4 への主なバグ修正および機能拡張は、以下のとおりです。
- https://www.port389.org/docs/389ds/releases/release-2-3-5.html
- https://www.port389.org/docs/389ds/releases/release-2-3-6.html
- https://www.port389.org/docs/389ds/releases/release-2-3-7.html
- https://www.port389.org/docs/389ds/releases/release-2-4-0.html
- https://www.port389.org/docs/389ds/releases/release-2-4-1.html
- https://www.port389.org/docs/389ds/releases/release-2-4-2.html
- https://www.port389.org/docs/389ds/releases/release-2-4-3.html
- https://www.port389.org/docs/389ds/releases/release-2-4-4.html
- https://www.port389.org/docs/389ds/releases/release-2-4-5.html
ns-slapd
プロセスでは、Transparent Huge Pages がデフォルトで無効になりました
大規模なデータベースキャッシュを使用すると、Transparent Huge Pages (THP) によって、高い負荷がかかった状態の Directory Server のパフォーマンスに悪影響が生じる可能性があります。たとえば、メモリーフットプリントの増加、CPU 使用率の上昇、レイテンシースパイクなどが挙げられます。この機能拡張により、dirsrv
systemd
ユニットの /usr/lib/systemd/system/dirsrv@.service.d/custom.conf
ドロップイン設定ファイルに、ns-slapd
プロセスの THP を無効にする新しい設定オプション THP_DISABLE=1
が追加されました。
さらに、Directory Server ヘルスチェックツールが THP 設定を検出するようになりました。システム全体および Directory Server インスタンスに対して THP を有効にした場合、ヘルスチェックツールは有効になっている THP について通知し、無効にする方法に関する推奨事項を出力します。
新しい lastLoginHistSize
設定属性が Account Policy プラグインで利用できるようになりました
以前は、ユーザーがバインドを正常に実行した場合、最後のログインの時刻しか利用可能できませんでした。この更新では、新しい lastLoginHistSize
設定属性を使用して、成功したログインの履歴を管理できます。デフォルトでは、成功したログインのうち最後の 5 回が保存されます。
lastLoginHistSize
属性で成功したログインの統計情報を収集するには、Account Policy プラグインの alwaysRecordLogin
属性を有効にする必要があります。
詳細は、lastLoginHistSize を参照してください。
Jira:RHEL-5133[1]
MFA バインドを識別する、アクセスログ内の新しい notes=M
メッセージ
この更新により、MFA プラグインなどの事前バインド認証プラグインを使用してユーザーアカウントの二要素認証を設定すると、BIND
操作中に、Directory Server ログファイルに次のメッセージが記録されるようになりました。
アクセスログには、新しい
notes=M
note メッセージが記録されます。[time_stamp] conn=1 op=0 BIND dn="uid=jdoe,ou=people,dc=example,dc=com" method=128 version=3 [time_stamp] conn=1 op=0 RESULT err=0 tag=97 nentries=0 wtime=0.000111632 optime=0.006612223 etime=0.006722325 notes=M details="Multi-factor Authentication" dn="uid=jdoe,ou=people,dc=example,dc=com"
セキュリティーログには、新しい
SIMPLE/MFA
バインドメソッドが記録されます。{ "date": "[time_stamp] ", "utc_time": "1709327649.232748932", "event": "BIND_SUCCESS", "dn": "uid=djoe,ou=people,dc=example,dc=com", "bind_method": "SIMPLE\/MFA", "root_dn": false, "client_ip": "::1", "server_ip": "::1", "ldap_version": 3, "conn_id": 1, "op_id": 0, "msg": "" }
アクセスログとセキュリティーログにこのようなメッセージを記録するには、バインドが事前バインド認証プラグインの一部である場合、事前バインド認証プラグインで SLAPI API を使用してフラグを設定する必要があります。
Jira:RHELDOCS-17838[1]
新しい inchainMatch
マッチングルールが利用可能になる
この更新により、クライアントアプリケーションは新しい inchainMatch
マッチングルールを使用して、LDAP エントリーの祖先を検索できるようになります。inchainMatch
マッチングルールでは、member
、manager
、parentOrganization
、memberof
属性が使用可能であり、次の検索を実行できます。
- ユーザーがメンバーになっているすべての直接または間接のグループを検索します。
- 特定のユーザーがマネージャーであるすべての直接または間接ユーザーを検索します。
- エントリーが属するすべての直接または間接的な組織を検索します。
- 特定のグループのすべての直接または間接メンバーを検索します。
パフォーマンス上の理由から、クライアントアプリケーションが inchainMatch
マッチングルールを使用してこれらの属性に対する検索を実行する場合は、member
、manager
、parentOrganization
、および memberof
属性をインデックス化する必要があることに注意してください。
Directory Server は、デフォルトで有効になっている In Chain プラグインを使用して、inchainMatch
マッチングルールを実装します。ただし、inchainMatch
の計算にはコストがかかるため、アクセス制御命令 (ACI) によってマッチングルールの使用が制限されます。
詳細は、inchainMatch
マッチングルールを使用して LDAP エントリーの祖先を検索する を参照してください。
Jira:RHELDOCS-17256[1]
HAProxy プロトコルが 389-ds-base
パッケージでサポートされるようになりました
以前は、Directory Server はプロキシークライアントと非プロキシークライアント間の着信接続を区別していませんでした。この更新により、新しい多値設定属性 nsslapd-haproxy-trusted-ip
を使用して、信頼できるプロキシーサーバーのリストを設定できるようになりました。cn=config
エントリーの下に nsslapd-haproxy-trusted-ip
が設定されている場合、Directory Server は HAProxy プロトコルを使用して追加の TCP ヘッダー経由でクライアント IP アドレスを受信します。これにより、アクセス制御命令 (ACI) を正しく評価し、クライアントトラフィックをログに記録できるようになります。
信頼されていないプロキシーサーバーがバインド要求を開始した場合、Directory Server は要求を拒否し、エラーログファイルに次のメッセージを記録します。
[time_stamp] conn=5 op=-1 fd=64 Disconnect - Protocol error - Unknown Proxy - P4
詳細は、nsslapd-haproxy-trusted-ip を参照してください。
samba
がバージョン 4.19.4 にリベース
samba
パッケージはアップストリームバージョン 4.19.4 にアップグレードされ、以前のバージョンに対するバグ修正と機能拡張が提供されています。主な変更点は以下のとおりです。
-
一貫したユーザーエクスペリエンスを実現するために、
smbget
ユーティリティーのコマンドラインオプションは名前が変更され、削除されました。ただし、これにより、ユーティリティーを使用する既存のスクリプトまたはジョブが破損する可能性があります。新しいオプションの詳細は、smbget --help
コマンドとsmbget(1)
の man ページを参照してください。 winbind debug traceid
オプションが有効になっている場合、winbind
サービスは次のフィールドもログに記録するようになりました。-
traceid
: 同じリクエストに属するレコードを追跡します。 -
depth
: リクエストのネストレベルを追跡します。
-
- Samba は独自の暗号化実装を使用しなくなり、代わりに GnuTLS ライブラリーが提供する暗号化機能を全面的に使用するようになりました。
-
directory name cache size
オプションが削除されました。
Samba 4.11 以降はサーバーメッセージブロックバージョン 1 (SMB1) プロトコルが非推奨となり、今後のリリースで削除されることに注意してください。
Samba を起動する前にデータベースファイルがバックアップされます。smbd
、nmbd
、またはwinbind
サービスが起動すると、Samba が tdb
データベースファイルを自動的に更新します。Red Hat は、tdb
データベースファイルのダウングレードをサポートしていません。
Samba を更新した後、testparm
ユーティリティーを使用して /etc/samba/smb.conf
ファイルを確認します。
Identity Management API が完全にサポートされるようになりました
Identity Management (IdM) API は、RHEL 9.2 でテクノロジープレビューとして利用可能でした。RHEL 9.3 以降では完全にサポートされています。
IdM API が拡張されて API コマンドの複数のバージョンが有効になった場合でも、ユーザーは既存のツールとスクリプトを使用できます。これらの機能拡張により、コマンドの動作が互換性のない方法で変更されることはありません。これには次の利点があります。
- 管理者は、管理しているクライアントではなくサーバー上で、IdM の以前のバージョンもしくは最近のバージョンを使用できます。
- サーバーで IdM のバージョンを変更しても、開発者は特定バージョンの IdM コールを使用できます。
たとえば、一方が機能の新しいオプションを導入した新しいバージョンを使用している場合でも、サーバーとの通信は可能です。
- 注記
- IdM API は JSON-RPC インターフェイスを提供しますが、このタイプのアクセスはサポートされていません。Red Hat では、代わりに Python を使用して API にアクセスすることを推奨します。Python を使用すると、サーバーからのメタデータの取得などの重要な部分が自動化され、使用可能なすべてのコマンドをリスト表示できるようになります。
4.14. Web コンソール
RHEL Web コンソールで、Ansible およびシェルスクリプトを生成できるようになりました
Web コンソールで、kdump
設定ページの自動化スクリプトに簡単にアクセスしてコピーできるようになりました。生成されたスクリプトを使用して、特定の kdump
設定を複数のシステムに実装できます。
Jira:RHELDOCS-17060[1]
Storage でのストレージ管理およびパーティションサイズ変更の簡素化
Web コンソールの Storage セクションが再設計されました。新しいデザインにより、すべてのビューの視認性が向上しました。概要ページでは、すべてのストレージオブジェクトが包括的なテーブルに表示されるようになり、直接操作を実行しやすくなります。任意の行をクリックすると、詳細情報と追加のアクションが表示されます。さらに、Storage セクションからパーティションのサイズを変更できるようになりました。
Jira:RHELDOCS-17056[1]
4.15. Red Hat Enterprise Linux システムロール
ad_integration
RHEL システムロールは、動的 DNS 更新オプションの設定をサポートするようになりました
この更新により、ad_integration
RHEL システムロールは、Active Directory (AD) との統合時に、SSSD を使用した動的 DNS 更新の設定オプションをサポートするようになりました。デフォルトでは、SSSD は以下の場合に DNS レコードの自動更新を試みます。
- アイデンティティープロバイダーがオンラインになるとき (常に)
- 指定した間隔 (任意の設定)。デフォルトでは、AD プロバイダーは 24 時間ごとに DNS レコードを更新します。
ad_integration
の新しい変数を使用して、これらの設定やその他の設定を変更できます。たとえば、ad_dyndns_refresh_interval
を 172800
に設定すれば、DNS レコードの更新間隔を 48 時間に変更できます。ロール変数の詳細は、/usr/share/doc/rhel-system-roles/ad_integration/
ディレクトリー内のリソースを参照してください。
Jira:RHELDOCS-17372[1]
Storage RHEL システムロールが共有 LVM デバイス管理をサポートするようになりました
RHEL システムロールが、共有論理ボリュームとボリュームグループの作成と管理をサポートするようになりました。
Microsoft SQL Server 2022 が RHEL 9 で利用可能になる
mssql-server
システムロールが RHEL 9 で利用できるようになりました。このロールは 2 つの変数を追加します。
-
mssql_run_selinux_confined
は、SQL Server を制限されたアプリケーションとして実行するかどうかを制御します。true
に設定すると、ロールはmssql-server-selinux
パッケージをインストールします。false
に設定すると、ロールはmssql-server-selinux
パッケージを削除します。デフォルト設定は、RHEL 9 マネージドノードの場合はtrue
、その他のマネージドノードの場合はfalse
です。 -
mssql_manage_selinux
は、SELinux を設定するかどうかを制御します。true
に設定すると、変数はmssql_run_selinux_confined
変数の値に基づいて、Enforcing モードまたは Permissive モードを設定します。
rhc
システムロールが RHEL 7 システムをサポートするようになる
rhc
システムロールを使用して RHEL 7 システムを管理できるようになりました。RHEL 7 システムを Red Hat Subscription Management (RHSM) および Insights に登録し、rhc
システムロールを使用してシステムの管理を開始します。
現在 RHEL 7 では Insights Remediation 機能を利用できないため、rhc_insights.remediation
パラメーターを使用しても RHEL 7 システムには影響しません。
fapolicyd
を設定するための新しい RHEL システムロール
新しい fapolicyd
RHEL システムロールを使用すると、Ansible Playbook を使用して fapolicyd
フレームワークを管理および設定できます。fapolicyd
ソフトウェアフレームワークは、ユーザー定義のポリシーに基づいてアプリケーションの実行を制御します。
RHEL システムロールが LVM スナップショット管理をサポートするようになる
この機能拡張により、新しい snapshot
RHEL システムロールを使用して、LVM スナップショットを作成、設定、管理できます。
Nmstate API と network
RHEL システムロールが新しいルートタイプをサポートするようになりました
この機能拡張により、Nmstate API と network
RHEL システムロールで次のルートタイプを使用できるようになりました。
-
blackhole
-
prohibit
-
unreachable
Jira:RHEL-19579[1]
ad_integration
RHEL システムロールがカスタム SSSD ドメイン設定をサポートするようになりました
以前は、ad_integration
RHEL システムロールを使用する場合、ロールを使用して sssd.conf
ファイルのドメイン設定セクションにカスタム設定を追加できませんでした。この機能拡張により、ad_integration
ロールは sssd.conf
ファイルを変更できるようになり、結果としてカスタム SSSD 設定を使用できるようになります。
ad_integration
RHEL システムロールがカスタム SSSD 設定をサポートするようになりました
以前は、ad_integration
RHEL システムロールを使用する場合、ロールを使用して sssd.conf
ファイルの [sssd]
セクションにカスタム設定を追加できませんでした。この機能拡張により、ad_integration
ロールは sssd.conf
ファイルを変更できるようになり、結果としてカスタム SSSD 設定を使用できるようになります。
rhc
ロールに、表示名を設定するための新しい rhc_insights.display_name
オプションが追加されました
新しい rhc_insights.display_name
パラメーターを使用して、Red Hat Insights に登録されているシステムの表示名を設定または更新できるようになりました。このパラメーターを使用すると、希望に応じてシステムに名前を付けて、Insights Inventory 内のシステムを簡単に管理することができます。システムがすでに Red Hat Insights に接続されている場合は、パラメーターを使用して既存の表示名を更新します。登録時に表示名が明示的に設定されていない場合、表示名はデフォルトでホスト名に設定されます。表示名をホスト名に自動的に戻すことはできませんが、手動でホスト名に設定することは可能です。
fapolicyd
を設定するための新しい RHEL システムロール
新しい fapolicyd
RHEL システムロールを使用すると、Ansible Playbook を使用して fapolicyd
フレームワークを管理および設定できます。fapolicyd
ソフトウェアフレームワークは、ユーザー定義のポリシーに基づいてアプリケーションの実行を制御します。
logging
RHEL システムロール用の新しい logging_preserve_fqdn
変数
以前は、logging
システムロールを使用して完全修飾ドメイン名 (FQDN) を設定することはできませんでした。この更新により、オプションの logging_preserve_fqdn
変数が追加されています。これを使用すると、rsyslog
の preserveFQDN
設定オプションを設定して、syslog エントリーで短い名前ではなく完全な FQDN を使用できます。
logging
ロールは、出力モジュールの一般的なキューと一般的なアクションパラメーターをサポートします。
以前は、logging
ロールで一般的なキューパラメーターと一般的なアクションパラメーターを設定することはできませんでした。この更新により、logging
RHEL システムロールは、出力モジュールの一般的なキューパラメーターと一般的なアクションパラメーターの設定をサポートするようになりました。
postgresql
RHEL システムロールが PostgreSQL 16 をサポートするようになりました
PostgreSQL サーバーをインストール、設定、管理、起動する postgresql
RHEL システムロールが、PostgreSQL 16 をサポートするようになりました。
このシステムロールの詳細は、postgresql RHEL システムロールを使用した PostgreSQL のインストールと設定 を参照してください。
ファイルシステムを作成せずにボリュームを作成する機能のサポート
この機能拡張により、fs_type=unformatted
オプションを指定することで、ファイルシステムを作成せずに新しいボリュームを作成できるようになりました。
同様に、セーフモードが無効になっていることを確認したうえで、同じ方法を使用することで既存のファイルシステムを削除できます。
新しい ha_cluster
システムロール機能のサポート
ha_cluster
システムロールは、次の機能をサポートするようになりました。
-
dlm
やgfs2
などの Resilient Storage パッケージを含むリポジトリーの有効化。リポジトリーにアクセスするには、Resilient Storage サブスクリプションが必要です。 - フェンシングレベルの設定。これにより、クラスターは複数のデバイスを使用してノードをフェンスできます。
- ノード属性の設定。
これらの機能を実装するために設定するパラメーターの詳細は、ha_cluster RHEL システムロールを使用した高可用性クラスターの設定 を参照してください。
Jira:RHEL-15876[1], Jira:RHEL-22106, Jira:RHEL-15910
ForwardToSyslog
フラグが journald
システムロールでサポートされるようになりました
journald
RHEL システムロールの journald_forward_to_syslog
変数は、受信したメッセージを従来の syslog
デーモンに転送するかどうかを制御します。この変数のデフォルト値は false
です。この機能拡張により、インベントリーで journald_forward_to_syslog
を true
に設定することで、ForwardToSyslog
フラグを設定できるようになりました。その結果、Splunk などのリモートロギングシステムを使用する場合、ログは /var/log
ファイルで利用できるようになります。
Ansible ホスト名を設定するための rhc
ロールの新しい rhc_insights.ansible_host
オプション
新しい rhc_insights.ansible_host
パラメーターを使用して、Red Hat Insights に登録されているシステムの Ansible ホスト名を設定または更新できるようになりました。このパラメーターを設定すると、/etc/insights-client/insights-client.conf
ファイル内の ansible_host
設定が、選択した Ansible ホスト名に変更されます。システムがすでに Red Hat Insights に接続されている場合、このパラメーターによって既存の Ansible ホスト名が更新されます。
新しい mssql_ha_prep_for_pacemaker
変数
以前は、microsoft.sql.server
RHEL システムロールに、Pacemaker 用に SQL Server を設定するかどうかを制御する変数がありませんでした。この更新では、mssql_ha_prep_for_pacemaker
が追加されます。システムを Pacemaker 用に設定せず、別の HA ソリューションを使用する場合は、変数を false
に設定します。
sshd
ロールは証明書ベースの SSH 認証を設定するようになりました
sshd
RHEL システムロールを使用すると、SSH 証明書を使用して認証する複数の SSH サーバーを設定および管理できるようになりました。これにより、証明書は信頼できる CA によって署名され、きめ細かいアクセス制御、有効期限、集中型管理が提供されるため、SSH 認証がより安全になります。
logging
システムロールでは、rsyslog_max_message_size
の代わりに、logging_max_message_size
パラメーターを使用します。
以前は、rsyslog_max_message_size
パラメーターがサポートされていなかったにもかかわらず、logging
RHEL システムロールは、logging_max_message_size
パラメーターではなく rsyslog_max_message_size
を使用していました。この機能拡張により、ログメッセージの最大サイズを設定するために rsyslog_max_message_size
ではなく、logging_max_message_size
が使用されるようになります。
ratelimit_burst
変数は、logging
システムロールで ratelimit_interval
が設定されている場合にのみ使用されます。
以前は、logging
RHEL システムロールで、ratelimit_interval
変数が設定されていない場合、ロールは ratelimit_burst
変数を使用して rsyslog ratelimit.burst
を設定していました。しかし、ratelimit_interval
も設定する必要があるため、効果はありませんでした。
この機能拡張では、ratelimit_interval
が設定されていない場合、ロールは ratelimit.burst
を設定しません。ratelimit.burst
を設定する場合は、ratelimit_interval
変数および ratelimit_burst
変数の両方を設定する必要があります。
selinux
ロールは、存在しないモジュールを指定するとメッセージを出力するようになりました。
このリリースでは、selinux_modules.path
変数に存在しないモジュールを指定すると、selinux
RHEL システムロールによってエラーメッセージが出力されます。
selinux
ロールは、無効モードでの SELinux の設定をサポートするようになりました。
この更新により、selinux
RHEL システムロールは、SELinux が無効に設定されているノード上の SELinux ポート、ファイルコンテキスト、およびブールマッピングの設定をサポートするようになりました。これは、システム上で SELinux を許可モードまたは強制モードに有効にする前の設定シナリオに役立ちます。
metrics
RHEL システムロールが PMIE Webhook の設定をサポートするようになりました
この更新により、metrics
RHEL システムロールの metrics_webhook_endpoint
変数を使用して、`global webhook_endpoint` PMIE 変数を自動的に設定できるようになりました。これにより、重要なパフォーマンスイベントに関するメッセージを受信する環境用のカスタム URL を提供できるようになります。これは通常、Event-Driven Ansible などの外部ツールで使用されます。
bootloader
RHEL システムのロール
この更新では、bootloader
RHEL システムロールが導入されます。この機能を使用すると、RHEL システム上のブートローダーとカーネルの安定した一貫した設定を実現できます。要件、ロール変数、およびサンプル Playbook の詳細は、/usr/share/doc/rhel-system-roles/bootloader/
ディレクトリーの README リソースを参照してください。
4.16. 仮想化
ARM 64 で仮想化がサポートされるようになりました
この更新により、ARM 64 (別名 AArch64) CPU を使用するシステム上で KVM 仮想マシンを作成するためのサポートが導入されました。ただし、AMD64 および Intel 64 システムで利用可能な特定の仮想化機能は、ARM 64 では動作が異なったり、サポートされなかったりする場合があります。
詳細は、ARM 64 での仮想化が AMD64 および Intel 64 とどのように異なるか を参照してください。
仮想マシンの外部スナップショット
この更新により、非推奨になった内部スナップショットメカニズムに代わる、仮想マシン (VM) の外部スナップショットメカニズムが導入されました。その結果、完全にサポートされる仮想マシンスナップショットを作成、削除、および復元できるようになりました。外部スナップショットは、コマンドラインインターフェイスと RHEL Web コンソールの両方でより確実に動作します。これは、ライブスナップショットと呼ばれる実行中の仮想マシンのスナップショットにも適用されます。
ただし、一部のコマンドとユーティリティーでは内部スナップショットが作成される場合があることに注意してください。スナップショットが完全にサポートされていることを確認するには、スナップショットが external
として設定されていることを確認します。以下に例を示します。
# virsh snapshot-dumpxml VM-name snapshot-name | grep external <disk name='vda' snapshot='external' type='file'>
RHEL は仮想マシンのマルチ FD 移行をサポートするようになりました
この更新により、仮想マシンの複数のファイル記述子 (マルチ FD) の移行がサポートされるようになりました。マルチ FD 移行では、複数の並列接続を使用して仮想マシンを移行するため、利用可能なネットワーク帯域幅をすべて活用してプロセスを高速化できます。
この機能は高速ネットワーク (20 Gbps 以上) で使用することを推奨します。
Jira:RHELDOCS-16970[1]
仮想マシンの移行で、ポストコピープリエンプションがサポートされるようになりました
仮想マシンのポストコピーライブマイグレーションで postcopy-preempt
機能が使用されるようになりました。これにより、移行のパフォーマンスと安定性が向上しました。
Jira:RHEL-13004[1], Jira:RHEL-7100
Secure Execution VMs on IBM Z が暗号化コプロセッサーをサポートするようになりました。
この更新により、IBM Secure Execution on IBM Z を使用して、暗号化コプロセッサーを仲介デバイスとして仮想マシン (VM) に割り当てることができるようになりました。
暗号化コプロセッサーを仲介デバイスとして Secure Execution 仮想マシンに割り当てることで、仮想マシンのセキュリティーを損なうことなくハードウェア暗号化を使用できるようになります。
Jira:RHEL-11597[1]
KVM ゲストでサポートされる第 4 世代 AMD EPYC プロセッサー
第 4 世代 AMD EPYC プロセッサー (AMD Genoa とも呼ばれる) のサポートが、KVM ハイパーバイザーとカーネルコード、および libvirt API に追加されました。これにより、KVM 仮想マシンは第 4 世代 AMD EPYC プロセッサーを使用できるようになります。
RHEL Web コンソールの新しい仮想化機能
今回の更新で、RHEL Web コンソールに Virtual Machines ページに新機能が追加されました。以下を実行することができます。
-
仮想マシン (VM) の作成中に SSH 公開鍵を追加します。この公開鍵は、新しく作成された仮想マシン上の指定された root 以外のユーザーの
~/.ssh/authorized_keys
ファイルに保存され、指定されたユーザーアカウントへの即時 SSH アクセスが提供されます。 -
新しいストレージプールを作成するときに、
pre-formatted block device
タイプを選択します。これは、raw ディスクデバイスの意図しない再フォーマットを防ぐため、physical disk device
タイプよりも堅牢な代替手段です。
この更新により、仮想マシンページのいくつかのデフォルトの動作も変更されます。
-
Add disk
ダイアログでは、Always attach
オプションがデフォルトで設定されるようになりました。 -
Create snapshot
アクションでは、RHEL 9 で非推奨となった内部スナップショットの代わりに、外部スナップショットが使用されるようになりました。外部スナップショットは信頼性が高く、qcow2
イメージだけでなく、raw
イメージでも機能します。実行中の仮想マシンのメモリー状態を保持する場合は、メモリースナップショットファイルのロケーションを選択することもできます。
Jira:RHELDOCS-17000[1]
virtio-mem
が AMD64 および Intel 64 システムでサポートされるようになりました
この更新により、AMD64 および Intel 64 システムでの virtio-mem
機能のサポートが RHEL 9 に導入されました。virtio-mem
を使用すると、仮想マシン (VM) のホストメモリーを動的に追加または削除できます。
virtio-mem
の詳細は、virtio-mem を使用した仮想マシンメモリーの追加および削除 を参照してください。
Jira:RHELDOCS-17053[1]
Web コンソールで SPICE を VNC に置き換えることができるようになる
この更新により、Web コンソールを使用して、既存の仮想マシン (VM) で SPICE リモート表示プロトコルを VNC プロトコルに置き換えることができるようになりました。
RHEL 9 では SPICE プロトコルのサポートが削除されているため、SPICE プロトコルを使用する仮想マシンは RHEL 9 ホスト上で起動できません。たとえば、RHEL 8 仮想マシンはデフォルトで SPICE を使用するため、正常に RHEL 9 へ移行するには、SPICE から VNC に切り替える必要があります。
virtio-blk
ディスクデバイスの I/O パフォーマンスの向上
この更新により、virtio-blk
ディスクデバイス内の各 virtqueue に個別の IOThread を設定できるようになります。この設定により、集中的な I/O ワークロード中に複数の CPU を搭載した仮想マシンのパフォーマンスが向上します。
VNC ビューアーが、ramfb
のライブマイグレーション後に仮想マシンディスプレイを正しく初期化する
この更新により、仮想マシン (VM) のプライマリーディスプレイとして設定できる ramfb
フレームバッファーデバイスが強化されます。以前は、ramfb
は移行できなかったため、ramfb
を使用する仮想マシンではライブマイグレーション後に空白の画面が表示されていました。現在、ramfb
は、ライブマイグレーションと互換性があります。その結果、移行が完了すると仮想マシンデスクトップが表示されます。
4.17. クラウド環境の RHEL
EC2 上の RHEL インスタンスが IPv6 IMDS 接続をサポートするようになる
この更新により、Amazon Elastic Cloud コンピュート (EC2) 上の RHEL 8 および 9 インスタンスは IPv6 プロトコルを使用してインスタンスメタデータサービス (IMDS) に接続できるようになります。その結果、EC2 上の cloud-init
を使用して、デュアルスタック IPv4 および IPv6 接続を備えた RHEL インスタンスを設定できるようになります。さらに、IPv6 のみのサブネットで cloud-init
を使用して RHEL の EC2 インスタンスを起動することもできます。
生成された設定ファイルを削除するための新しい cloud-init clean オプション
cloud-init
ユーティリティーに cloud-init clean --configs
オプションが追加されました。このオプションを使用すると、インスタンス上の cloud-init
によって生成された不要な設定ファイルを削除できます。たとえば、ネットワークのセットアップを定義する cloud-init
設定ファイルを削除するには、次のコマンドを使用します。
cloud-init clean --configs network
Jira:RHEL-7311[1]
4.18. コンテナー
Podman が containers.conf モジュールをサポートするようになりました
Podman モジュールを使用して、事前に定義された設定セットをロードできます。Podman モジュールは、TOML 形式の containers.conf
ファイルです。
このモジュールは、次のディレクトリーまたはそのサブディレクトリーにあります。
-
rootless ユーザーの場合:
$HOME/.config/containers/containers.conf.modules
-
root ユーザーの場合:
/etc/containers/containers.conf.modules
、または/usr/share/containers/containers.conf.modules
podman --module <your_module_name>
コマンドを使用してオンデマンドでモジュールをロードし、システム設定ファイルおよびユーザー設定ファイルをオーバーライドできます。モジュールを操作する際には、次の点に留意してください。
-
--module
オプションを使用して、モジュールを複数回指定できます。 -
<your_module_name>
が絶対パスの場合、設定ファイルは直接ロードされます。 - 相対パスは、前述の 3 つのモジュールディレクトリーを基準にして解決されます。
-
$HOME
内のモジュールは、/etc/
および/usr/share/
ディレクトリー内のモジュールをオーバーライドします。
詳細は、アップストリームのドキュメント を参照してください。
Jira:RHELPLAN-167829[1]
Container Tools パッケージが更新される
Podman、Buildah、Skopeo、crun、runc ツールを含む、更新された Container Tools RPM メタパッケージが利用可能になりました。以前のバージョンに対する主なバグ修正および機能拡張は、以下のとおりです。
Podman v4.9 の主な変更点:
-
podman --module <your_module_name>
コマンドを使用して Podman でモジュールをオンデマンドでロードし、システム設定ファイルおよびユーザー設定ファイルをオーバーライドできるようになりました。 -
create
、set
、remove
、update
サブコマンドのセットを備えた新しいpodman farm
コマンドが追加されました。これらのコマンドを使用すると、さまざまなアーキテクチャーの podman を実行しているマシンにビルドを委託できます。 -
Docker compose などの外部 compose プロバイダーを使用して Compose ワークロードを実行する、新しい
podman-compose
コマンドが追加されました。 -
podman build
コマンドは、--layer-label
および--cw
オプションをサポートするようになりました。 -
podman generate systemd
コマンドは非推奨になりました。Quadlet を使用して、systemd
でコンテナーと Pod を実行してください。 -
podman build
コマンドは、HereDoc 構文を使用したContainerfiles
をサポートするようになりました。 -
podman kube play
コマンドは、新しい--publish-all
オプションをサポートするようになりました。このオプションを使用して、ホスト上のすべての containerPorts を公開します。
注目すべき変更の詳細は、アップストリームのリリースノート を参照してください。
Jira:RHELPLAN-167796[1]
Podman v4.9 RESTful API が進捗のデータを表示するようになりました
この機能拡張により、Podman v4.9 RESTful API では、イメージをレジストリーにプルまたはプッシュするときに、進捗データが表示されるようになりました。
Jira:RHELPLAN-167823[1]
Toolbx が利用可能になる
Toolbx を使用すると、ベースオペレーティングシステムに影響を与えることなく、開発およびデバッグのツール、エディター、ソフトウェア開発キット (SDK) を、Toolbx の完全にミュータブルなコンテナーにインストールできます。Toolbx コンテナーは、registry.access.redhat.com/ubi9.4/toolbox:latest
イメージをベースとしています。
Jira:RHELDOCS-16241[1]
SQLite は、Podman のデフォルトのデータベースバックエンドとして完全にサポートされるようになりました
Podman v4.9 では、以前テクノロジープレビューとして利用可能だった Podman の SQLite データベースバックエンドが完全にサポートされるようになりました。SQLite データベースは、コンテナーメタデータを操作する際に、より優れた安定性、パフォーマンス、一貫性を提供します。SQLite データベースバックエンドは、RHEL 9.4 の新規インストールのデフォルトバックエンドです。以前の RHEL バージョンからアップグレードする場合、デフォルトバックエンドは BoltDB になります。
containers.conf
ファイルの database_backend
オプションを使用してデータベースバックエンドを明示的に設定した場合、Podman は指定されたバックエンドを引き続き使用します。
Jira:RHELPLAN-168180[1]
管理者は nftables
を使用してファイアウォールルールの分離を設定できます。
iptables
がインストールされていないシステムでも、Podman コンテナーネットワークスタックである Netavark を使用できます。以前は、Netavark の前身であるコンテナーネットワーキングインターフェイス (CNI) ネットワーキングを使用すると、iptables
がインストールされていないシステムでコンテナーネットワーキングを設定する方法はありませんでした。この機能拡張により、nftables
のみがインストールされているシステムでも Netavark ネットワークスタックが動作するようになり、自動的に生成されたファイアウォールルールの分離が改善されます。
Jira:RHELDOCS-16955[1]
Containerfile
が複数行の命令をサポートするようになりました
Containerfile
ファイルで複数行の HereDoc 命令 (Here Document 表記) を使用すると、このファイルを簡素化し、複数の RUN
ディレクティブを実行することで発生するイメージレイヤーの数を減らすことができます。
たとえば、元の Containerfile
が次の RUN
ディレクティブを含むとします。
RUN dnf update RUN dnf -y install golang RUN dnf -y install java
複数の RUN ディレクティブの代わりに、HereDoc 表記を使用できます。
RUN <<EOF dnf update dnf -y install golang dnf -y install java EOF
Jira:RHELPLAN-168185[1]
gvisor-tap-vsock
パッケージが利用可能になる
gvisor-tap-vsock
パッケージは、libslirp
ユーザーモードネットワークライブラリーと VPNKit ツールおよびサービスの代替手段です。このパッケージは Go で書かれており、gVisor のネットワークスタックに基づいています。libslirp
と比較して、gvisor-tap-vsock
ライブラリーは、設定可能な DNS サーバーと動的ポート転送をサポートします。podman-machine の仮想マシンで gvisor-tap-vsock
ネットワークライブラリーを使用できます。仮想マシンを管理するための podman machine
コマンドは、現在 Red Hat Enterprise Linux ではサポートされていません。
Jira:RHELPLAN-167396[1]
第5章 外部カーネルパラメーターへの重要な変更
この章では、システム管理者向けに、Red Hat Enterprise Linux 9.4 で配布されるカーネルの重要な変更点の概要を説明します。これらの変更には、たとえば、追加または更新された proc
エントリー、sysctl
エントリー、および sysfs
のデフォルト値、ブートパラメーター、カーネル設定オプション、または注目すべき動作の変更などが含まれます。
新しいカーネルパラメーター
accept_memory=
[MM]
値:
lazy
(デフォルト)- デフォルトでは、起動時間が長くなるのを避けるために、受け入れられないメモリーは遅延して受け入れられます。lazy オプションは、すべてのメモリーが最終的に受け入れられるまで、実行時のオーバーヘッドをいくつか追加します。ほとんどの場合、オーバーヘッドはごくわずかです。
eager
-
一部のワークロードやデバッグの目的で、
accept_memory=eager
を使用して、起動時にすべてのメモリーを一度に受け入れることができます。
arm64.nomops
[ARM64]
メモリーコピーおよびメモリーセット命令のサポートを無条件に無効にします。
cgroup_favordynmods=
[KNL]
favordynmods
を有効または無効にします。
値:
-
true
-
false
デフォルトの値は CONFIG_CGROUP_FAVOR_DYNMODS
です。
early_page_ext
[KNL]
より早いブート割り当てをカバーするために、page_ext
の初期化を早い段階で強制します。
副次的影響として、これを達成するために一部の最適化が無効になる可能性があることに注意してください。たとえば、並列化されたメモリー初期化が無効になります。したがって、特にメモリー容量の多いシステムでは、起動プロセスに時間がかかる可能性があります。
CONFIG_PAGE_EXTENSION=y
で利用可能です。
fw_devlink.sync_state=
[KNL]
プローブ可能なすべてのデバイスがプローブを完了したときに、このパラメーターは、sync_state()
呼び出しをまだ受信していないデバイスに対して何を行うかを制御します。
値:
strict
(デフォルト)- コンシューマーがプローブに成功するまで待機し続けます。
timeout
-
コンシューマーの待機をあきらめ、
deferred_probe_timeout
の有効期限が切れた後、またはCONFIG_MODULES
がfalse
の場合はlate_initcall()
によって、sync_state()
呼び出しをまだ受信していないデバイスでsync_state()
を呼び出します。
ia32_emulation=
[X86-64]
値:
true
-
32 ビットプログラムのロードと 32 ビット syscall の実行を許可し、基本的に起動時に
IA32_EMULATION_DEFAULT_DISABLED
をオーバーライドします。 false
- IA32 エミュレーションを無条件に無効にします。
kunit.enable=
[KUNIT]
KUnit テストの実行を有効にします。完全に有効にするには、CONFIG_KUNIT
を設定する必要があります。
KUNIT_DEFAULT_ENABLED
を使用してデフォルト値をオーバーライドできます。
デフォルトは 1 (有効化済み) です。
mtrr=debug
[X86]
起動時に MTRR レジスターに関連するデバッグ情報を出力できるようにします。
rcupdate.rcu_cpu_stall_cputime=
[KNL]
サンプリング期間中の CPU 時間、割り込みおよびタスクの数に関する統計を提供します。複数の連続した RCU ストールの場合、すべてのサンプリング期間は最初の RCU ストールタイムアウトの半分で開始されます。
rcupdate.rcu_exp_stall_task_details=
[KNL]
高速 RCU CPU ストール警告中に、現在の高速 RCU 猶予期間をブロックしているすべてのタスクのスタックダンプを出力します。
spec_rstack_overflow=
[X86]
AMD Zen CPU 上の RAS オーバーフロー軽減策を制御します。
値:
off
- 軽減策を無効にします。
microcode
- マイクロコードの軽減策のみを有効にします。
safe-ret
(デフォルト)- ソフトウェアのみの安全な RET 軽減策を有効にします。
ibpb
- カーネルエントリーで IBPB を発行して軽減策を有効にします。
ibpb-vmexit
- VMEXIT でのみ IBPB を発行します。この軽減策はクラウド環境に特有のものです。
workqueue.unbound_cpus=
[KNL,SMP]
バインドされていないワークキューで使用する 1 つまたは複数の CPU を制限するように指定します。
値: CPU のリスト。
デフォルトでは、すべてのオンライン CPU がバインドされていないワークキューに使用できます。
更新されたカーネルパラメーター
amd_iommu=
[HW, X86-64]
システム内の AMD IOMMU ドライバーにパラメーターを渡します。
値:
fullflush
-
非推奨。
iommu.strict=1
と同等です。 off
- システム内で見つかった AMD IOMMU を初期化しないでください。
force_isolation
-
すべてのデバイスのデバイス分離を強制します。IOMMU ドライバーは、必要に応じて分離要件を引き上げることができなくなりました。このオプションは
iommu=pt
をオーバーライドしません。 force_enable
- IOMMU を有効にするとバグが発生することがわかっているプラットフォームで、IOMMU を強制的に有効にします。このオプションは注意して使用してください。
- 新規:
pgtbl_v1
(デフォルト) - DMA-API にはバージョン 1 ページテーブルを使用します。
- 新規:
pgtbl_v2
- DMA-API にはバージョン 2 ページテーブルを使用します。
- 新規:
irtcachedis
- 割り込み再マッピングテーブル (IRT) キャッシュを無効にします。
nosmt
[KNL, PPC, S390]
対称マルチスレッド (SMT) を無効にします。smt=1
と同等です。
[KNL, X86, PPC]
対称マルチスレッド (SMT) を無効にします。
nosmt=force
-
SMT を強制的に無効にします。
sysfs
制御ファイルを使用して元に戻すことはできません。
page_reporting.page_reporting_order=
[KNL]
最小ページのレポート順序。
値: 整数
最小ページのレポート順序を調整します。
新規: MAX_ORDER
を超えるとページレポートが無効になります。
tsc=
TSC のクロックソース安定性チェックを無効にします。
値:
- [x86]
reliable
- tsc クロックソースを信頼できるものとしてマークします。これにより、実行時のクロックソース検証と起動時に実行される安定性チェックが無効になります。古いハードウェアおよび仮想化環境で高分解能タイマーモードを有効にするために使用されます。
- [x86]
noirqtime
-
irq
アカウンティングの実行に、TSC を使用しないでください。RDTSC が遅れており、このアカウンティングによってオーバーヘッドが追加される可能性があるプラットフォームで、実行時にIRQ_TIME_ACCOUNTING
を無効にするために使用されます。 - [x86]
unstable
- TSC クロックソースを不安定としてマークします。これにより、起動時に TSC が無条件に不安定であるとマークされ、TSC ウォッチドッグがそれを検知すると、それ以上の不安定さが回避されます。
- [x86]
nowatchdog
- クロックソースウォッチドッグを無効にします。レイテンシー要件が厳しい状況 (クロックソースウォッチドッグからの割り込みが許容されない場合) で使用されます。
- [x86]
recalibrate
- MSR または CPUID(0x15) を使用して TSC 周波数が HW または FW から取得されるシステム上で、HW タイマー (HPET または PM タイマー) に対する再キャリブレーションを強制します。差が 500 ppm を超える場合は警告します。
- 新規: [x86]
watchdog
TSC をウォッチドッグクロックソースとして使用し、他の HW タイマー (HPET または PM タイマー) をチェックします。ただし、TSC が信頼できると判断されたシステムでのみ使用します。
以前の
tsc=nowatchdog
は、これを抑制します。後のtsc=nowatchdog
は、これをオーバーライドします。コンソールメッセージには、このような抑制またはオーバーライドがフラグ付けされます。
usbcore.authorized_default=
[USB]
デフォルトの USB デバイス認証。
値:
- 新規:
-1
(デフォルト) - 承認済み (1 と同じ)。
0
- 非承認
1
- 承認済み
2
- デバイスが内部ポートに接続する場合は承認されます。
削除されたカーネルパラメーター
-
cpu0_hotplug
-
sysfs.deprecated
新しい sysctl パラメーター
io_uring_group
値:
1
-
io_uring
インスタンスを作成するには、プロセスが特権 (CAP_SYS_ADMIN
) を持っているか、io_uring_group
グループに属している必要があります。 -1
(デフォルト)-
CAP_SYS_ADMIN
権限を持つプロセスのみがio_uring
インスタンスを作成できます。
numa_balancing_promote_rate_limit_MBps
異なるメモリータイプ間のプロモートおよびデモートのスループットが高すぎると、アプリケーションのレイテンシーに悪影響が出る可能性があります。このパラメーターを使用して、プロモーションのスループットをレート制限できます。ノードあたりの最大プロモーションスループット (MB/秒) は、設定された値以下に制限されます。
経験則としては、これを PMEM ノードの書き込み帯域幅の 1/10 未満に設定します。
sysctl パラメーターの更新
io_uring_disabled
すべてのプロセスが新しい io_uring
インスタンスを作成するのを防ぎます。これを有効にすると、カーネルの攻撃対象領域が縮小されます。
値:
- 新規:
0
-
すべてのプロセスは通常どおり
io_uring
インスタンスを作成できます。 - 新規:
1
io_uring_group グループに属さない非特権プロセスでは、
io_uring
の作成は無効になります。io_uring_setup()
は-EPERM
で失敗します。既存のio_uring
インスタンスは引き続き使用できます。詳細は、
io_uring_group
のドキュメントを参照してください。- 新規:
2
(デフォルト) -
io_uring
の作成は、すべてのプロセスで無効化されています。io_uring_setup()
は常に-EPERM
で失敗します。既存のio_uring
インスタンスは引き続き使用できます。
第6章 デバイスドライバー
6.1. 新しいドライバー
説明 | 名前 | アーキテクチャーに限定 |
---|---|---|
IAA Compression Accelerator Crypto Driver | iaa_crypto | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | intel_qat | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | qat_4xxx | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | qat_c3xxx | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | qat_c3xxxvf | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | qat_c62x | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | qat_c62xvf | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | qat_dh895xcc | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel® QuickAssist Technology - 0.6.0 | qat_dh895xccvf | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
説明 | 名前 | アーキテクチャーに限定 |
---|---|---|
bcm-phy-ptp | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
mt7925-common | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー | |
mt7925e | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー | |
mt792x-lib | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー | |
PCI バス上の Bosch M_CAN コントローラー用 CAN バスドライバー | m_can_pci | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
Bosch M_CAN コントローラー用 CAN バスドライバー | m_can | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
8 台のデバイス USB2CAN インターフェイス用 CAN ドライバー | usb_8dev | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
EMS Dr.用 CAN ドライバーThomas Wuensche CAN/USB インターフェイス | ems_usb | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
Kvaser CAN/USB デバイス用の CAN ドライバー | kvaser_usb | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
PEAK-System USB アダプター用 CAN ドライバー | peak_usb | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
Intel® Infrastructure Data Path Function Linux Driver | idpf | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet PHY driver | marvell-88q2xxx | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
Marvell Octeon EndPoint NIC Driver | octeon_ep | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
Microchip 251x/25625 CAN driver | mcp251x | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Microchip MCP251xFD Family CAN controller driver | mcp251xfd | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
NXP imx8 DWMAC Specific Glue layer | dwmac-imx | 64 ビット ARM アーキテクチャー |
bcm-phy-ptp | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
Realtek 802.11ax wireless 8852C driver | rtw89_8852c | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー |
Realtek 802.11ax wireless 8852CE driver | rtw89_8852ce | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー |
シリアルライン CAN インターフェイス | slcan | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
PEAK PCAN PCIe/M.2 FD ファミリーカード用ソケット CAN ドライバー | peak_pciefd | IBM Power Systems、AMD、Intel 64 ビットアーキテクチャー |
bcm-phy-ptp | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
mt7925-common | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー | |
mt7925e | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー | |
mt792x-lib | 64 ビット ARM アーキテクチャー、AMD および Intel 64 ビットアーキテクチャー |
説明 | 名前 | アーキテクチャーに限定 |
---|---|---|
AMD HSMP Platform Interface Driver - 2.0 | amd_hsmp | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
AMD Platform Management Framework Driver | amd-pmf | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel TPMI enumeration module | intel_vsec_tpmi | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel TPMI SST Driver | isst_tpmi | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel TPMI UFS Driver | intel-uncore-frequency-tpmi | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel Uncore Frequency Common Module | intel-uncore-frequency-common | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel Uncore Frequency Limits Driver | intel-uncore-frequency | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Intel WMI Thunderbolt force power driver | intel-wmi-thunderbolt | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Mellanox PMC driver | mlxbf-pmc | 64 ビット ARM アーキテクチャー |
intel-hid | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー | |
isst_tpmi_core | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
説明 | 名前 | アーキテクチャーに限定 |
---|---|---|
AMD XCP Platform Devices | amdxcp | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
DRM execution context | drm_exec | |
Range suballocator helper | drm_suballoc_helper | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
regmap-ram | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
regmap-raw-ram | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
regmap-ram | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
regmap-raw-ram | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
regmap-ram | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
regmap-raw-ram | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー | |
Arm FF-A interface driver | ffa-module | 64 ビット ARM アーキテクチャー |
NVIDIA BlueField-3 GPIO Driver | gpio-mlxbf3 | 64 ビット ARM アーキテクチャー |
パススルーデバイスの I/O アドレス空間管理 | iommufd | |
CS42L43 Core Driver | cs42l43 | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
CS42L43 SoundWire Driver | cs42l43-sdw | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
MEI GSC Proxy | mei_gsc_proxy | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
pwrseq_emmc | 64 ビット ARM アーキテクチャー | |
pwrseq_simple | 64 ビット ARM アーキテクチャー | |
SDHCI platform driver for Synopsys DWC MSHC | sdhci-of-dwcmshc | 64 ビット ARM アーキテクチャー |
arm_cspmu_module | 64 ビット ARM アーキテクチャー | |
NVIDIA pinctrl driver | pinctrl-mlxbf3 | 64 ビット ARM アーキテクチャー |
NXP i.MX93 power domain driver | imx93-pd | 64 ビット ARM アーキテクチャー |
Intel RAPL TPMI Driver | intel_rapl_tpmi | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
Mellanox BlueField power driver | pwr-mlxbf | 64 ビット ARM アーキテクチャー |
NXP i.MX93 src driver | imx93-src | 64 ビット ARM アーキテクチャー |
Provide Trusted Security Module attestation reports via configfs | tsm | AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー |
6.2. 更新されたドライバー
説明 | 名前 | 現行バージョン | アーキテクチャーに限定 |
---|---|---|---|
Broadcom MegaRAID SAS Driver | megaraid_sas | 07.727.03.00-rc1 | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
Driver for Microchip Smart Family Controller | smartpqi | 2.1.24-046 | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
Emulex LightPulse ファイバーチャネル SCSI ドライバー | lpfc | 0:14.2.0.16 | 64 ビット ARM アーキテクチャー、IBM Power Systems、AMD および Intel 64 ビットアーキテクチャー |
MPI3 Storage Controller Device Driver | mpi3mr | 8.5.0.0.50 |
第7章 利用可能な BPF 機能
この章では、Red Hat Enterprise Linux 9 のこのマイナーバージョンのカーネルで利用可能な Berkeley Packet Filter (BPF) 機能の完全なリストを提供します。表には次のリストが含まれます。
この章には、bpftool feature
コマンドの自動生成された出力が含まれています。
オプション | 値 |
---|---|
unprivileged_bpf_disabled | 2 (特権ユーザーに限定された bpf() syscall、管理者は変更可能) |
JIT コンパイラー | 1 (有効) |
JIT コンパイラーの強化 | 1 (権限のないユーザーに対して有効) |
JIT コンパイラー kallsyms エクスポート | 1 (ルートで有効) |
非特権ユーザーの JIT のメモリー制限 | 528482304 |
CONFIG_BPF | y |
CONFIG_BPF_SYSCALL | y |
CONFIG_HAVE_EBPF_JIT | y |
CONFIG_BPF_JIT | y |
CONFIG_BPF_JIT_ALWAYS_ON | y |
CONFIG_DEBUG_INFO_BTF | y |
CONFIG_DEBUG_INFO_BTF_MODULES | y |
CONFIG_CGROUPS | y |
CONFIG_CGROUP_BPF | y |
CONFIG_CGROUP_NET_CLASSID | y |
CONFIG_SOCK_CGROUP_DATA | y |
CONFIG_BPF_EVENTS | y |
CONFIG_KPROBE_EVENTS | y |
CONFIG_UPROBE_EVENTS | y |
CONFIG_TRACING | y |
CONFIG_FTRACE_SYSCALLS | y |
CONFIG_FUNCTION_ERROR_INJECTION | y |
CONFIG_BPF_KPROBE_OVERRIDE | n |
CONFIG_NET | y |
CONFIG_XDP_SOCKETS | y |
CONFIG_LWTUNNEL_BPF | y |
CONFIG_NET_ACT_BPF | m |
CONFIG_NET_CLS_BPF | m |
CONFIG_NET_CLS_ACT | y |
CONFIG_NET_SCH_INGRESS | m |
CONFIG_XFRM | y |
CONFIG_IP_ROUTE_CLASSID | y |
CONFIG_IPV6_SEG6_BPF | y |
CONFIG_BPF_LIRC_MODE2 | n |
CONFIG_BPF_STREAM_PARSER | y |
CONFIG_NETFILTER_XT_MATCH_BPF | m |
CONFIG_BPFILTER | n |
CONFIG_BPFILTER_UMH | n |
CONFIG_TEST_BPF | m |
CONFIG_HZ | 1000 |
bpf() syscall | available |
大きなプログラムサイズの制限 | available |
有界ループのサポート | available |
ISA エクステンション v2 | available |
ISA エクステンション v3 | available |
プログラムの種類 | 利用可能なヘルパー |
---|---|
socket_filter | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_skb_load_bytes_relative, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
kprobe | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
sched_cls | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_pop, bpf_skb_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_skb_cgroup_id, bpf_get_current_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_skb_set_tstamp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_gen_syncookie_ipv6, bpf_tcp_raw_check_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
sched_act | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_pop, bpf_skb_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_skb_cgroup_id, bpf_get_current_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_skb_set_tstamp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_gen_syncookie_ipv6, bpf_tcp_raw_check_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
tracepoint | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
xdp | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_redirect, bpf_perf_event_output, bpf_csum_diff, bpf_get_current_task, bpf_get_numa_node_id, bpf_xdp_adjust_head, bpf_redirect_map, bpf_xdp_adjust_meta, bpf_xdp_adjust_tail, bpf_fib_lookup, bpf_get_current_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_strtol, bpf_strtoul, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_xdp_get_buff_len, bpf_xdp_load_bytes, bpf_xdp_store_bytes, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_gen_syncookie_ipv6, bpf_tcp_raw_check_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
perf_event | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_perf_prog_read_value, bpf_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_read_branch_records, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
cgroup_skb | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_skb_load_bytes_relative, bpf_skb_cgroup_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_sk_cgroup_id, bpf_sk_ancestor_cgroup_id, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
cgroup_sock | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
lwt_in | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_lwt_push_encap, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
lwt_out | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
lwt_xmit | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_lwt_push_encap, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
sock_ops | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_sock_map_update, bpf_getsockopt, bpf_sock_ops_cb_flags_set, bpf_sock_hash_update, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_tcp_sock, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_load_hdr_opt, bpf_store_hdr_opt, bpf_reserve_hdr_opt, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
sk_skb | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_skb_adjust_room, bpf_sk_redirect_map, bpf_sk_redirect_hash, bpf_get_current_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
cgroup_device | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
sk_msg | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_msg_redirect_map, bpf_msg_apply_bytes, bpf_msg_cork_bytes, bpf_msg_pull_data, bpf_msg_redirect_hash, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_msg_push_data, bpf_msg_pop_data, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
raw_tracepoint | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
cgroup_sock_addr | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_getsockopt, bpf_bind, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
lwt_seg6local | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_lwt_seg6_store_bytes, bpf_lwt_seg6_adjust_srh, bpf_lwt_seg6_action, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
lirc_mode2 | サポート対象外 |
sk_reuseport | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_skb_load_bytes_relative, bpf_get_current_cgroup_id, bpf_sk_select_reuseport, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
flow_dissector | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
cgroup_sysctl | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sysctl_get_name, bpf_sysctl_get_current_value, bpf_sysctl_get_new_value, bpf_sysctl_set_new_value, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
raw_tracepoint_writable | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
cgroup_sockopt | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_tcp_sock, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
tracing | |
struct_ops | |
ext | |
lsm | |
sk_lookup | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
syscall | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_get_socket_cookie, bpf_perf_event_read_value, bpf_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_send_signal, bpf_skb_output, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_xdp_output, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_get_task_stack, bpf_d_path, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_sock_from_file, bpf_for_each_map_elem, bpf_snprintf, bpf_sys_bpf, bpf_btf_find_by_name_kind, bpf_sys_close, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_skc_to_unix_sock, bpf_kallsyms_lookup_name, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_xdp_get_buff_len, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
netfilter | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete |
マップの種類 | Available |
---|---|
ハッシュ | はい |
array | はい |
prog_array | はい |
perf_event_array | はい |
percpu_hash | はい |
percpu_array | はい |
stack_trace | はい |
cgroup_array | はい |
lru_hash | はい |
lru_percpu_hash | はい |
lpm_trie | はい |
array_of_maps | はい |
hash_of_maps | はい |
devmap | はい |
sockmap | はい |
cpumap | はい |
xskmap | はい |
sockhash | はい |
cgroup_storage | はい |
reuseport_sockarray | はい |
percpu_cgroup_storage | はい |
queue | はい |
stack | はい |
sk_storage | はい |
devmap_hash | はい |
struct_ops | はい |
ringbuf | はい |
inode_storage | はい |
task_storage | はい |
bloom_filter | はい |
user_ringbuf | はい |
cgrp_storage | はい |
第8章 バグ修正
ここでは、ユーザーに重大な影響を与えるバグで、Red Hat Enterprise Linux 9.4 で修正されたものについて説明します。
8.1. インストーラーおよびイメージの作成
Anaconda は、Installation Destination 画面にマルチパスストレージデバイスの WWID 識別子を表示します
以前、Anaconda は、マルチパスストレージデバイスのデバイス番号、WWPN、LUN などの詳細を表示しませんでした。その結果、Installation Destination > Add a disk 画面から正しいインストール先を選択することは困難でした。この更新により、Anaconda がマルチパスストレージデバイスの WWID 識別子を表示するようになりました。その結果、高度なストレージデバイスの画面で、必要なインストール先を簡単に識別して選択できるようになりました。
Jira:RHEL-11384[1]
インストーラーはキックスタートファイルで追加のタイムゾーン定義を受け入れるようになりました
Anaconda は、タイムゾーンの選択を検証する方法を、より制限的な別の方法に切り替えました。このため、日本などの一部のタイムゾーン定義は、以前のバージョンでは受け入れられていたにもかかわらず、有効ではなくなりました。これらの定義を含むレガシーキックスタートファイルを更新する必要がありました。更新しない場合、デフォルトで Americas/New_York time
ゾーンになっていました。
有効なタイムゾーンのリストは、以前は pytz
Python ライブラリーの pytz.common_timezones
から取得されていました。この更新により、timezone
キックスタートコマンドの検証設定が pytz.all_timezones
を使用するように変更されます。これは common_timezones
リストのスーパーセットであり、より多くのタイムゾーンを指定できるようになります。この変更により、Red Hat Enterprise Linux 6 用に作成された古いキックスタートファイルでも引き続き有効なタイムゾーンが指定されるようになります。
注記: この変更は timezone
キックスタートコマンドにのみ適用されます。グラフィカルおよびテキストベースの対話型インターフェイスでのタイムゾーンの選択は変更されません。有効なタイムゾーンが選択されている Red Hat Enterprise Linux 9 の既存のキックスタートファイルは、更新する必要がありません。
Jira:RHEL-13150[1]
インストーラーが、複数のポートと BOOTIF オプションを使用してボンディングデバイスを正しく作成するようになりました
以前は、複数のポートを持つボンディングネットワークデバイスと BOOTIF
ブートオプションを使用してインストールを起動した場合、インストールプログラムが誤った接続プロファイルを作成していました。その結果、BOOTIF オプションで使用されるデバイスは、ポートの 1 つとして設定されていたにもかかわらず、ボンディングデバイスに追加されませんでした。
この更新により、BOOTIF
ブートオプションの使用時に、インストールプログラムが initramfs
にプロファイルを正しく作成するようになりました。その結果、指定したすべてのポートが、インストールされたシステムのボンディングデバイスに追加されます。
Anaconda は、インストールイメージの起動に失敗したときに表示される、誤解を招くエラーメッセージを置き換えます
以前は、たとえば inst.stage2
または inst.repo
で指定された stage2
のソースが見つからないことが原因で、インストールプログラムがインストールイメージの起動に失敗した場合、Anaconda は誤解を招く以下のエラーメッセージを表示していました。
/run/anaconda/initrd_errors.txt: No such file or directory
この更新により、Anaconda は混乱を最小限に抑えるために、適切な警告メッセージを発行します。
新しいバージョンの xfsprogs
が /boot
サイズを縮小しなくなる
以前は、RHEL 9.3 の 5.19 バージョンの xfsprogs
パッケージにより、/boot
サイズが縮小していました。その結果、RHEL 9.2 バージョンと比較すると、/boot
パーティション上の使用可能な領域に違いが生じました。この修正により、すべてのイメージの /boot
パーティションが 500 MiB ではなく 600 MiB に増加し、/boot
パーティションはスペースの問題の影響を受けなくなりました。
8.2. セキュリティー
Libreswan は IPv6 SAN エクステンションを受け入れる
以前は、IPv6 アドレスの subjectAltName (SAN) エクステンションを含む証明書を使用して証明書ベースの認証をセットアップすると、IPsec 接続が失敗しました。この更新により、pluto
デーモンは IPv4 だけでなく IPv6 SAN も受け入れるように変更されました。その結果、証明書に埋め込まれた IPv6 アドレスを ID として IPsec 接続が正しく確立されるようになりました。
SELinux ポリシーに、ip vrf
による仮想ルーティングを管理するためのルールが追加されました
ip vrf
コマンドを使用して、他のネットワークサービスの仮想ルーティングを管理できます。以前は、selinux-policy
にはこの用途をサポートするルールは含まれていませんでした。この更新により、SELinux ポリシールールによって、ip
ドメインから httpd
、sshd
、および named
ドメインへの明示的な遷移が可能になります。これらの遷移は、ip
コマンドが setexeccon
ライブラリー呼び出しを使用する場合に適用されます。
Jira:RHEL-14246[1]
unconfined_login
が off
に設定されている場合、SELinux ポリシーは制限のないユーザーの SSH ログインを拒否します。
以前は、unconfined_login
ブール値が off
に設定されている場合に、制限のないユーザーが SSH 経由でログインすることを拒否するルールが SELinux ポリシーにありませんでした。その結果、unconfined_login
が off
に設定されている場合でも、ユーザーは SSHD を使用して制限のないドメインにログインできます。この更新により、SELinux ポリシーにルールが追加され、その結果、unconfined_login
が off
の場合、ユーザーは sshd
経由で制限なしでログインできなくなります。
SELinux ポリシーにより rsyslogd
が制限されたコマンドを実行できる
以前は、SELinux ポリシーには、rsyslogd
デーモンが systemctl
などの SELinux 制限コマンドを実行できるようにするルールがありませんでした。その結果、omprog
ディレクティブの引数として実行されたコマンドは失敗しました。この更新により、SELinux ポリシーにルールが追加され、omprog
の引数として実行される /usr/libexec/rsyslog
ディレクトリー内の実行可能ファイルが syslogd_unconfined_script_t
の制限のないドメインに含まれるようになります。その結果、omprog
の引数として実行されたコマンドは正常に終了します。
kmod
が SELinux MLS ポリシーで実行される
以前は、SELinux は /var/run/tmpfiles.d/static-nodes.conf
ファイルにプライベートタイプを割り当てていませんでした。その結果、kmod
ユーティリティーは SELinux マルチレベルセキュリティー (MLS) ポリシーで動作しない可能性があります。この更新により、SELinux ポリシーに /var/run/tmpfiles.d/static-nodes.conf
の kmod_var_run_t
ラベルが追加され、その結果、kmod
が SELinux MLS ポリシーで正常に実行されるようになりました。
selinux-autorelabel
が SELinux MLS ポリシーで実行される
以前は、SELinux ポリシーは /usr/libexec/selinux/selinux-autorelabel
ユーティリティーにプライベートタイプを割り当てていませんでした。その結果、selinux-autorelabel.service
は SELinux マルチレベルセキュリティー (MLS) ポリシーで動作しなくなる可能性があります。この更新により、semanage_exec_t
ラベルが /usr/libexec/selinux/selinux-autorelabel
に追加され、その結果、selinux-autorelabel.service
が SELinux MLS ポリシーで正常に実行されるようになりました。
/bin = /usr/bin
ファイルのコンテキスト同等性ルールが SELinux ポリシーに追加される
以前は、SELinux ポリシーには /bin = /usr/bin
ファイルコンテキスト同等性ルールが含まれていませんでした。その結果、restorecond
デーモンは正しく動作しませんでした。この更新により、ポリシーに不足しているルールが追加され、その結果、restorecond
は SELinux enforcing モードで正しく動作するようになりました。
- 重要
-
この変更は、
/bin
内のパターンのファイルコンテキスト仕様を使用するすべてのローカルポリシーモジュールをオーバーライドします。
SELinux ポリシーには追加のサービスとアプリケーションに関するルールが含まれています
selinux-policy
パッケージのこのバージョンには追加のルールが含まれています。特に注目すべきは、sysadm_r
ロールのユーザーは次のコマンドを実行できることです。
-
sudo traceroute
(RHEL-14077) -
sudo tcpdump
(RHEL-15432)
SELinux ポリシーが QAT ファームウェアの権限を追加する
以前は、Intel VT-d
カーネルオプションを有効にして Intel QuickAssist Technology (QAT) を更新すると、SELinux 権限がないために拒否されていました。この更新により、qat
サービスに権限が追加されます。その結果、QAT を正しく更新できるようになります。
Jira:RHEL-19051[1]
Rsyslog は omprog
を使用して特権コマンドを実行できます
以前は、Rsyslog の omprog
モジュールは、特定の外部プログラム、特に特権コマンドを含むプログラムを実行できませんでした。その結果、特権コマンドを含むスクリプトを omprog
を介して使用することは制限されていました。この更新では、SELinux ポリシーが調整されました。調整された SELinux ポリシーとの互換性を確保するために、スクリプトを /usr/libexec/rsyslog
ディレクトリーに配置してください。そうすることで、Rsyslog は omprog
モジュールを使用して、特権コマンドを含むスクリプトを実行できます。
semanage fcontext
コマンドがローカルの変更を並べ替えなくなりました
semanage fcontext -l -C
コマンドは、file_contexts.local
ファイルに保存されているローカルファイルコンテキストの変更をリスト表示します。restorecon
ユーティリティーは、file_contexts.local
内のエントリーを最も新しいエントリーから最も古いエントリーへと順番に処理します。以前の semanage fcontext -l -C
は、エントリーを間違った順序でリスト表示していました。処理順序とリスト表示順序の不一致により、SELinux ルールの管理時に問題が発生していました。この更新により、semanage fcontext -l -C
は、最も古いルールから最も新しいルールへと、期待どおりの正しい順序でルールを表示するようになりました。
Jira:RHEL-25263[1]
オフセット付きの CardOS 5.3 カードが OpenSC で問題を引き起こさなくなりました
以前は、単一の PKCS #15 ファイルの異なるオフセットに証明書を保存する一部の CardOS 5.3 カードでは、ファイルのキャッシュが正しく機能しませんでした。これは、ファイルのキャッシュがファイルのオフセット部分を無視し、結果としてキャッシュのオーバーライドが繰り返され、ファイルのキャッシュから無効なデータが読み取られることが原因でした。この問題はアップストリームで特定および修正されました。この更新以降、CardOS 5.3 カードはファイルのキャッシュに関して正常に動作するようになりました。
Jira:RHEL-4079[1]
8.3. サブスクリプションの管理
subscription-manager
は端末に不要なテキストを保持しなくなる
RHEL 9.1 以降、subscription-manager
は操作の処理中に進行状況情報を表示します。以前は、一部の言語 (通常は非ラテン語) では、操作の終了後に進行状況メッセージがクリーンアップされませんでした。この更新により、操作の終了時にすべてのメッセージが適切にクリーンアップされます。
以前に進行状況メッセージを無効にしたことがある場合は、次のコマンドを入力して再度有効にできます。
# subscription-manager config --rhsm.progress_messages=1
Bugzilla:2136694[1]
8.4. ソフトウェア管理
librhsm
ライブラリーは、librhsm
がコンテナー内で実行されている場合に、正しい /etc/rhsm-host
接頭辞を返すようになりました
librhsm
がコンテナー内で実行されている場合、librhsm
ライブラリーは、CA 証明書へのパス接頭辞を /etc/rhsm
から /etc/rhsm-host
パスに書き換えます。以前は、文字列操作の間違いにより、librhsm
は /etc/rhsm-host-host
という誤った接頭辞を返していました。この更新により、この問題は修正され、librhsm
ライブラリーが /etc/rhsm-host
という正しい接頭辞を返すようになりました。
systemd
は librepo
が作成した /run/user/0
ディレクトリーを正しく管理するようになりました
以前は、root でログインする前に Insights クライアントから librepo
関数が呼び出されると、/run/user/0
ディレクトリーが間違った SELinux コンテキストタイプで作成される場合がありました。これにより、root からのログアウト後に systemd
がディレクトリーをクリーンアップすることができませんでした。
この更新により、librepo
パッケージは、SELinux ポリシーで定義されたデフォルトのファイルシステムのラベル付けルールに従って、デフォルトの作成タイプを設定するようになりました。その結果、systemd
は librepo
が作成した /run/user/0
ディレクトリーを正しく管理するようになりました。
systemd
は libdnf
が作成した /run/user/0
ディレクトリーを正しく管理するようになりました
以前は、root でログインする前に Insights クライアントから libdnf
関数が呼び出されると、/run/user/0
ディレクトリーが間違った SELinux コンテキストタイプで作成される場合がありました。これにより、root からのログアウト後に systemd
がディレクトリーをクリーンアップすることができませんでした。
この更新により、libdnf
パッケージは、SELinux ポリシーで定義されたデフォルトのファイルシステムのラベル付けルールに従って、デフォルトの作成タイプを設定するようになりました。その結果、systemd
は libdnf
が作成した /run/user/0
ディレクトリーを正しく管理するようになりました。
dnf needs-restarting --reboothint
コマンドは、CPU マイクロコードを更新するために再起動を推奨するようになりました
CPU マイクロコードを完全に更新するには、システムを再起動する必要があります。以前は、更新された CPU マイクロコードを含む microcode_ctl
パッケージをインストールしたときに、dnf needs-restarting --reboothint
コマンドは再起動を推奨しませんでした。この更新により、この問題は修正され、dnf needs-restarting --reboothint
は CPU マイクロコードを更新するために再起動を推奨するようになりました。
8.5. シェルおよびコマンドラインツール
top -u
コマンドは、プロセスをメモリー順に並べ替えるときに、少なくとも 1 つのプロセスを表示するようになりました
以前は、-u <user>
パラメーターを指定して top
コマンドを実行する際に、user
がコマンドを実行しているユーザーと異なっていた場合、プロセスをメモリー順に並べ替えるために M
キーを押すとすべてのプロセスが消えていました。この更新により、top
コマンドは、プロセスをメモリー順に並べ替えるときに、少なくとも 1 つのプロセスを表示するようになりました。
カーソルの位置を保持するため、すべてのプロセスが表示されるわけではありません。結果を上にスクロールすると、残りのプロセスが表示されます。
BIOS と UEFI の両方のブートローダーがインストールされている場合に ReaR が BIOS ブートローダーの存在を確認するようになりました
以前は、ハイブリッドブートローダーセットアップ (UEFI
と BIOS
) で、UEFI
を使用して起動すると、Relax-and-Recover (ReaR) によって UEFI
ブートローダーのみが復元され、BIOS
ブートローダーは復元されませんでした。これにより、システムに GUID Partition Table
(GPT) と BIOS
ブートパーティションは存在するものの、BIOS ブートローダーは存在しない状態が発生していました。この状況では、ReaR はレスキューイメージの作成に失敗し、rear mkbackup
または rear mkrescue
コマンドを使用してバックアップまたはレスキューイメージを作成しようとすると、次のエラーメッセージが表示されて失敗していました。
ERROR: Cannot autodetect what is used as boot loader, see default.conf about 'BOOTLOADER'.
この更新により、ReaR が UEFI
と BIOS
の両ブートローダーの存在を確認してそれらを復元するようになり、GPT
の BIOS
ブートパーティションを持つシステムで BIOS
ブートローダーが検出されない場合でも失敗しなくなりました。その結果、UEFI
と BIOS
のハイブリッドブートローダーセットアップを備えたシステムで、複数回のバックアップおよび復元が可能になりました。
Jira:RHEL-16864[1]
ReaR はリカバリー中に logbsize
、sunit
、swidth
マウントオプションを使用しなくなりました
以前は、MKFS_XFS_OPTIONS
設定を使用して、元のパラメーターとは異なるパラメーターで XFS
ファイルシステムを復元する場合、Relax-and-Recover (ReaR) は、元のファイルシステムには適用できるものの復元されたファイルシステムには適用できないマウントオプションを使用して、このファイルシステムをマウントしていました。その結果、ReaR が mount
コマンドを実行したときに、ディスクレイアウトの再作成が失敗し、次のエラーメッセージが表示されていました。
wrong fs type, bad option, bad superblock on and missing codepage or helper program, or other error.
カーネルログには、次のいずれかのメッセージが表示されていました。
logbuf size must be greater than or equal to log stripe size
alignment check failed: sunit/swidth vs. agsize
この更新により、ReaR は再作成された XFS
ファイルシステムをマウントするときに、logbsize
、sunit
、および swidth
マウントオプションを使用しなくなります。その結果、MKFS_XFS_OPTIONS
設定を使用すると、ディスクレイアウトの再作成が成功します。
Jira:RHEL-10478[1]
シンプールのメタデータサイズが小さいシステムで ReaR リカバリーが失敗しなくなりました
以前は、ReaR は、シンプールを含む LVM ボリュームグループのレイアウトを保存するときに、プールメタデータボリュームのサイズを保存していませんでした。システムがデフォルト以外のプールメタデータサイズを使用していた場合でも、ReaR はリカバリー時にデフォルトサイズでプールを再作成していました。
その結果、元のプールメタデータサイズがデフォルトサイズよりも小さく、ボリュームグループに空き領域がない場合、システムのリカバリー時にレイアウトの再作成が失敗し、次の例のようなメッセージがログに記録されていました。
Insufficient free space: 230210 extents needed, but only 230026 available
または、以下を実行します。
Volume group "vg" has insufficient free space (16219 extents): 16226 required.
この更新により、リカバリー後のシステムが、元のシステムと同サイズのメタデータボリュームを含むようになります。その結果、シンプールのメタデータサイズが小さく、ボリュームグループに追加の空き領域がないシステムのリカバリーが、正常に完了します。
ReaR は、レスキューシステムとリカバリーされたシステムで NetBackup の bprestore
コマンドからのログを保存するようになりました
以前は、NetBackup 統合 (BACKUP=NBU
) を使用する場合、ReaR はリカバリー時に、bprestore
コマンドからのログを終了時に削除されるディレクトリーに追加していました。さらに、ReaR は、コマンドによって生成された追加のログを、リカバリーされたシステムの /usr/openv/netbackup/logs/bprestore/
ディレクトリーに保存していませんでした。
その結果、リカバリー時に bprestore
コマンドが失敗した場合は、-d
または -D
オプションを指定して rear recover
コマンドを実行しない限り、ログは削除されていました。さらに、リカバリーが正常に完了した場合でも、/usr/openv/netbackup/logs/bprestore/
ディレクトリー配下のログは再起動後に失われ、調査できませんでした。
この更新により、ReaR は bprestore
コマンドのログを、レスキューシステムの /var/lib/rear/restore
ディレクトリーに保存するようになりました。ログは、rear recover
コマンドが終了した後も、レスキューシステムが再起動するまで保持されます。システムがリカバリーされた場合、さらなる調査が必要な場合に備えて、/usr/openv/netbackup/logs/bprestore/
のすべてのログが /var/lib/rear/restore
のログとともに /var/log/rear/recover/restore
ディレクトリーにコピーされます。
設定ファイルで TMPDIR
変数が設定されている場合、ReaR はリカバリー中に失敗しなくなりました
以前は、ReaR のデフォルト設定ファイル /usr/share/rear/conf/default.conf
には次の手順が記載されていました。
# To have a specific working area directory prefix for Relax-and-Recover # specify in /etc/rear/local.conf something like # # export TMPDIR="/prefix/for/rear/working/directory" # # where /prefix/for/rear/working/directory must already exist. # This is useful for example when there is not sufficient free space # in /tmp or $TMPDIR for the ISO image or even the backup archive.
上記の手順は正しく機能しませんでした。これは、TMPDIR
変数がレスキュー環境で同じ値を持っていたためです。TMPDIR
変数で指定されたディレクトリーがレスキューイメージに存在しない場合、この値は不適切でした。
その結果、レスキューイメージを起動したときに、/etc/rear/local.conf
ファイルで TMPDIR
を設定してエクスポートすると、次のエラーが発生しました。
mktemp: failed to create file via template '/prefix/for/rear/working/directory/tmp.XXXXXXXXXX': No such file or directory cp: missing destination file operand after '/etc/rear/mappings/mac' Try 'cp --help' for more information. No network interface mapping is specified in /etc/rear/mappings/mac
または、rear recover
の実行中に次のエラーが発生し、その後キャンセルしていました。
ERROR: Could not create build area
この更新により、ReaR がレスキュー環境の TMPDIR
変数をクリアするようになりました。ReaR は、/etc/rear/local.conf
で変数が設定されているかどうかも検出し、変数が設定されている場合は警告を出力します。/usr/share/rear/conf/default.conf
内のコメントは変更され、TMPDIR
を /etc/rear/local.conf
で設定するのではなく、rear
を実行する前に環境内で設定してエクスポートするように指示するようになりました。
/etc/rear/local.conf
でコマンド export TMPDIR=…
を使用すると、ReaR は次の警告を出力します。
Warning: Setting TMPDIR in a configuration file is deprecated. To specify a working area directory prefix, export TMPDIR before executing 'rear'
その結果、説明した設定でリカバリーが成功します。
/etc/rear/local.conf
などの設定ファイルで TMPDIR
を設定することが非推奨となりました。この機能は今後のリリースで削除される予定です。代わりに、/etc/rear/local.conf
から当該設定を削除し、ReaR を呼び出す前に環境内で TMPDIR
を設定およびエクスポートすることを推奨します。
8.6. ネットワーク
wwan_hwsim
は kernel-modules-internal
パッケージに含まれるようになりました
wwan_hwsim
カーネルモジュールは、ワイヤレス広域ネットワーク (WWAN) デバイスを使用するさまざまなネットワークシナリオをシミュレーションおよびテストするためのフレームワークを提供します。以前は、wwan_hwsim
は kernel-modules-extra
パッケージの一部でした。しかし、このリリースでは、同様の指向の他のユーティリティーが含まれる kernel-modules-internal
パッケージに移動しました。PCI モデムの WWAN 機能はまだテクノロジープレビューであることに注意してください。
Jira:RHEL-24618[1]
xdp-loader features
コマンドが期待通りに動作するようになりました
xdp-loader
ユーティリティーは、libbpf
の以前のバージョンに対してコンパイルされていました。その結果、xdp-loader features
はエラーで失敗していました。
Cannot display features, because xdp-loader was compiled against an old version of libbpf without support for querying features.
このユーティリティーは、正しい libbpf
バージョンに対してコンパイルされるようになりました。その結果、コマンドは期待どおりに動作するようになりました。
Mellanox ConnectX-5
アダプターが DMFS
モードで動作する
以前は、イーサネットスイッチデバイスドライバーモデル (switchdev
) モードを使用しているときに、ConnectX-5
アダプターのデバイス管理フローステアリング (DMFS
) モードで設定されていると、mlx5
ドライバーが失敗していました。したがって、以下のエラーメッセージが表示されていました。
mlx5_core 0000:5e:00.0: mlx5_cmd_out_err:780:(pid 980895): DELETE_FLOW_TABLE_ENTRY(0x938) op_mod(0x0) failed, status bad resource(0x5), syndrome (0xabe70a), err(-22)
その結果、ConnectX-5
アダプターのファームウェアバージョンを 16.35.3006 以降に更新すると、エラーメッセージは表示されなくなります。
Jira:RHEL-9897[1]
8.7. カーネル
crash
がバージョン 8.0.4 にリベース
crash
ユーティリティーがバージョン 8.0.4 にアップグレードされ、複数のバグが修正されました。主な修正は次のとおりです。
- カーネルパニック中にパニックが発生していない CPU が停止に失敗した場合の、セグメンテーション違反を修正しました。
-
panic_on_oops
カーネルパラメーターが無効な場合、重大なエラーが生じてもカーネルパニックが発生していませんでした。 -
crash
ユーティリティーは、CONFIG_SLAB_FREELIST_HARDENED=y
設定オプションでコンパイルされたカーネルの、ハッシュ化されたフリーリストポインターを適切に解決しませんでした。 カーネルモジュールのメモリーレイアウト用語を変更しました。この変更により、
crash
ユーティリティーのメモリー関連の要素をより適切に示すために、module_layout
がmodule_memory
に置き換わりました。この変更を行わないと、crash
はセッションを開始できず、次のようなエラーメッセージが表示されます。crash: invalid structure member offset: module_core_size FILE: kernel.c LINE: 3787 FUNCTION: module_init()
tuna
は、必要に応じて GUI を起動します
以前は、サブコマンドなしで tuna
ユーティリティーを実行すると、GUI が起動していました。ディスプレイがある場合、この動作は望ましいものでした。逆の場合、ディスプレイのないマシンの tuna
は適切に終了しませんでした。この更新により、tuna
はディスプレイがあるかどうかを検出し、それに応じて GUI を起動するどうかを決定するようになりました。
Jira:RHEL-8859[1]
Intel TPM チップが正しく検出されるようになる
以前は、AMD Trusted Platform Module (TPM) チップのバグ修正の副次的影響が Intel TPM チップにも影響を及ぼしていました。その結果、RHEL は特定の Intel TPM チップを検出できませんでした。
この更新では、AMD TPM のバグ修正が改訂されました。その結果、RHEL は Intel TPM チップを正しく検出するようになりました。
Jira:RHEL-18985[1]
VMD が有効になっている場合、RHEL は以前は NVMe ディスクを認識できなかった
ドライバーをリセットまたは再アタッチすると、Volume Management Device (VMD) ドメインは以前はソフトリセットされませんでした。その結果、ハードウェアはデバイスを適切に検出して列挙できませんでした。この更新により、特にサーバーをリセットするときや仮想マシンを操作するときに、VMD が有効になっているオペレーティングシステムが NVMe ディスクを正しく認識するようになりました。
Bugzilla:2128610[1]
8.8. ファイルシステムおよびストレージ
multipathd
は、キューに入れられた未処理の I/O を持つデバイスを正常に削除できるようになりました
以前は、multipathd
コマンドは、デバイスを削除する前に queue_if_no_path
パラメーターを無効にしませんでした。このような動作は、キューに入れられた未処理の I/O が、パーティションデバイスではなくマルチパスデバイス自体に対して存在する場合を除いて不可能でした。結果として、multipathd
がハングし、マルチパスデバイスを維持できなくなっていました。この更新により、multipathd
は、multipath -F
、multipath -f <device>
、multipathd remove maps
、multipathd remove map <device>
などの削除コマンドを実行する前に、キューイングを無効にするようになりました。その結果、multipathd
は、キューに入れられた未処理の I/O を持つデバイスを正常に削除できるようになりました。
Jira:RHEL-4998[1]
dm-crypt
および dm-verity
デバイスの no_read_workqueue
、no_write_workqueue
、try_verify_in_taskle
オプションは一時的に無効になっています
以前は、no_read_workqueue
または no_write_workqueue
オプションを使用して作成された dm-crypt
デバイスと、try_verify_in_tasklet
オプションを使用して作成された dm-verity
デバイスによってメモリー破損が発生していました。その結果、ランダムにカーネルメモリーが破損し、さまざまなシステムの問題が発生しました。この更新により、これらのオプションは一時的に無効になります。この修正により、一部のワークロードで dm-verity
と dm-crypt
のパフォーマンスが低下する可能性があることに注意してください。
Jira:RHEL-23572[1]
Multipathd はデバイスが誤って I/O をキューイングしていないかチェックするようになりました
以前は、次の条件下では、マルチパスデバイスが (失敗するように設定されていたにもかかわらず) I/O のキューイングを再開していました。
-
マルチパスデバイスの
queue_if_no_paths
パラメーターが複数回の再試行に設定されていた。 - 動作中のパスがなく、I/O をキューイングしなくなったパスデバイスが、マルチパスデバイスから削除された。
今回の更新により、問題が修正されました。その結果、キューイングが無効化され、使用可能なパスがない状態でパスが削除された場合、マルチパスデバイスは I/O のキューイングを再開しなくなりました。
Jira:RHEL-17234[1]
nvmf_log_connect_error
からの重複エントリーの削除
以前は、重複コミットマージエラーにより、nvmf_log_connect_error
カーネル関数でログメッセージが繰り返されていました。その結果、ファブリックに接続された不揮発性メモリーエクスプレス (NVMe) デバイスにカーネルが接続できなかった場合、Connect command failed
メッセージが 2 回表示されていました。この更新により、重複したログメッセージがカーネルから削除され、エラーごとに 1 つのログメッセージのみが表示されるようになりました。
Jira:RHEL-21545[1]
名前空間の追加や削除時にカーネルがクラッシュしなくなりました
以前は、NVMe 名前空間が素早く追加されたり削除されたりすると、名前空間をプローブするために使用される連続したコマンドの間に、名前空間が消えていました。特定のケースでは、ストレージ配列は invalid namespace
エラーを返さず、代わりにゼロで埋められたバッファーを返しました。その結果、divide-by-zero
によってカーネルがクラッシュしました。この更新により、カーネルは、ストレージに対して発行された Identify Namespace データ構造に対する応答からのデータを検証するようになりました。その結果、カーネルはクラッシュしなくなりました。
Jira:RHEL-14751[1]
データデバイスの新しく割り当てられたセクションが適切に整列されるようになりました
以前は、Stratis プールが拡張されると、プールの新しいリージョンを割り当てることが可能でした。しかし、新しく割り当てられたリージョンは、以前に割り当てられたリージョンと正しく整列していませんでした。その結果、パフォーマンスが低下し、また sysfs
内の Stratis シンプールの alignment_offset
ファイルにゼロ以外のエントリーが発生する場合がありました。この更新により、プールが拡張されると、データデバイスの新しく割り当てられたリージョンが、以前に割り当てられたリージョンと適切に整列するようになりました。その結果、パフォーマンスの低下が発生せず、sysfs
内の Stratis シンプールの alignment_offset
ファイルにゼロ以外のエントリーが発生しなくなりました。
/etc/fstab
にマウントポイントとして NVMe-FC デバイスを追加すると、システムが正常に起動する
以前は、nvme-cli nvmf-autoconnect systemd
サービスの既知の問題により、Non-volatile Memory Express over Fibre Channel (NVMe-FC) デバイスを /etc/fstab
ファイルのマウントポイントとして追加すると、システムが起動できませんでした。その結果、システムは緊急モードに入っていました。この更新により、NVMe-FC デバイスをマウントした際に、システムが問題なく起動するようになりました。
Jira:RHEL-8171[1]
オペレーティングシステムのインストール中に LUN が表示されるようになる
以前は、特に iSCSI iBFT (Boot Firmware Table) に保存されている CHAP (Challenge-Handshake Authentication Protocol) 認証による iSCSI ハードウェアオフロードが関係する場合、システムはファームウェアソースからの認証情報を使用していませんでした。その結果、インストール中に iSCSI ログインが失敗しました。
udisks2-2.9.4-9.el9
ファームウェア認証の修正により、この問題は解決され、インストールおよび初回起動時に LUN が表示されるようになりました。
Bugzilla:2213769[1]
8.9. 高可用性およびクラスター
--force
を指定しない tls
および keep_active_partition_tie_breaker
クォーラムデバイスオプションの設定
以前は、クォーラムデバイスを設定するときに、--force
オプションを指定せずにクォーラムデバイスモデル net
の tls
および keep_active_partition_tie_breaker
オプションを設定することができませんでした。この更新により、これらのオプションを設定する際に --force
を指定する必要がなくなりました。
クローンリソースおよびバンドルリソースの移動および禁止に関する問題が修正されました
このバグ修正により、バンドルされたリソースとクローンリソースの移動に関する 2 つの制限が解消されます。
-
ユーザーがバンドルされたリソースをバンドルから移動しようとしたり、バンドル内での実行を禁止しようとしたりすると、
pcs
が制約を作成していました。しかし、その制約は効果がありませんでした。このため、エラーメッセージが表示されて移動が失敗していました。この修正により、pcs
は、バンドルされたリソースのバンドルからの移動や、バンドルされたリソースの禁止を許可しなくなりました。また、バンドルされたリソースをバンドルから移動できないことを示すエラーメッセージを出力するようになりました。 -
ユーザーがバンドルリソースまたはクローンリソースを移動しようとすると、バンドルリソースまたはクローンリソースを移動できないことを示すエラーメッセージが表示され、
pcs
が終了していました。この修正により、move コマンドの検証が緩和されます。クローンリソースおよびバンドルリソースを移動できるようになりました。クローンリソースを移動する場合、クローンのインスタンスが複数実行されている場合は、宛先ノードを指定する必要があります。移動できるのはレプリカが 1 つのバンドルのみです。
pcs status
コマンドの出力に、期限切れの制約に関する警告が表示されなくなりました
以前は、クラスターリソースを移動すると一時的な場所の制約が作成され、制約の有効期限が切れた後でも pcs status
コマンドによって警告が表示されていました。この修正により、pcs status
コマンドは期限切れの制約を除外し、コマンド出力に警告メッセージが生成されなくなりました。
SBD フェンシングで必要な場合、auto_tie_breaker
クォーラムオプションを無効にできなくなりました
以前は、SBD フェンシングが正しく機能するためにクラスター設定で auto_tie_breaker
クォーラムオプションが必要な場合でも、pcs
でこのオプションを無効にすることができました。この修正により、SBD フェンシングで auto_tie_breaker
オプションを有効にする必要があるシステムで auto_tie_breaker
を無効にしようとすると、pcs
はエラーメッセージを生成するようになりました。
8.10. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
DAV リポジトリーの場所が正規表現の一致を使用して設定されている場合に httpd
が正常に動作します
以前は、Apache HTTP Server で正規表現の一致 (LocationMatch
など) を使用して Distributed Authoring and Versioning (DAV) リポジトリーが設定されている場合、mod_dav
httpd
モジュールがパス名からリポジトリーのルートを特定できませんでした。その結果、サードパーティープロバイダー (たとえば、サブバージョンの mod_dav_svn
モジュール) からのリクエストを httpd
が処理できませんでした。
この更新により、httpd.conf
ファイルの新しい DevBasePath
ディレクティブを使用して、リポジトリーのルートパスを指定できるようになりました。以下に例を示します。
<LocationMatch "^/repos/"> DAV svn DavBasePath /repos SVNParentPath /var/www/svn </LocationMatch>
これにより、DAV リポジトリーの場所が正規表現の一致を使用して設定されている場合でも、httpd
はリクエストを正常に処理します。
8.11. コンパイラーおよび開発ツール
システムアップグレードの中断後に ldconfig
がクラッシュしなくなりました
以前は、システムアップグレードの中断後、/usr/lib64
ディレクトリーに残された不完全な共有オブジェクトを処理する際に、ldconfig
ユーティリティーがセグメンテーション違反で予期せず終了していました。この更新により、ldconfig
はシステムのアップグレード中に書き込まれた一時ファイルを無視するようになりました。その結果、システムアップグレードの中断後に ldconfig
がクラッシュしなくなりました。
glibc
は malloc
アリーナのチューニングに設定されたプロセッサーの数を使用するようになる
以前は、glibc
はスレッドごとの CPU アフィニティーマスクを使用して、malloc
の最大アリーナ数を調整していました。その結果、スレッドアフィニティーマスクをシステム内の CPU の小さなサブセットに制限すると、パフォーマンスが低下する可能性があります。
glibc
は、最大アリーナ数を決定するために設定された CPU の数を使用するように変更されました。その結果、スレッドごとの CPU アフィニティーマスクが制限された状態で実行されている場合でも、アプリケーションはより多くのアリーナを使用するため、パフォーマンスの低下は発生しなくなります。
Jira:RHEL-17157[1]
依存関係のサイクルに関係する共有オブジェクトに dlclose
を使用するアプリケーションとの glibc
互換性が向上しました
以前は、glibc
の dlclose
関数を使用して依存関係サイクル内の共有オブジェクトをアンロードすると、そのオブジェクトの ELF デストラクターが、他のすべてのオブジェクトがアンロードされるまで呼び出されない場合がありました。ELF デストラクターの実行が遅くなることで、アプリケーションでクラッシュやその他のエラーが発生しました。これは、最初にアンロードした共有オブジェクトの依存関係がすでに初期化解除されていることが原因でした。
この更新では、glibc
が修正され、他の ELF デストラクターを実行する前に、アンロードする直近のオブジェクトの ELF デストラクターを呼び出すようになりました。その結果、依存関係サイクルに関係する共有オブジェクトに dlclose
を使用するアプリケーションとの互換性が向上し、クラッシュが発生しなくなりました。
Jira:RHEL-2491[1]
make
はディレクトリーの実行を思考しなくなる
以前は、make
は実行しようとしている実行可能ファイルが、実際に実行可能ファイルであることを確認していませんでした。その結果、パスに実行可能ファイルと同じ名前のディレクトリーが含まれている場合、make
は代わりにそのディレクトリーを実行しようとしました。この更新により、make
は実行可能ファイルを検索するときに追加のチェックを行うようになりました。その結果、make
はディレクトリーを実行しようとしなくなりました。
glibc
ワイド文字書き込みパフォーマンスの向上
以前は、glibc
のワイド stdio
ストリーム実装では、デフォルトのバッファーサイズがワイド文字の書き込み操作に十分な大きさであるとは扱われず、代わりに 16 バイトのフォールバックバッファーが使用されていたため、パフォーマンスに悪影響がありました。この更新により、バッファー管理が修正され、書き込みバッファー全体が使用されるようになりました。その結果、glibc
ワイド文字書き込みパフォーマンスが向上します。
Jira:RHEL-19862[1]
glibc
getaddrinfo
関数が ncsd
キャッシュ情報を正しく読み取るようになる
以前は、glibc
の getaddrinfo
関数のバグにより、リストアドレス情報構造体に空の要素が返されることがありました。この更新により、getaddrinfo
関数が修正され、ncsd
キャッシュデータを正しく読み取り、変換できるようになり、結果として正しいアドレス情報が返されるようになりました。
依存関係のサイクルに関係する共有オブジェクトに dlclose
を使用するアプリケーションとの glibc
互換性が向上しました
以前は、glibc
の dlclose
関数を使用して依存関係サイクル内の共有オブジェクトをアンロードすると、そのオブジェクトの ELF デストラクターが、他のすべてのオブジェクトがアンロードされるまで呼び出されない場合がありました。ELF デストラクターの実行が遅くなることで、アプリケーションでクラッシュやその他のエラーが発生しました。これは、最初にアンロードした共有オブジェクトの依存関係がすでに初期化解除されていることが原因でした。
この更新では、glibc
が修正され、他の ELF デストラクターを実行する前に、アンロードする直近のオブジェクトの ELF デストラクターを呼び出すようになりました。その結果、依存関係サイクルに関係する共有オブジェクトに dlclose
を使用するアプリケーションとの互換性が向上し、クラッシュが発生しなくなりました。
キャッシュ有効期限情報の不一致により ncsd
の起動が失敗しなくなる
以前は、永続キャッシュファイル内のキャッシュ有効期限情報が一貫していないため、glibc
Name Service Switch Caching Daemon (nscd
) の起動に失敗する可能性がありました。この更新により、ncsd
はタイミング情報が一貫していないキャッシュエントリーを削除対象としてマークし、スキップするようになりました。その結果、キャッシュ有効期限情報の不一致により ncsd
の起動が失敗することがなくなりました。
一貫して高速な glibc
スレッドローカルストレージパフォーマンス
以前は、glibc
ダイナミックリンカーは、dlopen()
関数を使用して TLS を持つ共有オブジェクトがロードされた後、特定のスレッドローカルストレージ (TLS) メタデータを調整しなかったため、TLS アクセスが遅くなっていました。この更新により、ダイナミックリンカーは、dlopen()
呼び出しによって発生した TLS の変更に対して、TLS メタデータを更新するようになりました。その結果、TLS アクセスは一貫して高速になります。
8.12. Identity Management
割り当てられたメモリーが操作完了後に解放されるようになりました
以前は、各操作に対して KCM によって割り当てられたメモリーは、接続が閉じるまで解放されませんでした。その結果、接続を開いて同じ接続で多くの操作を実行するクライアントアプリケーションでは、接続が閉じるまで割り当てられたメモリーが解放されないため、メモリーが著しく増加しました。この更新により、操作に割り当てられたメモリーは、操作が完了するとすぐに解放されるようになりました。
IdM クライアントは、信頼できる AD ユーザーの名前に大文字と小文字が混在している場合でも、当該 AD ユーザーの情報を適切に取得する
以前は、ユーザーの検索または認証を試行した際に、その信頼できる Active Directory (AD) ユーザーの名前に大文字と小文字が混在しており、かつ IdM でオーバーライドが設定されていた場合、エラーが返され、ユーザーは IdM リソースにアクセスできませんでした。
この更新により、大文字と小文字を区別する比較は、大文字と小文字を区別しない比較に置き換えられました。その結果、IdM クライアントは、ユーザー名に大文字と小文字が混在しており、IdM でオーバーライドが設定されている場合でも、AD の信頼済みドメインのユーザーを検索できるようになりました。
SSSD は、パスワード変更時に猶予ログインが残っていない場合にエラーを正しく返します
以前は、ユーザーの LDAP パスワードの有効期限が切れた場合、猶予ログインが残っていないためにユーザーの最初のバインドが失敗した後でも、SSSD はパスワードの変更を試みていました。しかし、ユーザーに返されたエラーには失敗の理由が示されていませんでした。この更新により、バインドが失敗した場合、パスワード変更要求は中断されるようになりました。SSSD は、猶予ログインが残っていないため、別の方法でパスワードを変更する必要があることを示すエラーメッセージを返します。
realm leave
コマンドを使用したドメインからのシステム削除
以前は、sssd.conf
ファイルの ad_server
オプションに複数の名前が設定されている場合、realm leave
コマンドを実行すると解析エラーが発生し、システムがドメインから削除されませんでした。この更新により、ad_server
オプションが適切に評価されるようになり、正しいドメインコントローラー名が使用され、システムがドメインから適切に削除されるようになりました。
KCM は正しい sssd.kcm.log
ファイルにログを記録します
以前、logrotate
は Kerberos Credential Manager (KCM) ログファイルを正しくローテーションしていましたが、KCM はログを誤って古いログファイル sssd_kcm.log.1
に書き込んでいました。KCM を再起動した場合、正しいログファイルが使用されました。この更新により、logrotate
が呼び出されるとログファイルがローテーションされ、KCM は sssd_kcm.log
ファイルに正しくログを記録するようになりました。
realm leave --remove
コマンドが認証情報を要求しなくなる
以前は、realm
ユーティリティーは、realm leave
操作を実行するときに、有効な Kerberos チケットが利用可能かどうかを正しく確認していませんでした。その結果、有効な Kerberos チケットが利用可能であったにもかかわらず、ユーザーはパスワードの入力を求められました。この更新により、realm
は有効な Kerberos チケットがあるかどうかを正しく検証するようになり、realm leave --remove
コマンドを実行するときにユーザーにパスワードの入力を要求しなくなりました。
KDC は、一般的な制約付き委任リクエストを処理するときに追加のチェックを実行するようになりました
以前は、Red Hat Enterprise Linux 8 で実行中の KDC が発行した Kerberos チケットの forwardable フラグに脆弱性があり、検出されることなく不正な変更を加えることが可能でした。この脆弱性により、特定の権限を持たないユーザーによるなりすまし攻撃が発生する可能性がありました。この更新により、KDC は、一般的な制約付き委任リクエストを処理するときに追加のチェックを実行するようになりました。これにより、不正なフラグ変更を検出および拒否し、脆弱性を排除します。
Jira:RHEL-9984[1]
ドメインに対して SID が生成されている場合、forwardable フラグのチェックは無効になります
以前、CVE-2020-17049 の修正を提供する更新では、KDC が一般的な制約付き委任リクエストを処理するときに、Kerberos PAC を使用して、チケットの forwardable フラグに関する特定のチェックを実行していました。ただし、PAC は、過去に SID 生成タスクが実行されたドメインでのみ生成されます。このタスクは、Red Hat Enterprise Linux (RHEL) 8.5 以降で作成されたすべての IdM ドメインに対しては自動的に実行されますが、古いバージョンで初期化されたドメインでは、このタスクを手動で実行する必要があります。
RHEL 8.4 以前で初期化された IdM ドメインに対して SID 生成タスクを手動で実行しなかった場合、Kerberos チケットから PAC が欠落し、一般的な制約付き委任リクエストがすべて拒否されます。これには、一般的な制約付き委任に依存する IdM の HTTP API が含まれます。
この更新により、ドメインに対して SID が生成されなかった場合、forwardable フラグのチェックが無効になります。一般的な制約付き委任に依存するサービス (IdM HTTP API など) は引き続き動作します。ただし、Red Hat では、特にドメインにカスタムの一般的な制約付き委任ルールが設定されている場合は、できるだけ早くドメインで SID 生成タスクを実行することを推奨しています。このタスクが完了するまでは、ドメインは CVE-2020-17049 に対して脆弱なままとなります。
FIPS モードで IdM Vault 暗号化および復号化に失敗しなくなりました
以前は、IdM Vault は、デフォルトのパディングラッピングアルゴリズムとして OpenSSL RSA-PKCS1v15 を使用していました。しかし、RHEL の FIPS 認定モジュールはいずれも FIPS で承認されたアルゴリズムとして PKCS#1 v1.5 をサポートしていなかったため、IdM Vault は FIPS モードで失敗していました。この更新により、IdM Vault は、RSA-OAEP パディングラッピングアルゴリズムをフォールバックとしてサポートするようになりました。その結果、IdM Vault の暗号化と復号化が FIPS モードで正しく動作するようになりました。
Jira:RHEL-12143[1]
ページ結果検索を中止した後に Directory Server が失敗しなくなりました
以前は、競合状態が、ページ化された結果の検索を中止する際にヒープ破損と Directory Server 障害の原因となっていました。この更新により、競合状態が修正され、Directory Server 障害は発生しなくなりました。
Jira:RHEL-16830[1]
nsslapd-numlisteners
属性値が 2
より大きい場合、Directory Server は失敗しなくなる
以前は、nsslapd-numlisteners
属性値が 2
より大きい場合、Directory Server は受け入れられたファイル記述子ではなく、リスニング中のファイル記述子を閉じることがありました。その結果、Directory Server でセグメンテーションエラーが発生してしまいました。この更新により、Directory Server は正しい記述子を閉じ、ポートを正しくリッスンし続けます。
自動バインド操作が、他の接続で実行される操作に影響を与えなくなる
以前は、自動バインド操作の進行中に、Directory Server は接続時の新しい操作のリッスンを停止していました。この更新により、自動バインド操作は他の接続で実行される操作に影響を与えなくなります。
IdM クライアントインストーラーは、ldap.conf
ファイルで TLS CA 設定を指定しなくなる
以前は、IdM クライアントインストーラーは ldap.conf
ファイルで TLS CA 設定を指定していました。この更新により、OpenLDAP はデフォルトのトラストストアを使用し、IdM クライアントインストーラーは ldap.conf
ファイルに TLS CA 設定をセットアップしません。
8.13. Web コンソール
VNC コンソールがほとんどの解像度で機能するようになる
以前は、特定のディスプレイ解像度で Virtual Network Computing (VNC) コンソールを使用すると、マウスオフセットの問題が発生したり、インターフェイスの一部しか表示されなかったりしました。そのため、VNC コンソールを使用することはできませんでした。
この更新により、問題は修正され、3840 x 2160 ピクセルなどの超高解像度を除き、ほとんどの解像度で VNC コンソールが正しく動作するようになりました。
カーソルの録画した位置と表示位置の間には、小さいオフセットが引き続き存在する可能性があることに注意してください。ただし、これは VNC コンソールのユーザービリティーに大きな影響を与えることはありません。
8.14. Red Hat Enterprise Linux システムロール
SBD の delay-start
値が高い場合に、クラスターの起動がタイムアウトしなくなりました
以前は、ユーザーが ha_cluster
システムロールを使用してクラスターで SBD フェンシングを設定し、delay-start
オプションを 90 秒に近い値または 90 秒を超える値に設定すると、クラスターの起動がタイムアウトしていました。これは、デフォルトの systemd
起動タイムアウトが 90 秒であり、システムが SBD の起動遅延値より前にこの起動タイムアウトに達していたためです。この修正により、ha_cluster
システムロールが、systemd
の sbd.service
起動タイムアウトを、delay-start
よりも高い値でオーバーライドするようになりました。これにより、delay-start
オプションの値が高い場合でも、システムを正常に起動できるようになります。
Jira:RHEL-18026[1]
network
ロールが、0.0.0.0/0
または ::/0
のルーティングルールを検証する
以前は、ルーティングルールで from:
または to:
設定が 0.0.0.0/0
または ::/0
アドレスに設定されていた場合、network
RHEL システムロールはルーティングルールを設定できず、設定を無効として拒否していました。この更新により、network
ロールでは、ルーティングルールの検証で from:
と to:
に 0.0.0.0/0
と ::/0
が許可されるようになりました。その結果、ロールは検証エラーを発生させることなくルーティングルールを正常に設定します。
読み取りスケールクラスターの実行と mssql-server-ha
のインストールに特定の変数が不要になる
以前は、mssql
RHEL システムロールを使用して、特定の変数 (mssql_ha_virtual_ip
、mssql_ha_login
、mssql_ha_login_password
、および mssql_ha_cluster_run_role
) なしで読み取りスケールクラスターを設定すると、ロールは失敗し、“Variable not defined” というエラーメッセージが表示されました。ただし、これらの変数は読み取りスケールクラスターを実行するために必要ではありません。このロールは、読み取りスケールクラスターに必要のない mssql-server-ha
のインストールも試みました。この修正により、これらの変数の要件は削除されました。その結果、読み取りスケールクラスターは、エラーメッセージなしで正常に実行されます。
kexec_crash_size ファイルがビジー状態のときでも、Kdump システムロールが正常に動作する
/sys/kernel/kexec_crash_size
ファイルは、クラッシュカーネルメモリーに割り当てられたメモリーリージョンのサイズを提供します。
以前は、/sys/kernel/kexec_crash_size
ファイルがビジー状態のときに Kdump システムロールが失敗していました。この更新により、システムロールはファイルが利用可能になるとファイルの読み取りを再試行します。その結果、ファイルがビジー状態のときにシステムロールが失敗しなくなりました。
selinux
ロールが item
ループ変数を使用しなくなりました
以前は、selinux
RHEL システムロールは item
ループ変数を使用していました。これにより、別のロールから selinux
ロールを呼び出したときに、次の警告メッセージが表示される場合があります。
[WARNING]: TASK: fedora.linux_system_roles.selinux : Restore SELinux labels on filesystem tree: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior.
このリリースでは、selinux
ロールは __selinux_item
をループ変数として使用します。その結果、別のロールから selinux
ロールを呼び出しても、item
変数がすでに使用されているという警告が表示されなくなりました。
ha_cluster
システムロールが qnetd
ホスト上のファイアウォールを正しく設定するようになりました
以前は、ユーザーが qnetd
ホストを設定し、ha_cluster
システムロールを使用して ha_cluster_manage_firewall
変数を true
に設定しても、そのロールによってファイアウォールの高可用性サービスが有効になりませんでした。この修正により、ha_cluster
システムロールは qnetd
ホスト上のファイアウォールを正しく設定するようになりました。
postgresql
RHEL システムロールが、正しいバージョンの PostgreSQL をインストールするようになりました
以前は、RHEL マネージドノードで postgresql_version: "15"
変数を定義して postgresql
RHEL システムロールを実行しようとすると、PostgreSQL バージョン 15 ではなくバージョン 13 がインストールされていました。このバグは修正され、postgresql
ロールは変数に設定されたバージョンをインストールするようになりました。
keylime_server
ロールが registrar サービスのステータスを正しく報告する
以前は、keylime_server
ロール Playbook が誤った情報を提供すると、ロールは誤って開始が成功したと報告していました。この更新により、ロールは誤った情報が提供された場合に失敗を正しく報告するようになり、開いているポートを待機する際のタイムアウトが約 300 秒から約 30 秒に短縮されました。
podman
RHEL システムロールが、ルートレスコンテナーに対して linger を適切に設定およびキャンセルできるようになりました
以前は、podman
RHEL システムロールは、ルートレスコンテナーに対して linger を適切に設定およびキャンセルしていませんでした。その結果、ルートレスユーザーのシークレットまたはコンテナーをデプロイすると、場合によってはエラーが発生し、場合によってはリソースを削除するときに linger をキャンセルできませんでした。この更新により、podman
RHEL システムロールは、シークレットまたはコンテナーリソースの管理を行う前にルートレスユーザーに対して linger が有効になっていることを確認するようになりました。また、管理するシークレットまたはコンテナーリソースがなくなったときにルートレスユーザーに対して linger をキャンセルするようになりました。その結果、このロールはルートレスユーザーの残留を正しく管理します。
nbde_server
ロールがソケットオーバーライドで動作するようになる
以前は、nbde_server
RHEL システムロールは、tangd
ソケットオーバーライドディレクトリー内のファイルがカスタムポート用の override.conf
ファイルだけであると想定していました。その結果、ポートのカスタマイズがないと、ロールは他のファイルをチェックせずにディレクトリーを削除し、システムはその後の実行でディレクトリーを再作成しました。
このリリースでは、ポートオーバーライドファイルの属性の変更や他のファイルがある場合のディレクトリーの削除を防止するためにロールが修正されました。その結果、tangd
ソケットオーバーライドファイルがロールの外部でも管理されていると、ロールは正しく機能します。
ボリューム quadlet サービス名が失敗しなくなる
以前は、ボリュームサービス名を開始すると、"Could not find the requested service NAME.volume: host" のようなエラーが発生しました。この更新により、ボリューム quadlet サービス名が basename-volume.service
に変更されました。その結果、ボリュームサービスはエラーなしで開始されます。
詳細は、ボリュームユニット の man ページを参照してください。
Ansible はシークレットで使用するために JSON 文字列を保存するようになる
以前は、値がループで使用され、data: "{{ value }}"
に類似した文字列である場合、Ansible は JSON 文字列を対応する JSON オブジェクトに変換していました。その結果、JSON 文字列をシークレットとして渡して値を保持できませんでした。この更新により、podman_secret
モジュールに渡すときに、データ値が文字列にキャストされます。その結果、JSON 文字列はシークレットで使用するためにそのまま保存されます。
rhc_auth
にアクティベーションキーが含まれている場合、rhc
システムロールが登録済みシステムで失敗しなくなる
以前は、rhc_auth
パラメーターで指定されたアクティベーションキーを使用して登録済みシステムで Playbook ファイルを実行すると、エラーが発生していました。この問題は解決されています。rhc_auth
パラメーターにアクティベーションキーが提供されていても、すでに登録されているシステムで Playbook ファイルを実行できるようになりました。
8.15. 仮想化
FIFO スケジューラーを備えた RT 仮想マシンが正しく起動するようになる
以前は、リアルタイム (RT) 仮想マシン (VM) で vCPU スケジューラーに fifo
設定を使用するように設定した後、仮想マシンを起動しようとすると応答しなくなりました。代わりに、仮想マシンに Guest has not initialized the display (yet)
というエラーが表示されました。この更新により、エラーが修正され、説明した状況で vCPU スケジューラー用に fifo
を設定することが期待どおりに動作するようになりました。
Jira:RHEL-2815[1]
ダンプの失敗によって IBM Z VMs with Secure Execution がブロックされなくなりました。
以前は、IBM Z virtual machine (VM) with Secure Execution のダンプが失敗すると、仮想マシンは一時停止状態のままになり、実行がブロックされていました。たとえば、ディスクに十分なスペースがない場合、virsh dump
コマンドを使用して仮想マシンをダンプすることは失敗します。
基礎となるコードが修正され、ダンプ失敗後も Secure Execution 仮想マシンは正常に操作を再開します。
Jira:RHEL-16695[1]
仮想マシンに RHEL をインストールするための予想されるシステムディスクをインストールプログラムが表示するようになりました
以前は、virtio-scsi
デバイスを使用して仮想マシンに RHEL をインストールすると、device-mapper-multipath
のバグにより、これらのデバイスがインストールプログラムに表示されない可能性がありました。その結果、インストール時に、シリアルセットを持つデバイスとシリアルセットを持たないデバイスがある場合、シリアルセットを持つすべてのデバイスを multipath
コマンドが要求していました。このため、仮想マシンに RHEL をインストールするために必要なシステムディスクをインストールプログラムが検出できませんでした。
今回の更新により、multipath
はシリアルのないデバイスを World Wide Identifier (WWID) を持たないものとして正しく設定し、無視します。インストール時に、multipath
は multipathd
がマルチパスデバイスのバインドに使用するデバイスのみを要求し、インストールプログラムは仮想マシンに RHEL をインストールするための予想されるシステムディスクを表示します。
Bugzilla:1926147[1]
多数のキューを使用しても仮想マシンで障害が発生しなくなりました
以前は、Virtual Trusted Platform Module (vTPM) デバイスが有効で、マルチキュー virtio-net 機能が 250 を超えるキューを使用するように設定されている場合、仮想マシン (VM) で障害が発生することがありました。
この問題は、vTPM デバイスの制限が原因で発生していました。この更新により、問題が修正され、250 を超えるキューを使用する、vTPM が有効な仮想マシンが確実に動作するようになりました。
Jira:RHEL-13335[1]
AMD EPYC CPU を搭載したホストで v2v 変換を行った後、Windows ゲストの起動がより安定します。
virt-v2v
ユーティリティーを使用して、Windows 11 または Windows Server 2022 をゲスト OS として使用する仮想マシン (VM) を変換した後、以前は仮想マシンの起動に失敗していました。これは、AMD EPYC シリーズ CPU を使用するホストで発生していました。現在、基礎となるコードが修正され、仮想マシンは説明した状況で期待どおりに起動します。
Bugzilla:2168082[1]
nodedev-dumpxml
は、特定の仲介デバイスの属性を正しくリストします。
この更新より前は、nodedev-dumpxml
ユーティリティーは、nodedev-create
コマンドを使用して作成された仲介デバイスの属性を正しくリストしませんでした。この問題は修正され、nodedev-dumpxml
が該当する仲介デバイスの属性を適切に表示するようになりました。
virtqemud
または libvirtd
を再起動した後、virtiofs
デバイスを接続できませんでした
以前は、virtqemud
サービスまたは libvirtd
サービスを再起動すると、virtiofs
ストレージデバイスをホスト上の仮想マシン (VM) に接続できなくなりました。このバグは修正されており、説明されているシナリオで期待どおりに virtiofs
デバイスをアタッチできるようになりました。
仮想マシンへの Watchdog カードのホットプラグが失敗しなくなる
以前は、使用可能な PCI スロットがない場合、実行中の仮想マシン (VM) に Watchdog カードを追加すると、以下のエラーが発生し、失敗していました。
Failed to configure watchdog ERROR Error attempting device hotplug: internal error: No more available PCI slots
今回の更新で問題が修正され、実行中の仮想マシンに Watchdog カードを追加すると、想定どおりに機能するようになりました。
IBM Z 上の virtio-gpu
で blob
リソースが正しく動作するようになる
以前は、virtio-gpu
デバイスは IBM Z システム上の blob
メモリーリソースと互換性がありませんでした。その結果、IBM Z ホスト上で virtio-gpu
を使用して仮想マシン (VM) を設定し、blob
リソースを使用すると、仮想マシンにグラフィカル出力がありませんでした。
この更新により、virtio
デバイスにオプションの blob
属性が追加されました。blob
を on
に設定すると、デバイス内の blob
リソースが使用できるようになります。これにより、virtio-gpu
デバイスで説明した問題が防止され、ゲストとホスト間のピクセルデータのコピーが削減または排除されるため、ディスプレイパスも高速化されます。blob
リソースのサポートには QEMU バージョン 6.1 以降が必要であることに注意してください。
virtio-win
ドライバーを再インストールしても、ゲストの DNS 設定がリセットされなくなる
以前は、Windows ゲストオペレーティングシステムを使用する仮想マシンで、ネットワークインターフェイスコントローラー (NIC) の virtio-win
ドライバーを再インストールまたはアップグレードすると、ゲストの DNS 設定がリセットされていました。その結果、Windows ゲストのネットワーク接続が失われる場合がありました。
この更新により、上記の問題が修正されました。したがって、virtio-win
の最新バージョンを再インストールまたはアップグレードすると、問題は発生しなくなります。ただし、virtio-win
の以前のバージョンからアップグレードしても問題は解決されず、Windows ゲストで DNS リセットが引き続き発生する可能性があることに注意してください。
Jira:RHEL-1860[1]
第9章 テクノロジープレビュー
ここでは、Red Hat Enterprise Linux 9 で利用可能なテクノロジープレビューのリストを提示します。
テクノロジープレビューに対する Red Hat のサポート範囲の詳細は、テクノロジープレビューのサポート範囲 を参照してください。
9.1. インストーラーおよびイメージの作成
RHEL インストール用の NVMe over TCP がテクノロジープレビューとして利用可能になる
このテクノロジープレビューにより、ファームウェアの設定後、NVMe over TCP ボリュームを使用して RHEL をインストールできるようになりました。Installation Destination 画面からディスクを追加するときに、NVMe Fabrics Devices セクションで NVMe 名前空間を選択できます。
Jira:RHEL-10216[1]
起動可能な OSTree ネイティブコンテナーのインストールがテクノロジープレビューとして利用可能になる
ostreecontainer
キックスタートコマンドが、Anaconda でテクノロジープレビューとして利用できるようになりました。このコマンドを使用すると、OCI イメージにカプセル化された OSTree コミットから、オペレーティングシステムをインストールできます。キックスタートインストールを実行する場合、ostreecontainer
とともに次のコマンドが利用できます。
- graphical、text、または cmdline
- ostreecontainer
- clearpart、zerombr
- autopart
- part
- logvol、volgroup
- reboot および shutdown
- lang
- rootpw
- sshkey
-
bootloader -
--append
オプションパラメーターを指定する形でのみ使用できます。 - user
user コマンド内でグループを指定する場合、ユーザーアカウントはコンテナーイメージ内にすでに存在するグループにのみ割り当てることができます。ここにリストされていないキックスタートコマンドを ostreecontainer
コマンドと併用することもできますが、それらのコマンドがパッケージベースのインストールで期待どおりに動作する保証はありません。
ただし、次のキックスタートコマンドの ostreecontainer
との併用はサポートされていません。
- %packages (必要なパッケージがコンテナーイメージにすでに存在している必要があります)
-
url (インストール用に
stage2
イメージを取得する必要がある場合、たとえば PXE インストールでは、Kickstart ファイル内でstage2
の URL を指定する代わりに、カーネルでinst.stage2=
を使用します) - liveimg
- vnc
- authconfig および authselect (代わりにコンテナーイメージで関連する設定を提供します)
- module
- repo
- zipl
- zfcp
部分的なキックスタートファイルを使用する対話形式のインストールでは、起動可能な OSTree ネイティブコンテナーのインストールはサポートされません。
注記: マウントポイントをカスタマイズする場合は、マウントポイントを /mnt
ディレクトリー内に定義し、マウントポイントディレクトリーがコンテナーイメージの /var/mnt
内に存在することを確認する必要があります。
Jira:RHEL-2250[1]
Anaconda の bootupd
/ bootupctl
によるブートローダーのインストールおよび設定が、テクノロジープレビューとして利用可能になる
ostreecontainer
キックスタートコマンドが Anaconda でテクノロジープレビューとして利用可能になったため、このコマンドを使用して、OCI イメージにカプセル化された OSTree コミットからオペレーティングシステムをインストールできます。Anaconda は、キックスタートで明示的なブートローダー設定がなくても、コンテナーイメージに含まれる bootupd
/ bootupctl
ツールを使用して、ブートローダーのインストールおよび設定を自動的に調整します。
Jira:RHEL-17205[1]
bootc image builder
ツールはテクノロジープレビューとして利用可能になる
現在テクノロジープレビューとして利用可能な bootc image builder
ツールは、bootc
コンテナー入力から互換性のあるディスクイメージを簡単に作成してデプロイするためのコンテナーとして機能します。bootc image builder
を使用してコンテナーイメージを実行した後、必要なアーキテクチャーのイメージを生成できます。その後、生成されたイメージを仮想マシン、クラウド、またはサーバーにデプロイできます。新しい更新が必要になるたびに bootc image builder
を使用してコンテンツを再生成するのではなく、bootc を使用してイメージを簡単に更新できます。
Jira:RHELDOCS-17468[1]
新しい rhel9/bootc-image-builder
コンテナーイメージがテクノロジープレビューとして利用可能になる
RHEL のイメージモード用の rhel9/bootc-image-builder コンテナーイメージには、起動可能なコンテナーイメージ (rhel-bootc など) を QCOW2、AMI、VMDK、ISO などのさまざまなディスクイメージ形式に変換するイメージビルダーの最小バージョンが含まれています。
Jira:RHELDOCS-17733[1]
9.2. セキュリティー
gnutls
がテクノロジープレビューとして kTLS を使用するようになる
更新された gnutls
パッケージは、テクノロジープレビューとして、暗号化チャネルでのデータ転送を加速するためにカーネル TLS (kTLS) を使用できます。kTLS を有効にするには、modprobe
コマンドを使用して tls.ko
カーネルモジュールを追加し、次の内容を含むシステム全体の暗号化ポリシー用の新しい設定ファイル /etc/crypto-policies/local.d/gnutls-ktls.txt
を作成します。
[global] ktls = true
現在のバージョンは、TLS KeyUpdate
メッセージによるトラフィックキーの更新をサポートしていません。これは、AES-GCM 暗号スイートのセキュリティーに影響を与えることに注意してください。詳細は、RFC 7841 - TLS 1.3 ドキュメントを参照してください。
Bugzilla:2108532[1]
io_uring
インターフェイスがテクノロジープレビューとして利用可能
io_uring
は、新しく効果的な非同期 I/O インターフェイスであり、現在テクノロジープレビューとして利用可能です。デフォルトでは、この機能は無効にされています。このインターフェイスを有効にするには、kernel.io_uring_disabled
sysctl 変数を次のいずれかの値に設定します。
0
-
すべてのプロセスは通常どおり
io_uring
インスタンスを作成できます。 1
-
io_uring
の作成は、特権のないプロセスに対しては無効化されています。呼び出しプロセスにCAP_SYS_ADMIN
機能による特権が与えられていない限り、io_uring_setup
は-EPERM
エラーで失敗します。既存のio_uring
インスタンスは引き続き使用できます。 2
-
io_uring
の作成は、すべてのプロセスで無効化されています。io_uring_setup
は常に-EPERM
で失敗します。既存のio_uring
インスタンスは引き続き使用できます。これはデフォルト設定です。
この機能を使用するには、匿名 i ノードで mmap
システムコールを有効にするための SELinux ポリシーの更新バージョンも必要です。
io_uring
コマンドパススルーを使用すると、アプリケーションは nvme
などの基盤となるハードウェアにコマンドを直接発行できます。
Jira:RHEL-11792[1]
9.3. RHEL for Edge
テクノロジープレビューとして、FDO が SQL バックエンドからの Owner Voucher の保存とクエリーを提供するようになる
このテクノロジープレビューでは、SQL バックエンドから Owner Voucher を保存およびクエリーするために、FDO manufacturer-server
、onboarding-server
、および rendezvous-server
が利用できます。その結果、FDO サーバーのオプションで、認証情報やその他のパラメーターとともに SQL データストアを選択して、Owner Voucher を保存できるようになります。
Jira:RHELDOCS-17752[1]
9.4. シェルおよびコマンドラインツール
RHEL 9 でテクノロジープレビューとして利用可能な GIMP
GNU Image Manipulation Program (GIMP) 2.99.8 が、テクノロジープレビューとして RHEL 9 で利用できるようになりました。gimp
パッケージバージョン 2.99.8 は、改善された一連の改良を含むリリース前のバージョンですが、機能のセットが制限され、安定性の保証は保証されません。公式の GIMP 3 のリリース後すぐに、今回のリリース前のバージョンの更新として RHEL 9 に導入されます。
RHEL 9 では、RPM パッケージとして gimp
を簡単にインストールできます。
Bugzilla:2047161[1]
9.5. インフラストラクチャーサービス
TuneD 用のソケット API がテクノロジープレビューとして利用可能になる
UNIX ドメインソケットを通じて TuneD を制御するためのソケット API がテクノロジープレビューとして利用可能になりました。ソケット API は D-Bus API と 1 対 1 でマッピングされ、D-Bus が利用できない場合に代替通信方法を提供します。ソケット API を使用すると、TuneD デーモンを制御してパフォーマンスを最適化したり、さまざまなチューニングパラメーターの値を変更したりできます。ソケット API はデフォルトでは無効になっていますが、tuned-main.conf
ファイルで有効にできます。
9.6. ネットワーク
WireGuard VPN はテクノロジープレビューとして利用可能になる
Red Hat がサポートしていないテクノロジープレビューとして提供している WireGuard は、Linux カーネルで実行する高パフォーマンスの VPN ソリューションです。最新の暗号を使用し、その他の VPN ソリューションよりも簡単に設定できます。さらに、WireGuard のコードベースが小さくなり、攻撃の影響が減るため、セキュリティーが向上します。
詳細は Setting up a WireGuard VPN を参照してください。
Bugzilla:1613522[1]
kTLS がテクノロジープレビューとして利用可能になる
RHEL はカーネル Transport Layer Security (KTLS) をテクノロジープレビューとして提供します。kTLS は AES-GCM 暗号のカーネル内の対称暗号化または復号化アルゴリズムを使用して TLS レコードを処理します。また、kTLS には、この機能を提供するネットワークインターフェイスコントローラー (NIC) に TLS レコード暗号化をオフロードするためのインターフェイスが組み込まれています。
Bugzilla:1570255[1]
systemd-resolved
サービスがテクノロジープレビューとして利用可能になる
systemd-resolved
サービスは、ローカルアプリケーションに名前解決を提供します。このサービスは、DNS スタブリゾルバー、LLMNR (Link-Local Multicast Name Resolution)、およびマルチキャスト DNS リゾルバーとレスポンダーのキャッシュと検証を実装します。
systemd-resolved
は、サポートされていないテクノロジープレビューであることに注意してください。
PRP および HSR プロトコルがテクノロジープレビューとして利用可能になる
この更新では、次のプロトコルを提供する hsr
カーネルモジュールが追加されます。
- Parallel Redundancy Protocol (PRP)
- 高可用性 Seamless Redundancy (HSR)
IEC 62439-3 標準はこれらのプロトコルを定義しており、この機能を使用してイーサネットネットワークでゼロ損失冗長性を設定できます。
Bugzilla:2177256[1]
NetworkManager と Nmstate API は MACsec ハードウェアオフロードをサポートします
ハードウェアが MACsec ハードウェアオフロードをサポートしている場合は、NetworkManager と Nmstate API の両方を使用してこの機能を有効にできます。その結果、暗号化などの MACsec 操作を CPU からネットワークインターフェイスコントローラーにオフロードできるようになります。
この機能は、サポートされていないテクノロジープレビューであることに注意してください。
NetworkManager
で HSR および PRP インターフェイスを設定できます
高可用性 Seamless Redundancy (HSR) と Parallel Redundancy Protocol (PRP) は、単一のネットワークコンポーネントの障害に対してシームレスなフェイルオーバーを提供するネットワークプロトコルです。どちらのプロトコルもアプリケーション層に対して透過的です。すなわち、メインパスと冗長パス間の切り替えはユーザーが認識することなく非常に迅速に行われるため、ユーザーが通信の中断やデータの損失を経験することはありません。NetworkManager
サービスで nmcli
ユーティリティーと DBus メッセージシステムを使用して、HSR および PRP インターフェイスの有効化および設定を行うことができます。
NIC への IPsec カプセル化のオフロードがテクノロジープレビューとして利用可能になる
今回の更新で、IPsec パケットオフロード機能がカーネルに追加されました。以前は、暗号化をネットワークインターフェイスコントローラー (NIC) にオフロードすることしかできませんでした。今回の機能拡張により、カーネルは IPsec カプセル化プロセス全体を NIC にオフロードし、ワークロードを軽減できるようになりました。
IPsec カプセル化プロセスを NIC にオフロードすると、カーネルによるこのようなパケットの監視およびフィルタリング機能も低下することに注意してください。
Bugzilla:2178699[1]
RHEL のモデム用のネットワークドライバーはテクノロジープレビューとして利用可能
デバイスメーカーは、デフォルト設定として連邦通信委員会 (FCC) ロックをサポートしています。FCC は、モデムと通信するためのチャネルを WWAN ドライバーが提供する特定のシステムに、WWAN ドライバーをバインドするロックを提供します。メーカーは、モデム PCI ID に基づいて、ModemManager 用のロック解除ツールを Red Hat Enterprise Linux に統合します。ただし、WWAN ドライバーに互換性があり、機能している場合でも、事前にロックを解除していないとモデムは使用できないままになります。Red Hat Enterprise Linux は、機能が限定された次のモデム用ドライバーをテクノロジープレビューとして提供します。
- Qualcomm MHI WWAM MBIM - Telit FN990Axx
- Intel IPC over Shared Memory (IOSM) - Intel XMM 7360 LTE Advanced
- Mediatek t7xx (WWAN) - Fibocom FM350GL
- Intel IPC over Shared Memory (IOSM) - Fibocom L860GL modem
Jira:RHELDOCS-16760[1]、Jira:RHEL-6564、Bugzilla:2110561、Bugzilla:2123542、Bugzilla:2222914
Segment Routing over IPv6 (SRv6) はテクノロジープレビューとして利用可能
RHEL カーネルは、テクノロジープレビューとして Segment Routing over IPv6 (SRv6) を提供します。この機能を使用すると、エッジコンピューティングのトラフィックフローを最適化したり、データセンターのネットワークプログラマビリティーを向上したりできます。ただし、最も重要な使用例は、5G デプロイメントシナリオにおけるエンドツーエンド (E2E) ネットワークスライシングです。この領域では、SRv6 プロトコルは、特定のアプリケーションまたはサービスのネットワーク要件に対処するために、プログラム可能なカスタムネットワークスライスとリソース予約を提供します。同時に、このソリューションは単一目的のアプライアンスにデプロイでき、より小さい計算フットプリントのニーズを満たします。
Bugzilla:2186375[1]
kTLS がバージョン 6.3 にリベース
Kernel Transport Layer Security (KTLS) 機能はテクノロジープレビューです。RHEL 9.3 では、kTLS が 6.3 アップストリームバージョンにリベースされました。主な変更点は次のとおりです。
- TX デバイスオフロードによる 256 ビットキーのサポートを追加しました。
- さまざまなバグ修正を提供しました。
Bugzilla:2183538[1]
9.7. カーネル
Soft-iWARP ドライバーがテクノロジープレビューとして利用可能になる
Soft-iWARP(siw) は、Linux 用のソフトウェア、インターネットワイドエリア RDMA プロトコル (iWARP)、カーネルドライバーです。soft-iWARP は、TCP/IP ネットワークスタックで iWARP プロトコルスイートを実装します。このプロトコルスイートはソフトウェアで完全に実装されており、特定のリモートダイレクトメモリーアクセス (RDMA) ハードウェアを必要としません。soft-iWARP を使用すると、標準のイーサネットアダプターを備えたシステムが iWARP アダプターまたは他のシステムに接続でき、すでに Soft-iWARP がインストールされている別のシステムに接続できます。
Bugzilla:2023416[1]
rvu_af
、rvu_nicpf
、および rvu_nicvf
がテクノロジープレビューとして利用可能
次のカーネルモジュールは、Marvell OCTEON TX2 インフラストラクチャープロセッサーファミリーのテクノロジープレビューとして利用できます。
rvu_nicpf
- Marvell OcteonTX2 NIC 物理機能ドライバー
rvu_nicvf
- Marvell OcteonTX2 NIC 仮想機能ドライバー
rvu_nicvf
- Marvell OcteonTX2 RVU 管理機能ドライバー
Bugzilla:2040643[1]
python-drgn
がテクノロジープレビューとして利用可能になる
python-drgn
パッケージは、プログラマビリティーを重視した高度なデバッグユーティリティーを提供します。Python コマンドラインインターフェイスを使用して、ライブカーネルとカーネルダンプの両方をデバッグできます。さらに、python-drgn
は、デバッグタスクを自動化し、Linux カーネルの複雑な分析を実行するためのスクリプト機能を提供します。
Jira:RHEL-6973[1]
IAA 暗号ドライバーがテクノロジープレビューとして利用可能になりました
Intel® In-Memory Analytics Accelerator (Intel® IAA) は、プリミティブな分析機能とともに、非常にスループットの高い圧縮と展開を提供するハードウェアアクセラレーターです。
RHEL 9.4 では、圧縮および展開の操作を CPU からオフロードする iaa_crypto
ドライバーがテクノロジープレビューとして導入されました。このドライバーは、RFC 1951 に記載されている DEFLATE 圧縮標準と互換性のある圧縮および展開をサポートします。iaa_crypto
ドライバーは、高レベル圧縮デバイス (zswap
など) の下のレイヤーとして機能するように設計されています。
IAA 暗号ドライバーの詳細は、以下を参照してください。
Jira:RHEL-20145[1]
9.8. ファイルシステムおよびストレージ
DAX がテクノロジープレビューとして ext4 および XFS で利用可能になる
RHEL 9 では、DAX ファイルシステムがテクノロジープレビューとして提供されています。DAX は、アプリケーションが永続メモリーをそのアドレス空間に直接マップするための手段を提供します。DAX を使用するには、システムに何らかの形式の永続メモリー (通常は 1 つ以上の不揮発性デュアルインラインメモリーモジュール (NVDIMM) の形式) が必要であり、DAX 互換ファイルシステムを NVDIMM 上に作成する必要があります。)。また、ファイルシステムは dax
マウントオプションでマウントする必要があります。これにより、dax をマウントしたファイルシステムのファイルの mmap
が、アプリケーションのアドレス空間にストレージを直接マッピングされます。
Bugzilla:1995338[1]
NVMe-oF Discovery Service 機能がテクノロジープレビューとして利用可能になる
NVMexpress.org Technical Proposals (TP) 8013 および 8014 で定義されている NVMe-oF Discovery Service の機能は、テクノロジープレビューとして利用できます。これらの機能をプレビューするには、nvme-cli 2.0
パッケージを使用して、TP-8013 または TP-8014 を実装する NVMe-oF ターゲットデバイスにホストを割り当てます。TP-8013 および TP-8014 の詳細は、https://nvmexpress.org/specations/ Web サイトから NVM Express 2.0 認定 TP を参照してください。
Bugzilla:2021672[1]
NVMe-stas
パッケージがテクノロジープレビューとして利用可能になる
Linux の Central Discovery Controller (CDC) クライアントである nvme-stas
パッケージがテクノロジープレビューとして利用できるようになりました。これは、非同期イベント通知 (AEN)、自動化された NVMe サブシステム接続制御、エラー処理とレポート、および Automatic (zeroconf
) 手動設定を処理します。
このパッケージは、Storage Appliance Finder (stafd
) と Storage Appliance Connector (stacd
) の 2 つのデーモンで構成されています。
Bugzilla:1893841[1]
NVMe TP 8006 インバンド認証がテクノロジープレビューとして利用可能になる
Non-Volatile Memory Express (NVMe) の実装 NVMe over Fabrics (NVMe-oF) のインバンド認証である TP 8006 は、サポートされていないテクノロジープレビューとして利用できるようになりました。NVMe Technical Proposal 8006 で、この機能拡張で提供される NVMe-oF の DH-HMAC-CHAP
インバンド認証プロトコルが定義されています。
詳細は、nvme-connect(1)
の man ページの dhchap-secret
および dhchap-ctrl-secret
オプションの説明を参照してください。
Bugzilla:2027304[1]
NFS with TLS がテクノロジープレビューとして利用可能に
NFS Remote Procedure Call (RPC) トラフィックを Transport Layer Security (TLS) で保護する NFS 用の RFC 9289 の実装が、テクノロジープレビューとして利用できるようになりました。この機能は、RPC トラフィックに対して TLS を有効にして NFS のセキュリティーを強化し、クライアントとサーバー間の暗号化された通信を確保します。
Jira:RHEL-7936
9.9. コンパイラーおよび開発ツール
jmc-core
および owasp-java-encoder
がテクノロジープレビューとして利用可能
RHEL 9 は、AMD および Intel 64 ビットアーキテクチャー用のテクノロジープレビューとして、jmc-core
および owasp-java-encoder
パッケージとともに配布されます。
jmc-core
は、Java Development Kit (JDK) Mission Control のコア API を提供するライブラリーです。これには、JDK Flight Recording ファイルの解析および書き込み用のライブラリーや、Java Discovery Protocol (JDP) による Java Virtual Machine (JVM) 検出のライブラリーが含まれます。
owasp-java-encoder
パッケージは、Java の高パフォーマンスな低オーバーヘッドコンテキストエンコーダーのコレクションを提供します。
RHEL 9.2 以降、jmc-core
および owasp-java-encoder
は CodeReady Linux Builder (CRB) リポジトリーで使用できるため、明示的に有効にする必要があることに注意してください。詳細は、CodeReady Linux Builder 内でコンテンツを有効にして利用する方法 を参照してください。
libabigail
: 柔軟な配列変換の警告抑制がテクノロジープレビューとして利用可能になる
この更新により、バイナリーを比較するときに、次の抑制仕様を使用して、真のフレキシブル配列に変換された偽のフレキシブル配列に関連する警告を抑制できます。
[suppress_type] type_kind = struct has_size_change = true has_strict_flexible_array_data_member_conversion = true
Jira:RHEL-16629[1]
9.10. Identity Management
DNSSEC が IdM でテクノロジープレビューとして利用可能
統合 DNS のある Identity Management (IdM) サーバーは、DNS プロトコルのセキュリティーを強化する DNS に対する拡張セットである DNS Security Extensions (DNSSEC) を実装するようになりました。IdM サーバーでホストされる DNS ゾーンは、DNSSEC を使用して自動的に署名できます。暗号鍵は、自動的に生成およびローテートされます。
DNSSEC で DNS ゾーンを保護する場合は、以下のドキュメントを参照することが推奨されます。
統合 DNS のある IdM サーバーは、DNSSEC を使用して、他の DNS サーバーから取得した DNS 回答を検証することに注意してください。これが、推奨される命名方法に従って設定されていない DNS ゾーンの可用性に影響を与える可能性があります。
ACME がテクノロジープレビューとして利用可能
Automated Certificate Management Environment (ACME) サービスが、テクノロジープレビューとして Identity Management (IdM) で利用可能になりました。ACME は、自動化識別子の検証および証明書の発行に使用するプロトコルです。この目的は、証明書の有効期間を短縮し、証明書のライフサイクル管理での手動プロセスを回避することにより、セキュリティーを向上させることです。
RHEL では、ACME サービスは Red Hat Certificate System (RHCS) PKI ACME レスポンダーを使用します。RHCS ACME サブシステムは、IdM デプロイメントのすべての認証局 (CA) サーバーに自動的にデプロイされますが、管理者が有効にするまでリクエストに対応しません。RHCS は、ACME 証明書を発行する際に acmeIPAServerCert
プロファイルを使用します。発行された証明書の有効期間は 90 日です。ACME サービスの有効化または無効化は、IdM デプロイメント全体に影響します。
ACME は、すべてのサーバーが RHEL 8.4 以降を実行している IdM デプロイメントでのみ有効にすることが推奨されます。以前の RHEL バージョンには ACME サービスが含まれていないため、バージョンが混在するデプロイメントで問題が発生する可能性があります。たとえば、ACME のない CA サーバーは、異なる DNS サブジェクト代替名 (SAN) を使用しているため、クライアント接続が失敗する可能性があります。
現在、RHCS は期限切れの証明書を削除しません。ACME 証明書は 90 日後に期限切れになるため、期限切れの証明書が蓄積され、パフォーマンスに影響を及ぼす可能性があります。
IdM デプロイメント全体で ACME を有効にするには、
ipa-acme-manage enable
コマンドを使用します。# ipa-acme-manage enable The ipa-acme-manage command was successful
IdM デプロイメント全体で ACME を無効にするには、
ipa-acme-manage disable
コマンドを使用します。# ipa-acme-manage disable The ipa-acme-manage command was successful
ACME サービスがインストールされ、有効または無効であるかを確認するには、
ipa-acme-manage status
コマンドを使用します。# ipa-acme-manage status ACME is enabled The ipa-acme-manage command was successful
Bugzilla:2084181[1]
9.11. デスクトップ
64 ビット ARM アーキテクチャーの GNOME がテクノロジープレビューとして利用できるようになりました。
GNOME デスクトップ環境は、テクノロジープレビューとして 64 ビット ARM アーキテクチャーで利用できます。
VNC を使用して 64 ビット ARM サーバーのデスクトップセッションに接続できるようになりました。その結果、グラフィカルアプリケーションを使用してサーバーを管理できます。
64 ビット ARM では、限定されたグラフィカルアプリケーションのセットを使用できます。以下に例を示します。
- Firefox Web ブラウザー
-
Red Hat Subscription マネージャー (
subscription-manager-cockpit
) -
ファイアウォール設定 (
firewall-config
) -
ディスク使用状況アナライザー (
baobab
)
Firefox を使用して、サーバー上の Cockpit サービスに接続できます。
LibreOffice などの特定のアプリケーションは、コマンドラインインターフェイスのみを提供し、グラフィカルインターフェイスは無効になっています。
Jira:RHELPLAN-27394[1]
テクノロジープレビューとして利用可能な IBM Z アーキテクチャー用の GNOME
GNOME デスクトップ環境は、テクノロジープレビューとして IBM Z アーキテクチャーで利用できます。
VNC を使用して IBM Z サーバーのデスクトップセッションに接続できるようになりました。その結果、グラフィカルアプリケーションを使用してサーバーを管理できます。
IBM Z では、限定されたグラフィカルアプリケーションのセットを使用できます。たとえば、次のようになります。
- Firefox Web ブラウザー
-
Red Hat Subscription マネージャー (
subscription-manager-cockpit
) -
ファイアウォール設定 (
firewall-config
) -
ディスク使用状況アナライザー (
baobab
)
Firefox を使用して、サーバー上の Cockpit サービスに接続できます。
LibreOffice などの特定のアプリケーションは、コマンドラインインターフェイスのみを提供し、グラフィカルインターフェイスは無効になっています。
Jira:RHELPLAN-27737[1]
9.12. Web コンソール
RHEL Web コンソールで WireGuard 接続を管理できるようになりました
RHEL 9.4 以降では、RHEL Web コンソールを使用して WireGuard VPN 接続を作成および管理できます。なお、WireGuard テクノロジーとその Web コンソール統合は、どちらもサポート対象外のテクノロジープレビューです。
Jira:RHELDOCS-17520[1]
9.13. 仮想化
入れ子仮想マシンの作成
入れ子 KVM 仮想化は、RHEL 9 で Intel、AMD64、および IBM Z ホストで実行している KVM 仮想マシン用のテクノロジープレビューとして提供されます。この機能を使用すると、物理 RHEL 9 ホストで実行中の RHEL 7、RHEL 8、または RHEL 9 仮想マシンがハイパーバイザーとして機能し、独自の仮想マシンをホストできます。
Jira:RHELDOCS-17040[1]
KVM 仮想マシンの AMD SEV および SEV-ES
RHEL 9 は、テクノロジープレビューとして、KVM ハイパーバイザーを使用する AMD EPYC ホストマシンに、セキュア暗号化仮想化 (SEV) 機能を提供します。仮想マシンで有効になっている場合は、SEV が仮想マシンのメモリーを暗号化して、ホストから仮想マシンへのアクセスを防ぎます。これにより、仮想マシンのセキュリティーが向上します。
さらに、強化された SEV (Encrypted State) バージョンの SEV (SEV-ES) もテクノロジープレビューとして提供されます。SEV-ES は、仮想マシンの実行が停止すると、すべての CPU レジスターの内容を暗号化します。これにより、ホストが仮想マシンの CPU レジスターを変更したり、そこから情報を読み取ったりできなくなります。
SEV および SEV-ES は、第 2 世代の AMD EPYC CPU (コードネーム Rome) 以降のみで動作することに注意してください。また、RHEL 9 には SEV および SEV-ES の暗号化が含まれますが、SEV および SEV-ES のセキュリティー証明は含まれません。
Jira:RHELPLAN-65217[1]
RHEL ゲストのインテル TDX
テクノロジープレビューとして、Intel Trust Domain Extension (TDX) 機能が RHEL 9.2 以降のゲストオペレーティングシステムで使用できるようになりました。ホストシステムが TDX をサポートしている場合は、トラストドメイン (TD) と呼ばれる、ハードウェアから分離された RHEL 9 仮想マシン (VM) をデプロイできます。ただし、TDX は現在 kdump
では機能せず、TDX を有効にすると VM 上で kdump
が失敗することに注意してください。
Bugzilla:1955275[1]
RHEL の Unified Kernel Image がテクノロジープレビューとして利用可能になる
テクノロジープレビューとして、RHEL カーネルを仮想マシン (VM) の Unified Kernel Image (UKI) として入手できるようになりました。Unified Kernel Image は、カーネル、initramfs、およびカーネルコマンドラインを単一の署名付きバイナリーファイルに結合します。
UKI は、仮想化環境やクラウド環境、特に強力なセキュアブート機能が必要な機密 VM で使用できます。UKI は、RHEL 9 リポジトリーの kernel-uki-virt
パッケージとして利用できます。
現在、RHEL UKI は、UEFI ブート設定のみで使用できます。
Bugzilla:2142102[1]
Intel vGPU がテクノロジープレビューとして利用可能になる
テクノロジープレビューとして、物理 Intel GPU デバイスを、mediated devices
と呼ばれる複数の仮想デバイスに分割できるようになりました。この仲介デバイスは、仮想 GPU として複数の仮想マシンに割り当てることができます。これにより、この仮想マシンが、1 つの物理 Intel GPU のパフォーマンスを共有します。
この機能は非推奨となり、RHEL 9.3 リリースで完全に削除されたことに注意してください。
Jira:RHELDOCS-17050[1]
ARM 64 上の CPU クラスター
テクノロジープレビューとして、CPU トポロジーで複数の ARM 64 CPU クラスターを使用する KVM 仮想マシンを作成できるようになりました。
Jira:RHEL-7043[1]
Mellanox の Virtual Function による仮想マシンのライブマイグレーションがテクノロジープレビューとして利用可能になりました
テクノロジープレビューとして、Mellanox ネットワークデバイスの Virtual Function (VF) がアタッチされた仮想マシン (VM) のライブマイグレーションを利用できるようになりました。
現在、この機能は Mellanox CX-7 ネットワークデバイスでのみ利用できます。Mellanox CX-7 ネットワークデバイス上の VF は、ライブマイグレーションに必要な機能を追加する新しい mlx5_vfio_pci
ドライバーを使用します。この新しいドライバーは、libvirt
によって VF に自動的にバインドされます。
Jira:RHEL-13007[1]
9.14. クラウド環境の RHEL
RHEL がテクノロジープレビューとして Azure Confidential VM で利用可能になる
更新された RHEL カーネルを使用すると、RHEL 機密仮想マシン (VM) を Microsoft Azure 上でテクノロジープレビューとして作成して実行できるようになりました。新しく追加された Unified Kernel Image (UKI) により、暗号化された機密 VM イメージを Azure 上で起動できるようになりました。UKI は、RHEL 9 リポジトリーの kernel-uki-virt
パッケージとして利用できます。
現在、RHEL UKI は、UEFI ブート設定のみで使用できます。
Jira:RHELPLAN-139800[1]
9.15. コンテナー
podman-machine
コマンドはサポート対象外です。
仮想マシンを管理するための podman-machine
コマンドは、テクノロジープレビューとしてのみ利用可能です。代わりに、コマンドラインから直接 Podman を実行してください。
Jira:RHELDOCS-16861[1]
マルチアーキテクチャーイメージのビルドがテクノロジープレビューとして利用可能になりました
マルチアーキテクチャーコンテナーイメージの作成に使用できる podman farm build
コマンドが、テクノロジープレビューとして利用できます。
ファームとは、UNIX podman ソケットが実行されているマシンのグループです。ファーム内のノードには、さまざまなアーキテクチャーのさまざまなマシンが存在する場合があります。podman farm build
コマンドは、podman build --arch --platform
コマンドよりも高速です。
podman farm build
を使用して、次のアクションを実行できます。
- ファーム内のすべてのノードにイメージをビルドします。
- ノードをマニフェストリストにバンドルします。
-
すべてのファームノードで
podman build
コマンドを実行します。 -
--tag
オプションを使用して指定されたレジストリーにイメージをプッシュします。 - マニフェストリストをローカルに作成します。
マニフェストリストをレジストリーにプッシュします。
マニフェストリストには、ファーム内に存在するネイティブアーキテクチャータイプごとに 1 つのイメージが含まれます。
Jira:RHELPLAN-154436[1]
新しい rhel9/rhel-bootc
コンテナーイメージがテクノロジープレビューとして利用可能になる
rhel9/rhel-bootc
コンテナーイメージが、テクノロジープレビューとして Red Hat Container Registry で利用できるようになりました。RHEL のブート可能なコンテナーイメージを使用すると、コンテナーとまったく同じように、オペレーティングシステムを構築、テスト、およびデプロイできます。RHEL のブート可能コンテナーイメージは、機能拡張により、既存のアプリケーションの Universal Base Images (UBI) とは異なるものとなっています。すなわち、RHEL のブート可能コンテナーイメージには、カーネル、initrd、ブートローダー、ファームウェアなど、起動に必要な追加コンポーネントが含まれています。既存のコンテナーイメージに変更はありません。詳細は、Red Hat Ecosystem Catalog を参照してください。
Jira:RHELDOCS-17803[1]
composefs ファイルシステムがテクノロジープレビューとして利用可能になる
composefs 読み取り専用ファイルシステムが、テクノロジープレビューとして利用可能になりました。現在、これは一般的に bootc/ostree および podman プロジェクトでのみ使用されることを目的としています。composefs を使用すると、これらのプロジェクトを使用して、読み取り専用のイメージを作成して使用したり、イメージ間でファイルデータを共有したり、実行時にイメージを検証したりできます。その結果、完全に検証されたファイルシステムツリーがマウントされ、同一ファイルが適宜きめ細かく共有されるようになります。
Jira:RHEL-18157[1]
第10章 非推奨の機能
非推奨のデバイスは完全にサポートされています。つまり、非推奨のデバイスはテストおよび保守されています。デバイスが非推奨になっても、Red Hat Enterprise Linux 9 内でのサポート状況は変わりません。ただし、非推奨のデバイスは、次のメジャーバージョンのリリースではサポートされない可能性が高く、最新または今後のメジャーバージョンの新規 RHEL デプロイメントには推奨されません。
特定のメジャーリリースにおける非推奨機能の最新情報は、そのメジャーリリースの最新版のリリースノートを参照してください。サポート期間の詳細は、Red Hat Enterprise Linux のライフサイクル および Red Hat Enterprise Linux アプリケーションストリームのライフサイクル を参照してください。
パッケージが非推奨となり、使用の継続が推奨されない場合があります。特定の状況下では、製品からパッケージが削除されることがあります。その場合には、製品のドキュメントで、非推奨となったパッケージと同様、同一、またはより高度な機能を提供する最近のパッケージが指定され、詳しい推奨事項が記載されます。
RHEL 8 には存在するが RHEL 9 では 削除 された機能については、RHEL 9 を導入する際の考慮事項 を参照してください。
10.1. インストーラーおよびイメージの作成
非推奨のキックスタートコマンド
以下のキックスタートコマンドが非推奨になりました。
-
timezone --ntpservers
-
timezone --nontp
-
logging --level
-
%packages --excludeWeakdeps
-
%packages --instLangs
-
%Anaconda
-
pwpolicy
-
nvdimm
特定のオプションだけがリスト表示されている場合は、基本コマンドおよびその他のオプションは引き続き利用でき、非推奨ではないことに注意してください。キックスタートファイルで非推奨のコマンドを使用すると、ログに警告が出力されます。inst.ksstrict
起動オプションを使用して、非推奨のコマンド警告をエラーにすることもできます。
Bugzilla:1899167[1]
edge-commit
および edge-container
ブループリントのユーザーとグループのカスタマイズは非推奨になる
ブループリントでユーザーまたはグループのカスタマイズを指定することは、edge-commit
および edge-container
イメージタイプでは非推奨になりました。これは、イメージをアップグレードし、ブループリントでユーザーを再度指定しないと、ユーザーのカスタマイズが失われるためです。
既存の OSTree コミットのデプロイに使用されるブループリントでのユーザーまたはグループのカスタマイズの指定 (edge-raw-image
、edge-installer
、edge-simplified-installer
イメージタイプなど) は、引き続きサポートされることに注意してください。
initial-setup
パッケージが非推奨になる
initial-setup
パッケージは、Red Hat Enterprise Linux 9.3 で非推奨になり、次の RHEL メジャーリリースで削除される予定です。代わりに、グラフィカルユーザーインターフェイスの gnome-initial-setup
を使用します。
Jira:RHELDOCS-16393[1]
inst.geoloc
ブートオプションの provider_hostip
値と provider_fedora_geoip
値が非推奨になる
inst.geoloc=
ブートオプションの GeoIP API を指定した provider_hostip
値と provider_fedora_geoip
値が非推奨になる代わりに、geolocation_provider=URL
オプションを使用して、インストールプログラム設定ファイルに必要な位置情報を設定できます。inst.geoloc=0
オプションを使用して位置情報を無効にすることもできます。
グローバルホットキーを使用して Anaconda GUI からスクリーンショットをキャプチャーすることが非推奨になりました
以前は、ユーザーはグローバルホットキーを使用して Anaconda GUI のスクリーンショットをキャプチャーできました。つまり、ユーザーはインストール環境からスクリーンショットを手動で抽出し、任意の用途で使用することが可能でした。この機能は非推奨になりました。
Jira:RHELDOCS-17166[1]
Anaconda の組み込みヘルプが非推奨になる
Anaconda のインストール時に利用可能な、全 Anaconda ユーザーインターフェイスのスポークおよびハブの組み込みドキュメントは非推奨になりました。代わりに、Anaconda ユーザーインターフェイスは自己記述型になり、ユーザーは将来の RHEL メジャーリリースで公式の RHEL ドキュメント を参照できます。
Jira:RHELDOCS-17309[1]
NVDIMM デバイスのサポートが非推奨になる
以前は、インストールプログラムにより、インストール中に NVDIMM デバイスを再設定することができました。キックスタートおよび GUI インストール中の NVDIMM デバイスに対する当該サポートは非推奨になり、次の RHEL メジャーリリースで削除される予定です。セクターモードの NVDIMM デバイスは、インストールプログラムで引き続き表示され、使用可能です。
インストール環境でドライバー更新ディスクから更新されたドライバーをロードできない
インストールの初期 RAM ディスクから同じドライバーがすでにロードされている場合、ドライバー更新ディスクからの新しいバージョンのドライバーがロードされない可能性があります。そのため、ドライバーの最新バージョンをインストール環境に適用できません。
回避策として、modprobe.blacklist=
カーネルコマンドラインオプションを inst.dd
オプションと一緒に使用します。たとえば、ドライバー更新ディスクから virtio_blk
ドライバーの更新バージョンが確実にロードされるようにするには、modprobe.blacklist=virtio_blk
を使用し、通常の手順を続行してドライバー更新ディスクからドライバーを適用します。その結果、システムはドライバーの更新バージョンをロードし、それをインストール環境で使用できるようになります。
10.2. セキュリティー
SHA-1 は暗号化の目的で非推奨になる
暗号化を目的とした SHA-1 メッセージダイジェストの使用は、RHEL 9 では非推奨になりました。SHA-1 によって生成されたダイジェストは、ハッシュ衝突の検出に基づく多くの攻撃の成功例が記録化されているため、セキュアであるとは見なされません。RHEL コア暗号コンポーネントは、デフォルトで SHA-1 を使用して署名を作成しなくなりました。RHEL 9 のアプリケーションが更新され、セキュリティー関連のユースケースで SHA-1 が使用されないようになりました。
例外の中でも、HMAC-SHA1 メッセージ認証コードと Universal Unique Identifier (UUID) 値は、SHA-1 を使用して作成できます。これは、これらのユースケースが現在セキュリティーリスクをもたらさないためです。SHA-1 は、Kerberos や WPA-2 など、相互運用性および互換性に関する重要な懸念事項に関連する限られたケースでも使用できます。詳細は、RHEL 9 セキュリティーの強化ドキュメント の FIPS 140-3 に準拠していない暗号化を使用する RHEL アプリケーションのリスト を参照してください。
既存またはサードパーティーの暗号署名を検証するために SHA-1 を使用する必要がある場合は、次のコマンドを入力して有効にできます。
# update-crypto-policies --set DEFAULT:SHA1
または、システム全体の暗号化ポリシーを LEGACY
ポリシーに切り替えることもできます。LEGACY
は、セキュアではない他の多くのアルゴリズムも有効にすることに注意してください。
Jira:RHELPLAN-110763[1]
fapolicyd.rules
が非推奨になる
実行ルールの許可と拒否を含むファイルの /etc/fapolicyd/rules.d/
ディレクトリーは、/etc/fapolicyd/fapolicyd.rules
ファイルを置き換えます。fagenrules
スクリプトは、このディレクトリー内のすべてのコンポーネントルールファイルを /etc/fapolicyd/compiled.rules
ファイルにマージするようになりました。/etc/fapolicyd/fapolicyd.trust
のルールは引き続き fapolicyd
フレームワークによって処理されますが、下位互換性を確保するためのみに使用されます。
RHEL 9 で SCP が非推奨になる
SCP (Secure Copy Protocol) には既知のセキュリティー脆弱性があるため、非推奨となりました。SCP API は RHEL 9 ライフサイクルで引き続き利用できますが、システムセキュリティーが低下します。
-
scp
ユーティリティーでは、SCP はデフォルトで SSH ファイル転送プロトコル (SFTP) に置き換えられます。 - OpenSSH スイートは、RHEL 9 では SCP を使用しません。
-
libssh
ライブラリーで SCP が非推奨になりました。
Jira:RHELPLAN-99136[1]
OpenSSL では、FIPS モードでの RSA 暗号化にパディングが必要です。
OpenSSL は、FIPS モードでのパディングなしの RSA 暗号化をサポートしなくなりました。パディングを使用しない RSA 暗号化は一般的ではないため、ほとんど使用されません。RSA (RSASVE) によるキーのカプセル化はパディングを使用しませんが、引き続きサポートされていることに注意してください。
OpenSSL で Engines API が非推奨になる
OpenSSL 3.0 TLS ツールキットでは、Engines API が非推奨になりました。エンジンインターフェイスはプロバイダー API に置き換えられました。アプリケーションと既存のエンジンのプロバイダーへの移行が進行中です。非推奨の Engines API は、今後のメジャーリリースで削除される可能性があります。
Jira:RHELDOCS-17958[1]
openssl-pkcs11
が非推奨になる
非推奨になった OpenSSL エンジンのプロバイダー API への継続的な移行の一環として、pkcs11-provider
パッケージが openssl-pkcs11
パッケージ (engine_pkcs11
) を置き換えます。openssl-pkcs11
パッケージは非推奨になりました。openssl-pkcs11
パッケージは、今後のメジャーリリースで削除される可能性があります。
Jira:RHELDOCS-16716[1]
RHEL 8 および 9 OpenSSL 証明書および署名コンテナーが非推奨になる
Red Hat Ecosystem Catalog の ubi8/openssl
および ubi9/openssl
リポジトリーで利用可能な OpenSSL ポータブル証明書および署名コンテナーは、需要が低いため非推奨になりました。
Jira:RHELDOCS-17974[1]
SASL の Digest-MD5 が非推奨になる
SASL (Simple Authentication Security Layer) フレームワークの Digest-MD5 認証メカニズムは非推奨になり、将来バージョンのメジャーリリースでは cyrus-sasl
パッケージから削除される可能性あり
Bugzilla:1995600[1]
OpenSSL は、MD2、MD4、MDC2、Whirlpool、Blowfish、CAST、DES、IDEA、RC2、RC4、RC5、SEED、および PBKDF1 を非推奨にします。
OpenSSL プロジェクトは、セキュアではない、一般的ではない、またはその両方であるという理由で、一連の暗号アルゴリズムを非推奨にしました。Red Hat もそれらのアルゴリズムの使用を推奨せず、RHEL 9 では、新しいアルゴリズムを使用するために暗号化されたデータを移行するためにそれらを提供しています。ユーザーは、自分のシステムのセキュリティーのためにこれらのアルゴリズムに依存してはいけません。
アルゴリズム MD2、MD4、MDC2、Whirlpool、Blowfish、CAST、DES、IDEA、RC2、RC4、RC5、SEED、および PBKDF1 の実装は、OpenSSL のレガシープロバイダーに移行されました。
レガシープロバイダーをロードし、非推奨のアルゴリズムのサポートを有効にする方法については、/etc/pki/tls/openssl.cnf
設定ファイルを参照してください。
/etc/system-fips
が非推奨に
/etc/system-fips
ファイルで FIPS モードが削除されることを示すサポートにより、ファイルは今後の RHEL バージョンに含まれなくなります。FIPS モードで RHEL をインストールするには、システムのインストール時に fips=1
パラメーターをカーネルコマンドラインに追加します。fips-mode-setup --check
コマンドを使用して、RHEL が FIPS モードで動作しているかどうかを確認できます。
Jira:RHELPLAN-103232[1]
libcrypt.so.1
が非推奨に
libcrypt.so.1
ライブラリーは現在非推奨であり、RHEL の将来のバージョンで削除される可能性があります。
10.3. サブスクリプションの管理
subscription-manager register
の非推奨の --token
オプションは、2024 年 11 月末に機能しなくなります
subscription-manager register
コマンドの非推奨の --token=<TOKEN>
オプションは、2024 年 11 月末以降はサポート対象の認証方法ではなくなります。デフォルトのエンタイトルメントサーバー subscription.rhsm.redhat.com
では、トークンベースの認証が許可されなくなります。したがって、subscription-manager register --token=<TOKEN>
を使用すると、次のエラーメッセージが表示されて登録が失敗します。
Token authentication not supported by the entitlement server
システムを登録するには、サポート対象の他の認可方法を使用します。たとえば、subscription-manager register
コマンドにペアのオプション --username / --password
または --org / --activationkey
を含めます。
10.4. シェルおよびコマンドラインツール
dump
からの dump
ユーティリティーが非推奨になる
ファイルシステムのバックアップに使用される dump
ユーティリティーが非推奨になり、RHEL 9 では使用できなくなります。
RHEL 9 では、使用方法に基づいて、tar
、dd
、または bacula
のバックアップユーティリティーを使用することが推奨されています。これにより、ext2、ext3、および ext4 のファイルシステムで完全で安全なバックアップが提供されます。
dump
パッケージの restore
ユーティリティーは、RHEL 9 で引き続き利用可能で、サポートされており、restore
パッケージとして利用できます。
Bugzilla:1997366[1]
Bacula の SQLite データベースバックエンドが非推奨になる
Bacula バックアップシステムは、複数のデータベースバックエンド (PostgreSQL、MySQL、および SQLite) をサポートしていました。SQLite バックエンドに非推奨となり、RHEL の今後のリリースではサポートされなくなります。代わりに、他のバックエンド (PostgreSQL または MySQL) のいずれかに移行し、新しい展開では SQLite バックエンドを使用しないでください。
sysstat
パッケージの %vmeff
メトリクスが非推奨になる
ページ再利用効率を測定する sysstat
パッケージの %vmeff
メトリクスは、将来の RHEL メジャーバージョンではサポートされなくなります。sysstat
は、新しいカーネルバージョンで提供されるすべての関連する /proc/vmstat
値を解析しないため、sar -B
コマンドによって返される %vmeff
列の値は正しくありません。
/proc/vmstat
ファイルから %vmeff
値を手動で計算できます。詳細は、Why the sar(1)
tool reports %vmeff
values beyond 100 % in RHEL 8 and RHEL 9? を参照してください。
Jira:RHELDOCS-17015[1]
ReaR 設定ファイルでの TMPDIR
変数の設定が非推奨になる
export TMPDIR=…
などのステートメントを使用して、/etc/rear/local.conf
または /etc/rear/site.conf
ReaR 設定ファイルで TMPDIR
環境変数を設定することは非推奨となりました。
ReaR 一時ファイルのカスタムディレクトリーを指定するには、ReaR を実行する前にシェル環境で変数をエクスポートします。たとえば、export TMPDIR=…
ステートメントを実行してから、同じシェルセッションまたはスクリプトで rear
コマンドを実行します。
Jira:RHELDOCS-18049[1]
RHEL 9 で cgroupsv1
が非推奨になる
cgroups
は、プロセス追跡、システムリソースの割り当て、およびパーティション設定に使用されるカーネルサブシステムです。systemd サービスマネージャーは、cgroups v1
モードと cgroups v2
モードでの起動をサポートします。Red Hat Enterprise Linux 9 では、デフォルトのモードは v2
です。Red Hat Enterprise Linux 10 では、systemd は cgroups v1
モードでの起動をサポートせず、cgroups v2
モードのみが利用可能になります。
Jira:RHELDOCS-17545[1]
10.5. インフラストラクチャーサービス
クライアントサイドおよびサーバーサイドの DHCP パッケージがが非推奨になる
Internet Systems Consortium (ISC) は、2022 年末をもって ISC DHCP のメンテナンスを終了することを発表しました。そのため、Red Hat は、RHEL 9 でのクライアントサイドおよびサーバーサイドの DHCP パッケージの使用を非推奨とし、今後の RHEL メジャーバージョンでは配布しないことを決定しました。お客様は、dhcpcd
や ISC Kea
などの利用可能な代替手段への移行を準備する必要があります。
Jira:RHELDOCS-17135[1]
sendmail
、libotr
、mod_security
、spamassassin
パッケージが非推奨になる
以下のパッケージは RHEL 9 では非推奨となり、今後の RHEL メジャーバージョンでは配布されません。
- sendmail - Red Hat では、postfix メールデーモン (サポート対象) への移行を推奨しています。
- libotr
- mod_security
- spamassassin
Jira:RHEL-22385[1]
10.6. ネットワーク
RHEL 9 でネットワークチームが非推奨になる
teamd
サービスおよび libteam
ライブラリーは、Red Hat Enterprise Linux 9 では非推奨になり、次回のメジャーリリースでは削除される予定です。代替として、ネットワークチームの代わりにボンディングを設定します。
Red Hat は、機能が類似するボンディングとチームの機能を 2 つ管理しなくてもいいように、カーネルベースのボンディングに注力しています。ボンディングコードは、顧客の採用率が高く、堅牢で、活発なコミュニティー開発が行われています。その結果、ボンディングコードは拡張、更新されます。
ボンディングにチームを移行する方法は、Migrating a network team configuration to network bond を参照してください。
Bugzilla:1935544[1]
ifcfg
形式の NetworkManager 接続プロファイルが非推奨になりました
RHEL 9.0 以降では、ifcfg
形式の接続プロファイルは非推奨になりました。次の RHEL メジャーリリースでは、この形式のサポートが削除されます。ただし、RHEL 9 では、既存のプロファイルを変更すると、NetworkManager は引き続きこの形式で既存のプロファイル処理および更新します。
デフォルトでは、NetworkManager は接続プロファイルをキーファイル形式で /etc/NetworkManager/system-connections/
ディレクトリーに保存するようになりました。ifcfg
形式とは異なり、キーファイル形式は、NetworkManager が提供するすべての接続設定をサポートします。キーファイル形式とプロファイルの移行方法の詳細は、NetworkManager connection profiles in keyfile format を参照してください。
Bugzilla:1894877[1]
firewalld
の iptables
バックエンドが非推奨になりました
RHEL 9 では、iptables
フレームワークは非推奨になりました。結果として、iptables
バックエンドと、firewalld
の 直接インターフェイス
も非推奨になりました。直接インターフェイス
の代わりに、firewalld
のネイティブ機能を使用して、必要なルールを設定できます。
firewalld
のロックダウン機能が非推奨になりました
firewalld
のロックダウン機能は非推奨になりました。理由は、root
として実行中のプロセスが自身を許可リストに追加するのを防げないためです。ロックダウン機能は、今後の RHEL メジャーリリースで削除される可能性があります。
connection.master
、connection.slave-type
、connection.autoconnect-slaves
プロパティーが非推奨になりました
Red Hat では、意識的な言語の使用に取り組んでいます。この取り組みに関する詳細は、多様性を受け入れるオープンソースの強化 を参照してください。したがって、connection.master
、connection.slave-type
、connection.autoconnect-slaves
プロパティーの名前が変更されました。下位互換性を確保するために、古いプロパティー名を新しいプロパティー名にマップするエイリアスが作成されました。
-
connection.master
はconnection.controller
のエイリアスです -
connection.slave-type
はconnection.port-type
のエイリアスです -
connection.autoconnect-slaves
は、connection.autoconnect-ports
のエイリアスです
connection.master
、connection.slave-type
、および connection.autoconnect-slaves
エイリアスは非推奨となり、今後の RHEL バージョンでは削除されることに注意してください。
Jira:RHEL-17619[1]
PF_KEYv2
カーネル API が非推奨になりました
アプリケーションは、PV_KEYv2
および新しい netlink
API を使用して、カーネルの IPsec 実装を設定できます。PV_KEYv2
はアップストリームで積極的に保守されておらず、最新の暗号、オフロード、拡張シーケンス番号サポートなどの重要なセキュリティー機能が欠けています。その結果、RHEL 9.3 以降、PV_KEYv2
API は非推奨となり、次の RHEL メジャーリリースで削除される予定です。アプリケーションでこのカーネル API を使用する場合は、代替として最新の netlink
API を使用するように移行してください。
Jira:RHEL-1015[1]
10.7. カーネル
RHEL 9 で ATM カプセル化が非推奨になりました
非同期転送モード (ATM) カプセル化により、ATM アダプテーションレイヤー 5(AAL-5) のレイヤー 2(ポイントツーポイントプロトコル、イーサネット) またはレイヤー 3(IP) 接続が可能になります。Red Hat は、RHEL7 以降 ATMNIC ドライバーのサポートを提供していません。ATM 実装のサポートは RHEL 9 で廃止されています。これらのプロトコルは現在、ADSL テクノロジーをサポートし、メーカーによって段階的に廃止されているチップセットのみで使用されています。したがって、ATM カプセル化は Red Hat Enterprise Linux 9 では非推奨です。
詳細は、PPP Over AAL5、Multiprotocol Encapsulation over ATM Adaptation Layer 5、および Classical IP and ARP over ATM を参照してください。
kexec-tools
の kexec_load
システムコールが非推奨になりました
2 番目のカーネルをロードする kexec_load
システムコールは、将来の RHEL リリースではサポートされなくなります。kexec_file_load
システムコールは kexec_load
に代わるもので、現在はすべてのアーキテクチャーのデフォルトのシステムコールです。
詳細は、Is kexec_load supported in RHEL9? を参照してください。
Bugzilla:2113873[1]
RHEL 9 でネットワークチームが非推奨になる
teamd
サービスおよび libteam
ライブラリーは、Red Hat Enterprise Linux 9 では非推奨になり、次回のメジャーリリースでは削除される予定です。代替として、ネットワークチームの代わりにボンディングを設定します。
Red Hat は、機能が類似するボンディングとチームの機能を 2 つ管理しなくてもいいように、カーネルベースのボンディングに注力しています。ボンディングコードは、顧客の採用率が高く、堅牢で、活発なコミュニティー開発が行われています。その結果、ボンディングコードは拡張、更新されます。
ボンディングにチームを移行する方法は、Migrating a network team configuration to network bond を参照してください。
Bugzilla:2013884[1]
10.8. ファイルシステムおよびストレージ
lvm2-activation-generator
およびその生成されたサービスが RHEL 9.0 で削除される
lvm2-activation-generator
プログラムとその生成されたサービス lvm2-activation
、lvm2-activation-early
、および lvm2-activation-net
は、RHEL 9.0 で削除されています。サービスをアクティベートするために使用される lvm.conf event_activation
設定は機能しなくなりました。ボリュームグループを自動アクティブ化する唯一の方法は、イベントベースのアクティブ化です。
RHEL 9 で永続メモリー開発キット (pmdk
) とサポートライブラリーが非推奨になりました
pmdk
は、システム管理者とアプリケーション開発者の永続メモリーデバイスの管理とアクセスを簡素化するためのライブラリーとツールのコレクションです。pmdk
およびサポートライブラリーは、RHEL 9 で非推奨になりました。これには、-debuginfo
パッケージも含まれます。
pmdk
によって生成された以下の一覧のバイナリーパッケージ (nvml
ソースパッケージを含む) が非推奨になりました。
-
libpmem
-
libpmem-devel
-
libpmem-debug
-
libpmem2
-
libpmem2-devel
-
libpmem2-debug
-
libpmemblk
-
libpmemblk-devel
-
libpmemblk-debug
-
libpmemlog
-
libpmemlog-devel
-
libpmemlog-debug
-
libpmemobj
-
libpmemobj-devel
-
libpmemobj-debug
-
libpmempool
-
libpmempool-devel
-
libpmempool-debug
-
pmempool
-
daxio
-
pmreorder
-
pmdk-convert
-
libpmemobj++
-
libpmemobj++-devel
-
libpmemobj++-doc
Jira:RHELDOCS-16432[1]
md-linear
および md-faulty
モジュールが非推奨になりました
以下の MD RAID カーネルモジュールが非推奨となり、今後の RHEL メジャーリリースで削除される予定です。
-
CONFIG_MD_LINEAR
またはmd-linear
モジュールは、複数のドライブを連結して、単一のメンバーディスクがいっぱいになったときに、すべてのディスクがいっぱいになるまでデータが次のディスクに書き込まれるようにします。 -
読み取りまたは書き込みエラーを時々返すブロックデバイスをテストするための
CONFIG_MD_FAULTY
またはmd-faulty
モジュール。これは、テストに役立ちます。
Jira:RHEL-30730[1]
VDO sysfs
パラメーターが非推奨になりました
Virtual Data Optimizer (VDO) sysfs
パラメーターは非推奨となり、今後の RHEL メジャーリリースで削除される予定です。log_level
を除き、kvdo
モジュールのすべてのモジュールレベルの sysfs
パラメーターが削除されます。個々の dm-vdo
ターゲットでは、VDO に固有のすべての sysfs
パラメーターも削除されます。すべての DM ターゲットに共通するパラメーターには変更はありません。現在、削除されたモジュールレベルのパラメーターを更新することによって設定されている dm-vdo
ターゲットの設定値は、変更できなくなります。
dm-vdo
ターゲットの統計情報と設定値は、sysfs
経由ではアクセスできなくなります。しかし、これらの値は、dmsetup message stats
、dmsetup status
、および dmsetup table
の dmsetup コマンドを使用して引き続きアクセスできます。
10.9. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
libdb
が非推奨になりました
RHEL 8 および RHEL 9 は、現在、LGPLv2 ライセンスで配布される Berkeley DB (libdb
) バージョン 5.3.28 を提供しています。アップストリームの Berkeley DB バージョン 6 は、より厳しい AGPLv3 ライセンスで利用できます。
libdb
パッケージは、RHEL 9 で非推奨になり、将来バージョンの RHEL では利用できない可能性があります。
また、RHEL 9 では、libdb
から暗号アルゴリズムが削除され、RHEL 9 では複数の libdb
依存関係が削除されています。
libdb
のユーザーは、別の鍵値データベースに移行することが推奨されます。詳細は、ナレッジベースの記事 Available replacements for the deprecated Berkeley DB (libdb) in RHEL を参照してください。
Bugzilla:1927780[1]、Jira:RHELPLAN-80695、Bugzilla:1974657
10.10. コンパイラーおよび開発ツール
Go の FIPS モードの openssl
3.0 で、2048 より小さいサイズのキーが非推奨になりました
2048 ビットより小さい鍵サイズは openssl
3.0 で廃止され、Go の FIPS モードでは機能しなくなりました。
Go の FIPS モードで、一部の PKCS1
v1.5 モードが非推奨になりました
一部の PKCS1
v1.5 モードは、FIPS-140-3
で暗号化が承認されておらず、無効になっています。Go の FIPS モードでは機能しなくなります。
Bugzilla:2092016[1]
32 ビットパッケージが非推奨になりました
32 ビットの multilib パッケージに対するリンクは非推奨になりました。*.i686
パッケージは Red Hat Enterprise Linux 9 のライフサイクル期間中はサポートされ続けますが、RHEL の次のメジャーバージョンでは削除されます。
Jira:RHELDOCS-17917[1]
10.11. Identity Management
OpenDNSSec の SHA-1
が非推奨になりました
OpenDNSSec は、SHA-1
アルゴリズムを使用したデジタル署名および認証レコードのエクスポートに対応しています。SHA-1
アルゴリズムの使用に対応しなくなりました。RHEL 9 リリースでは、OpenDNSSec の SHA-1
が非推奨になり、今後のマイナーリリースで削除される可能性があります。また、OpenDNSSec のサポートは、Red Hat Identity Management との統合に限定されます。OpenDNSSec はスタンドアロンでは対応していません。
SSSD 暗黙的なファイルプロバイダードメインが、デフォルトで無効化される
/etc/shadow
などのローカルファイルからユーザー情報を取得し、/etc/groups
からのグループ情報をグループ化する SSSD 暗黙的 files
プロバイダードメインが、デフォルトで無効になりました。
SSSD を使用してローカルファイルからユーザーおよびグループ情報を取得するには、次のコマンドを実行します。
SSSD を設定します。以下のいずれかのオプションを選択します。
sssd.conf
設定ファイルでid_provider=files
を使用して、ローカルドメインを明示的に設定します。[domain/local] id_provider=files ...
sssd.conf
設定ファイルでenable_files_domain=true
を設定して、ファイル
プロバイダーを有効にします。[sssd] enable_files_domain = true
ネームサービススイッチを設定します。
# authselect enable-feature with-files-provider
Jira:RHELPLAN-100639[1]
SSSD files
プロバイダーが非推奨になりました
SSSD files
プロバイダーは Red Hat Enterprise Linux (RHEL) 9 で非推奨になりました。files
プロバイダーは、RHEL の将来のリリースから削除される可能性があります。
Jira:RHELPLAN-139805[1]
AD および IdM の enumeration
機能が非推奨になりました
enumeration
機能を使用すると、Active Directory (AD)、Identity Management (IdM)、および LDAP プロバイダーに対して、引数なしで getent passwd
または getent group
コマンドを使用することで、すべてのユーザーまたはグループをリスト表示できます。Red Hat Enterprise Linux (RHEL) 9 では、AD および IdM に対する enumeration
機能のサポートは廃止されました。RHEL 10 では、AD および IdM に対する enumeration
機能は削除されます。
libsss_simpleifp
サブパッケージが非推奨になりました
libsss_simpleifp.so
ライブラリーを提供する libsss_simpleifp
サブパッケージは、Red Hat Enterprise Linux (RHEL) 9 で非推奨になりました。libsss_simpleifp
サブパッケージは、RHEL の今後のリリースから削除される可能性があります。
Samba で SMB1 プロトコルが非推奨になりました
Samba 4.11 以降、安全でない Server Message Block バージョン 1 (SMB1) プロトコルは非推奨となり、今後のリリースでは削除される予定です。
セキュリティーを向上させるために、デフォルトでは、Samba サーバーおよびクライアントユーティリティーで SMB1 が無効になっています。
Jira:RHELDOCS-16612[1]
10.12. デスクトップ
GTK 2 が非推奨になりました
レガシー GTK 2 ツールキットと、以下の関連パッケージが非推奨になりました。
-
adwaita-gtk2-theme
-
gnome-common
-
gtk2
-
gtk2-immodules
-
hexchat
現在、他にも複数のパッケージが GTK 2 に依存しています。今後の RHEL メジャーリリースで非推奨パッケージへの依存が発生しないよう、これらは変更されます。
GTK 2 を使用するアプリケーションを維持する場合、Red Hat は、アプリケーションを GTK 4 に移植することを推奨します。
Jira:RHELPLAN-131882[1]
LibreOffice が非推奨になりました
LibreOffice RPM パッケージは非推奨となり、今後の RHEL メジャーリリースで削除される予定です。LibreOffice は、RHEL 7、8、および 9 のライフサイクル全体を通じて引き続き完全にサポートされます。
Red Hat は、RPM パッケージの代わりに、The Document Foundation が提供する次のいずれかのソースから LibreOffice をインストールすることを推奨します。
- Flathub リポジトリーの公式 Flatpak パッケージ: https://flathub.org/apps/org.libreoffice.LibreOffice
- 公式 RPM パッケージ: https://www.libreoffice.org/download/download-libreoffice/
Jira:RHELDOCS-16300[1]
10.13. グラフィックインフラストラクチャー
Motif が非推奨になりました
アップストリームの Motif コミュニティーでの開発は非アクティブであるため、Motif ウィジェットツールキットは RHEL で非推奨になりました。
開発バリアントおよびデバッグバリアントを含む、以下の Motif パッケージが非推奨になりました。
-
motif
-
openmotif
-
openmotif21
-
openmotif22
さらに、motif-static
パッケージが削除されました。
Red Hat は、GTK ツールキットを代替として使用することを推奨します。GTK は Motif と比較してメンテナンス性が高く、新機能を提供します。
Jira:RHELPLAN-98983[1]
10.14. Red Hat Enterprise Linux システムロール
mssql_ha_cluster_run_role
が非推奨になりました
mssql_ha_cluster_run_role
変数は非推奨になりました。代わりに、mssql_manage_ha_cluster
変数を使用します。
RHEL 9 ノードでチームを設定すると、network
システムロールが非推奨の警告を表示します
ネットワークチーミング機能は、RHEL 9 では非推奨になりました。その結果、RHEL 8 コントロールノードの network
RHEL システムロールを使用して RHEL 9 ノードでネットワークチームを設定すると、非推奨に関する警告が表示されます。
10.15. 仮想化
SHA1 ベースの署名を使用した SecureBoot イメージ検証が非推奨になりました
UEFI (PE/COFF) 実行ファイルでの SHA1 ベースの署名を使用した SecureBoot イメージ検証の実行は非推奨になりました。代わりに、Red Hat は、SHA2 アルゴリズムまたはそれ以降に基づく署名を使用することを推奨します。
Bugzilla:1935497[1]
仮想フロッピードライバーが非推奨になりました
仮想フロッピーディスクデバイスを制御する isa-fdc
ドライバーが非推奨になり、今後の RHEL ではサポートされなくなります。そのため、移行した仮想マシンとの前方互換性を確保するため、Red Hat では、RHEL 9 でホストされている仮想マシンでのフロッピーディスクデバイスの使用を推奨しません。
qcow2-v2 イメージ形式が非推奨になりました
RHEL 9 では、仮想ディスクイメージの qcow2-v2 形式が非推奨になり、将来バージョンの RHEL ではサポートされなくなります。また、RHEL 9 Image Builder は、qcow2-v2 形式のディスクイメージを作成できません。
Red Hat では、qcow2-v2 の代わりに、qcow2-v3 の使用を推奨しています。qcow2-v2 イメージを、それ以降の形式に変換する場合は、qemu-img amend
コマンドを使用します。
virt-manager が非推奨になりました
Virtual Machine Manager アプリケーション (virt-manager) は非推奨になっています。RHEL Web コンソール (Cockpit) は、後続のリリースで置き換えられる予定です。したがって、GUI で仮想化を管理する場合は、Web コンソールを使用することが推奨されます。ただし、virt-manager で利用可能な機能によっては、RHEL Web コンソールで利用できない場合があります。
Jira:RHELPLAN-10304[1]
libvirtd
が非推奨になりました
モノリシック libvirt
デーモン libvirtd
は、RHEL 9 で非推奨になり、RHEL の将来のメジャーリリースで削除される予定です。ハイパーバイザーで仮想化を管理するために libvirtd
を引き続き使用できることに注意してください。ただし、Red Hat では、新しく導入されたモジュラー libvirt
デーモンに切り替えることを推奨します。手順と詳細は、RHEL 9 の仮想化の設定と管理 に関するドキュメントを参照してください。
Jira:RHELPLAN-113995[1]
レガシー CPU モデルが非推奨になりました
かなりの数の CPU モデルが非推奨になり、RHEL の将来のメジャーリリースで仮想マシン (VM) での使用がサポートされなくなります。非推奨のモデルは次のとおりです。
- Intel の場合: Intel Xeon 55xx および 75xx プロセッサーファミリー (Nehalem とも呼ばれます) より前のモデル
- AMD の場合: AMD Opteron G4 より前のモデル
- IBM Z の場合: IBM z14 より前のモデル
VM が非推奨の CPU モデルを使用しているかどうかを確認するには、virsh dominfo
ユーティリティーを使用し、Message
セクションで次のような行を探します。
tainted: use of deprecated configuration settings deprecated configuration: CPU model 'i486'
RDMA ベースのライブマイグレーションが非推奨になりました
この更新により、リモートダイレクトメモリーアクセス (RDMA) を使用した実行中の仮想マシンの移行は非推奨になりました。その結果、rdma://
移行 URI を使用して RDMA 経由の移行を要求することは可能ですが、この機能は RHEL の将来のメジャーリリースではサポートされなくなります。
Jira:RHELPLAN-153267[1]
Intel vGPU 機能が削除される
以前は、テクノロジープレビューとして、物理 Intel GPU デバイスを、mediated devices
と呼ばれる複数の仮想デバイスに分割することができました。続いて、これらの仲介デバイスは、仮想 GPU として複数の仮想マシンに割り当てることができました。その結果、これらの仮想マシンは単一の物理 Intel GPU のパフォーマンスを共有しましたが、この機能と互換性があるのは一部の Intel GPU のみでした。
RHEL 9.3 以降、Intel vGPU 機能は完全に削除されました。
Bugzilla:2206599[1]
pmem デバイスパススルーが非推奨になりました
この更新により、不揮発性メモリーライブラリー (nvml
) パッケージは非推奨となり、RHEL の今後のメジャーバージョンでは削除される予定です。その結果、パッケージが削除された場合、永続メモリー (pmem
) デバイスを仮想マシンに渡すことができなくなります。揮発性メモリーまたはファイルでバックアップした、エミュレートされた NVDIMM デバイスは引き続き使用できますが、永続的に設定することはできない点に注意してください。
Windows Server 2012 または Windows 8 のゲストオペレーティングシステムとしての使用はサポート対象外
Microsoft が以下のバージョンの Windows のサポートを終了したため、Red Hat も今回の更新でこれらのバージョンをゲストオペレーティングシステムとして使用するサポートを終了しました。
- Windows 8
- Windows 8.1
- Windows Server 2012
- Windows Server 2012 R2
10.16. コンテナー
RHEL 7 ホストでの RHEL 9 コンテナーの実行がサポート対象外
RHEL 7 ホストでは、RHEL 9 コンテナーの実行に対応していません。正常に動作するかもしれませんが、保証されません。
詳細は、Red Hat Enterprise Linux Container Compatibility Matrix を参照してください。
Jira:RHELPLAN-100087[1]
Podman 内の SHA1 ハッシュアルゴリズムが非推奨になりました
ルートレスネットワーク namespace のファイル名を生成するために使用される SHA1 アルゴリズムは Podman ではサポートされなくなりました。したがって、Podman 4.1.1 以降に更新する前に起動されたルートレスコンテナーは、ネットワークに参加している場合は (slirp4netns
を使用するだけでなく) 再起動して、アップグレード後に起動したコンテナーに接続できるようにする必要があります。
Bugzilla:2069279[1]
rhel9/pause
が非推奨になりました
rhel9/pause
コンテナーイメージが非推奨になりました
CNI ネットワークスタックが非推奨になりました
Container Network Interface (CNI) ネットワークスタックは非推奨となり、RHEL の今後のマイナーリリースでは Podman から削除される予定です。以前は、コンテナーは DNS 経由のみで単一の Container Network Interface (CNI) プラグインに接続していました。Podman v.4.0 では、新しい Netavark ネットワークスタックが導入されました。Netavark ネットワークスタックは、Podman およびその他の Open Container Initiative (OCI) コンテナー管理アプリケーションとともに使用できます。Podman 用の Netavark ネットワークスタックは、高度な Docker 機能とも互換性があります。複数のネットワーク内のコンテナーは、それらのネットワークのいずれかにあるコンテナーにアクセスできます。
詳細は、CNI から Netavark へのネットワークスタックの切り替え を参照してください。
Jira:RHELDOCS-16756[1]
Inkscape および LibreOffice Flatpak イメージが非推奨になりました
テクノロジープレビューとして利用可能な rhel9/inkscape-flatpak
および rhel9/libreoffice-flatpak
Flatpak イメージは非推奨になりました。
Red Hat は、これらのイメージに代わる次の代替手段を推奨します。
-
rhel9/inkscape-flatpak
を置き換えるには、inkscape
RPM パッケージを使用します。 -
rhel9/libreoffice-flatpak
を置き換えるには、LibreOffice 非推奨化に関するリリースノート を参照してください。
Jira:RHELDOCS-17102[1]
ネットワーク名としての pasta
が非推奨になりました
ネットワーク名の値としての pasta
に関するサポートは非推奨になり、Podman の次のメジャーリリースであるバージョン 5.0 では使用できなくなります。pasta
というネットワーク名の値は、podman run --network
コマンドと podman create --network
コマンドを使用して、Podman 内に一意のネットワークモードを作成するために使用できます。
Jira:RHELDOCS-17038[1]
BoltDB データベースバックエンドが非推奨になりました
BoltDB データベースバックエンドは、RHEL 9.4 以降では非推奨です。RHEL の今後のバージョンでは、BoltDB データベースバックエンドが削除され、Podman では利用できなくなります。Podman の場合は、RHEL 9.4 以降ではデフォルトとなっている SQLite データベースバックエンドを使用してください。
Jira:RHELDOCS-17495[1]
CNI ネットワークスタックが非推奨になりました
Container Network Interface (CNI) ネットワークスタックは非推奨となり、今後のリリースでは削除される予定です。代わりに Netavark ネットワークスタックを使用してください。詳細は、CNI から Netavark へのネットワークスタックの切り替え を参照してください。
Jira:RHELDOCS-17518[1]
Podman v5.0 における今後の非推奨項目
RHEL 9.5 および RHEL 10.0 ベータ版でリリースされる予定の Podman v5.0 では、以下が非推奨になります。
- BoltDB データベースバックエンドは非推奨になります。新しい SQLite データベースバックエンドが利用可能になりました。
-
containers.conf
ファイルは読み取り専用になります。システム接続とファーム情報は、Podman によってのみ管理されるpodman.connections.json
ファイルに保存されます。Podman は、[engine.service_destinations]
や[farms]
セクションなどの古い設定オプションを引き続きサポートします。必要に応じて手動で接続またはファームを追加することはできますが、podman system connection rm
コマンドを使用してcontainers.conf
ファイルから接続を削除することはできません。
RHEL 10.0 ベータ版では以下の変更が予定されています。
-
pasta
ネットワークモードは、ルートレスコンテナーのデフォルトのネットワークモードになります。slirp4netns
ネットワークモードは非推奨となります。 - cgroupv1 は非推奨となります。
- CNI ネットワークスタックは非推奨となります。
Jira:RHELDOCS-17462[1]
rhel9/openssl
が非推奨になりました
rhel9/openssl
コンテナーイメージが非推奨になりました。
Jira:RHELDOCS-18106[1]
10.17. 非推奨のパッケージ
このセクションでは、非推奨となり、将来バージョンの Red Hat Enterprise Linux には含まれない可能性があるパッケージのリストを示します。
RHEL 8 と RHEL 9 との間でパッケージを変更する場合は、RHEL 9 の導入における考慮事項 ドキュメントの パッケージの変更 を参照してください。
非推奨パッケージのサポート状況は、RHEL 9 内でも変更されません。サポート期間の詳細は、Red Hat Enterprise Linux のライフサイクル および Red Hat Enterprise Linux アプリケーションストリームのライフサイクル を参照してください。
次のパッケージは RHEL 9 で非推奨になりました。
- aacraid
- adwaita-gtk2-theme
- af_key
- anaconda-user-help
- autocorr-af
- autocorr-bg
- autocorr-ca
- autocorr-cs
- autocorr-da
- autocorr-de
- autocorr-dsb
- autocorr-el
- autocorr-en
- autocorr-es
- autocorr-fa
- autocorr-fi
- autocorr-fr
- autocorr-ga
- autocorr-hr
- autocorr-hsb
- autocorr-hu
- autocorr-is
- autocorr-it
- autocorr-ja
- autocorr-ko
- autocorr-lb
- autocorr-lt
- autocorr-mn
- autocorr-nl
- autocorr-pl
- autocorr-pt
- autocorr-ro
- autocorr-ru
- autocorr-sk
- autocorr-sl
- autocorr-sr
- autocorr-sv
- autocorr-tr
- autocorr-vi
- autocorr-vro
- autocorr-zh
- cheese
- cheese-libs
- clutter
- clutter-gst3
- clutter-gtk
- cogl
- daxio
- dbus-glib
- dbus-glib-devel
- dhcp-client
- dhcp-common
- dhcp-relay
- dhcp-server
- enchant
- enchant-devel
- eog
- evolution
- evolution-bogofilter
- evolution-devel
- evolution-help
- evolution-langpacks
- evolution-mapi
- evolution-mapi-langpacks
- evolution-pst
- evolution-spamassassin
- festival
- festival-data
- festvox-slt-arctic-hts
- flite
- flite-devel
- firewire-core
- gedit
- gedit-plugin-bookmarks
- gedit-plugin-bracketcompletion
- gedit-plugin-codecomment
- gedit-plugin-colorpicker
- gedit-plugin-colorschemer
- gedit-plugin-commander
- gedit-plugin-drawspaces
- gedit-plugin-findinfiles
- gedit-plugin-joinlines
- gedit-plugin-multiedit
- gedit-plugin-sessionsaver
- gedit-plugin-smartspaces
- gedit-plugin-synctex
- gedit-plugin-terminal
- gedit-plugin-textsize
- gedit-plugin-translate
- gedit-plugin-wordcompletion
- gedit-plugins
- gedit-plugins-data
- ghostscript-x11
- gnome-common
- gnome-photos
- gnome-photos-tests
- gnome-screenshot
- gnome-themes-extra
- gtk2
- gtk2-devel
- gtk2-devel-docs
- gtk2-immodule-xim
- gtk2-immodules
- highcontrast-icon-theme
- inkscape
- inkscape-docs
- inkscape-view
- iptables-devel
- iptables-libs
- iptables-nft
- iptables-nft-services
- iptables-utils
- libdb
- libgdata
- libgdata-devel
- libpmem
- libpmem-debug
- libpmem-devel
- libpmem2
- libpmem2-debug
- libpmem2-devel
- libpmemblk
- libpmemblk-debug
- libpmemblk-devel
- libpmemlog
- libpmemlog-debug
- libpmemlog-devel
- libpmemobj
- libpmemobj-debug
- libpmemobj-devel
- libpmempool
- libpmempool-debug
- libpmempool-devel
- libreoffice
- libreoffice-base
- libreoffice-calc
- libreoffice-core
- libreoffice-data
- libreoffice-draw
- libreoffice-emailmerge
- libreoffice-filters
- libreoffice-gdb-debug-support
- libreoffice-graphicfilter
- libreoffice-gtk3
- libreoffice-help-ar
- libreoffice-help-bg
- libreoffice-help-bn
- libreoffice-help-ca
- libreoffice-help-cs
- libreoffice-help-da
- libreoffice-help-de
- libreoffice-help-dz
- libreoffice-help-el
- libreoffice-help-en
- libreoffice-help-eo
- libreoffice-help-es
- libreoffice-help-et
- libreoffice-help-eu
- libreoffice-help-fi
- libreoffice-help-fr
- libreoffice-help-gl
- libreoffice-help-gu
- libreoffice-help-he
- libreoffice-help-hi
- libreoffice-help-hr
- libreoffice-help-hu
- libreoffice-help-id
- libreoffice-help-it
- libreoffice-help-ja
- libreoffice-help-ko
- libreoffice-help-lt
- libreoffice-help-lv
- libreoffice-help-nb
- libreoffice-help-nl
- libreoffice-help-nn
- libreoffice-help-pl
- libreoffice-help-pt-BR
- libreoffice-help-pt-PT
- libreoffice-help-ro
- libreoffice-help-ru
- libreoffice-help-si
- libreoffice-help-sk
- libreoffice-help-sl
- libreoffice-help-sv
- libreoffice-help-ta
- libreoffice-help-tr
- libreoffice-help-uk
- libreoffice-help-zh-Hans
- libreoffice-help-zh-Hant
- libreoffice-impress
- libreoffice-langpack-af
- libreoffice-langpack-ar
- libreoffice-langpack-as
- libreoffice-langpack-bg
- libreoffice-langpack-bn
- libreoffice-langpack-br
- libreoffice-langpack-ca
- libreoffice-langpack-cs
- libreoffice-langpack-cy
- libreoffice-langpack-da
- libreoffice-langpack-de
- libreoffice-langpack-dz
- libreoffice-langpack-el
- libreoffice-langpack-en
- libreoffice-langpack-eo
- libreoffice-langpack-es
- libreoffice-langpack-et
- libreoffice-langpack-eu
- libreoffice-langpack-fa
- libreoffice-langpack-fi
- libreoffice-langpack-fr
- libreoffice-langpack-fy
- libreoffice-langpack-ga
- libreoffice-langpack-gl
- libreoffice-langpack-gu
- libreoffice-langpack-he
- libreoffice-langpack-hi
- libreoffice-langpack-hr
- libreoffice-langpack-hu
- libreoffice-langpack-id
- libreoffice-langpack-it
- libreoffice-langpack-ja
- libreoffice-langpack-kk
- libreoffice-langpack-kn
- libreoffice-langpack-ko
- libreoffice-langpack-lt
- libreoffice-langpack-lv
- libreoffice-langpack-mai
- libreoffice-langpack-ml
- libreoffice-langpack-mr
- libreoffice-langpack-nb
- libreoffice-langpack-nl
- libreoffice-langpack-nn
- libreoffice-langpack-nr
- libreoffice-langpack-nso
- libreoffice-langpack-or
- libreoffice-langpack-pa
- libreoffice-langpack-pl
- libreoffice-langpack-pt-BR
- libreoffice-langpack-pt-PT
- libreoffice-langpack-ro
- libreoffice-langpack-ru
- libreoffice-langpack-si
- libreoffice-langpack-sk
- libreoffice-langpack-sl
- libreoffice-langpack-sr
- libreoffice-langpack-ss
- libreoffice-langpack-st
- libreoffice-langpack-sv
- libreoffice-langpack-ta
- libreoffice-langpack-te
- libreoffice-langpack-th
- libreoffice-langpack-tn
- libreoffice-langpack-tr
- libreoffice-langpack-ts
- libreoffice-langpack-uk
- libreoffice-langpack-ve
- libreoffice-langpack-xh
- libreoffice-langpack-zh-Hans
- libreoffice-langpack-zh-Hant
- libreoffice-langpack-zu
- libreoffice-math
- libreoffice-ogltrans
- libreoffice-opensymbol-fonts
- libreoffice-pdfimport
- libreoffice-pyuno
- libreoffice-sdk
- libreoffice-sdk-doc
- libreoffice-ure
- libreoffice-ure-common
- libreoffice-wiki-publisher
- libreoffice-writer
- libreoffice-x11
- libreoffice-xsltfilter
- libreofficekit
- libsoup
- libsoup-devel
- libuser
- libuser-devel
- libwpe
- libwpe-devel
- mcpp
- mod_auth_mellon
- motif
- motif-devel
- pmdk-convert
- pmempool
- python3-pytz
- qla4xxx
- qt5
- qt5-assistant
- qt5-designer
- qt5-devel
- qt5-doctools
- qt5-linguist
- qt5-qdbusviewer
- qt5-qt3d
- qt5-qt3d-devel
- qt5-qt3d-doc
- qt5-qt3d-examples
- qt5-qtbase
- qt5-qtbase-common
- qt5-qtbase-devel
- qt5-qtbase-doc
- qt5-qtbase-examples
- qt5-qtbase-gui
- qt5-qtbase-mysql
- qt5-qtbase-odbc
- qt5-qtbase-postgresql
- qt5-qtbase-private-devel
- qt5-qtbase-static
- qt5-qtconnectivity
- qt5-qtconnectivity-devel
- qt5-qtconnectivity-doc
- qt5-qtconnectivity-examples
- qt5-qtdeclarative
- qt5-qtdeclarative-devel
- qt5-qtdeclarative-doc
- qt5-qtdeclarative-examples
- qt5-qtdeclarative-static
- qt5-qtdoc
- qt5-qtgraphicaleffects
- qt5-qtgraphicaleffects-doc
- qt5-qtimageformats
- qt5-qtimageformats-doc
- qt5-qtlocation
- qt5-qtlocation-devel
- qt5-qtlocation-doc
- qt5-qtlocation-examples
- qt5-qtmultimedia
- qt5-qtmultimedia-devel
- qt5-qtmultimedia-doc
- qt5-qtmultimedia-examples
- qt5-qtquickcontrols
- qt5-qtquickcontrols-doc
- qt5-qtquickcontrols-examples
- qt5-qtquickcontrols2
- qt5-qtquickcontrols2-devel
- qt5-qtquickcontrols2-doc
- qt5-qtquickcontrols2-examples
- qt5-qtscript
- qt5-qtscript-devel
- qt5-qtscript-doc
- qt5-qtscript-examples
- qt5-qtsensors
- qt5-qtsensors-devel
- qt5-qtsensors-doc
- qt5-qtsensors-examples
- qt5-qtserialbus
- qt5-qtserialbus-devel
- qt5-qtserialbus-doc
- qt5-qtserialbus-examples
- qt5-qtserialport
- qt5-qtserialport-devel
- qt5-qtserialport-doc
- qt5-qtserialport-examples
- qt5-qtsvg
- qt5-qtsvg-devel
- qt5-qtsvg-doc
- qt5-qtsvg-examples
- qt5-qttools
- qt5-qttools-common
- qt5-qttools-devel
- qt5-qttools-doc
- qt5-qttools-examples
- qt5-qttools-libs-designer
- qt5-qttools-libs-designercomponents
- qt5-qttools-libs-help
- qt5-qttools-static
- qt5-qttranslations
- qt5-qtwayland
- qt5-qtwayland-devel
- qt5-qtwayland-doc
- qt5-qtwayland-examples
- qt5-qtwebchannel
- qt5-qtwebchannel-devel
- qt5-qtwebchannel-doc
- qt5-qtwebchannel-examples
- qt5-qtwebsockets
- qt5-qtwebsockets-devel
- qt5-qtwebsockets-doc
- qt5-qtwebsockets-examples
- qt5-qtx11extras
- qt5-qtx11extras-devel
- qt5-qtx11extras-doc
- qt5-qtxmlpatterns
- qt5-qtxmlpatterns-devel
- qt5-qtxmlpatterns-doc
- qt5-qtxmlpatterns-examples
- qt5-rpm-macros
- qt5-srpm-macros
- team
- tigervnc
- tigervnc-icons
- tigervnc-license
- tigervnc-selinux
- tigervnc-server
- tigervnc-server-minimal
- tigervnc-server-module
- webkit2gtk3
- webkit2gtk3-devel
- webkit2gtk3-jsc
- webkit2gtk3-jsc-devel
- wpebackend-fdo
- wpebackend-fdo-devel
- xorg-x11-server-Xorg
- yp-tools
- ypbind
- ypserv
第11章 既知の問題
ここでは、Red Hat Enterprise Linux 9.4 の既知の問題について説明します。
11.1. インストーラーおよびイメージの作成
キックスタートコマンドの auth
および authconfig
で AppStream リポジトリーが必要になる
インストール中に、キックスタートコマンドの auth
および authconfig
で authselect-compat
パッケージが必要になります。auth
または authconfig
を使用したときに、このパッケージがないとインストールに失敗します。ただし、設計上、authselect-compat
パッケージは AppStream リポジトリーでのみ使用可能です。
この問題を回避するには、BaseOS リポジトリーおよび AppStream リポジトリーがインストールプログラムで利用できることを確認するか、インストール中にキックスタートコマンドの authselect
コマンドを使用します。
Bugzilla:1640697[1]
reboot --kexec
コマンドおよび inst.kexec
コマンドが、予測可能なシステム状態を提供しない
キックスタートコマンド reboot --kexec
またはカーネル起動パラメーター inst.kexec
で RHEL インストールを実行しても、システムの状態が完全な再起動と同じになるわけではありません。これにより、システムを再起動せずにインストール済みのシステムに切り替えると、予期しない結果が発生することがあります。
kexec
機能は非推奨になり、Red Hat Enterprise Linux の今後のリリースで削除されることに注意してください。
Bugzilla:1697896[1]
Anaconda がアプリケーションとして実行されているシステムでの予期しない SELinux ポリシー
Anaconda がすでにインストールされているシステムでアプリケーションとして実行されている場合 (たとえば、–image
anaconda オプションを使用してイメージファイルに別のインストールを実行する場合)、システムはインストール中に SELinux のタイプと属性を変更することを禁止されていません。そのため、SELinux ポリシーの特定の要素は、Anaconda が実行されているシステムで変更される可能性があります。
この問題を回避するには、実稼働システムで Anaconda を実行しないでください。代わりに、一時的な仮想マシンで Anaconda を実行して、実稼働システムの SELinux ポリシーを変更しないようにします。boot.iso
や dvd.iso
からのインストールなど、システムインストールプロセスの一部として anaconda を実行しても、この問題の影響は受けません。
サードパーティーのツールを使用して作成した USB からインストールを起動する際に、Local Media
のインストールソースが検出されない
サードパーティーのツールを使用して作成された USB から RHEL インストールを起動すると、インストールプログラムが Local Media
インストールソースを検出できません (Red Hat CDN のみが検出されます)。
この問題は、デフォルトの起動オプション int.stage2=
が iso9660
イメージ形式の検索を試みるためです。ただし、サードパーティーツールは、別の形式の ISO イメージを作成する可能性があります。
回避策として、以下のソリューションのいずれかを使用します。
-
インストールの起動時に
Tab
キーをクリックしてカーネルコマンドラインを編集し、起動オプションinst.stage2=
をinst.repo=
に変更します。 - Windows で起動可能な USB デバイスを作成するには、Fedora Media Writer を使用します。
- Rufus などのサードパーティーツールを使用して起動可能な USB デバイスを作成する場合は、最初に Linux システムで RHEL ISO イメージを再生成し、サードパーティーのツールを使用して起動可能な USB デバイスを作成します。
指定の回避策を実行する手順の詳細は、Installation media is not auto-detected during the installation of RHEL 8.3 を参照してください。
Bugzilla:1877697[1]
USB CD-ROM ドライブが Anaconda のインストールソースとして利用できない
USB CD-ROM ドライブがソースで、キックスタート ignoredisk --only-use=
コマンドを指定すると、インストールに失敗します。この場合、Anaconda はこのソースディスクを見つけ、使用できません。
この問題を回避するには、harddrive --partition=sdX --dir=/
コマンドを使用して USB CD-ROM ドライブからインストールします。その結果、インストールは失敗しなくなりました。
iso9660 ファイルシステムで、ハードドライブがパーティション分割されたインストールが失敗する
ハードドライブが iso9660
ファイルシステムでパーティションが設定されているシステムには、RHEL をインストールできません。これは、iso9660
ファイルシステムパーティションを含むハードディスクを無視するように設定されている、更新されたインストールコードが原因です。これは、RHEL が DVD を使用せずにインストールされている場合でも発生します。
この問題を回避するには、インストールの開始前に、キックスタートファイルに次のスクリプトを追加して、ディスクをフォーマットします。
メモ: 回避策を実行する前に、ディスクで利用可能なデータのバックアップを作成します。wipefs
は、ディスク内の全データをフォーマットします。
%pre
wipefs -a /dev/sda
%end
その結果、インストールでエラーが発生することなく、想定どおりに機能します。
Anaconda が管理者ユーザーアカウントの存在の確認に失敗する
グラフィカルユーザーインターフェイスを使用して RHEL をインストールしている場合に、管理者アカウントが作成されていると、Anaconda が確認に失敗します。その結果、管理者ユーザーアカウントがなくても、システムをインストールできてしまう可能性があります。
この問題を回避するには、管理者ユーザーアカウントを設定するか、root パスワードを設定して、root アカウントのロックを解除します。その結果、インストール済みシステムで管理タスクを実行できます。
新しい XFS 機能により、バージョン 5.10 よりも古いファームウェアを持つ PowerNV IBM POWER システムが起動しなくなる
PowerNV IBM POWER システムは、ファームウェアに Linux カーネルを使用し、GRUB の代わりに Petitboot を使用します。これにより、ファームウェアカーネルのマウント /boot
が発生し、Petitboot が GRUB 設定を読み取り、RHEL を起動します。
RHEL 9 カーネルでは、XFS ファイルシステムに bigtime=1
機能および inobtcount=1
機能が導入されています。これは、バージョン 5.10 よりも古いファームウェアのカーネルが理解できません。
この問題を回避するには、/boot
に別のファイルシステム (ext4 など) を使用できます。
Bugzilla:1997832[1]
rpm-ostree ペイロードをインストールすると、RHEL for Edge インストーラーイメージがマウントポイントの作成に失敗する
RHEL for Edge インストーラーイメージなどで使用される rpm-ostree
ペイロードをデプロイする場合、インストールプログラムがカスタムパーティションの一部のマウントポイントを適切に作成しません。その結果、インストールは以下のエラーで中止されます。
The command 'mount --bind /mnt/sysimage/data /mnt/sysroot/data' exited with the code 32.
この問題を回避するには、以下を実行します。
- 自動パーティション設定スキームを使用し、手動でマウントポイントを追加しないでください。
-
マウントポイントは、
/var
ディレクトリー内のみに手動で割り当てます。たとえば、/var/my-mount-point
や、/
、/boot
、/var
などの標準ディレクトリーです。
その結果、インストールプロセスは正常に終了します。
ネットワークに接続されているが、DHCP または静的 IP アドレスが設定されていない場合、NetworkManager はインストール後に起動に失敗する
RHEL 9.0 以降、特定の ip=
またはキックスタートネットワーク設定が設定されていない場合、Anaconda はネットワークデバイスを自動的にアクティブ化します。Anaconda は、イーサネットデバイスごとにデフォルトの永続的な設定ファイルを作成します。接続プロファイルには、ONBOOT
と autoconnect
の値が true
に設定されています。その結果、インストールされたシステムの起動中に、RHEL がネットワークデバイスをアクティブ化し、networkManager-wait-online
サービスが失敗します。
回避策として、以下のいずれかを実行します。
使用する 1 つの接続を除いて、
nmcli
ユーティリティーを使用してすべての接続を削除します。以下に例を示します。すべての接続プロファイルを一覧表示します。
# nmcli connection show
不要な接続プロファイルを削除します。
# nmcli connection delete <connection_name>
<connection_name> を、削除する接続の名前に置き換えます。
特定の
ip=
またはキックスタートネットワーク設定が設定されていない場合は、Anaconda の自動接続ネットワーク機能を無効にします。- Anaconda GUI で、Network & Hostname に移動します。
- 無効にするネットワークデバイスを選択します。
- Configure をクリックします。
- General タブで、Connect automatically with priority チェックボックスをオフにします。
- Save をクリックします。
Bugzilla:2115783[1]
キックスタートインストールでネットワーク接続の設定に失敗する
Anaconda は、NetworkManager API を通じてのみキックスタートネットワーク設定を実行します。Anaconda は、%pre
キックスタートセクションの後にネットワーク設定を処理します。その結果、キックスタート %pre
セクションの一部のタスクがブロックされます。たとえば、%pre
セクションからのパッケージのダウンロードは、ネットワーク設定が利用できないため失敗します。
この問題を回避するには、以下を実行します。
-
たとえば、
%pre
スクリプトの一部としてnmcli
ツールを使用して、ネットワークを設定します。 -
インストールプログラムのブートオプションを使用して、
%pre
スクリプトのネットワークを設定します。
その結果、%pre
セクションのタスクにネットワークを使用できるようになり、キックスタートインストールプロセスが完了します。
RHEL Image Builder を使用して rpm-ostree
イメージをビルドする場合、FIPS モードの有効化はサポート対象外
現在、RHEL Image Builder を使用して rpm-ostree
イメージをビルドするときに FIPS モードを有効にすることはサポートされていません。
stig
プロファイル修復でビルドされたイメージが FIPS エラーで起動に失敗する
FIPS モードは、RHEL Image Builder ではサポートされていません。xccdf_org.ssgproject.content_profile_stig
プロファイル修復でカスタマイズされた RHEL Image Builder を使用すると、システムは次のエラーで起動に失敗します。
Warning: /boot//.vmlinuz-<kernel version>.x86_64.hmac does not exist FATAL: FIPS integrity test failed Refusing to continue
/boot
ディレクトリーが別のパーティションにあるため、システムイメージのインストール後に fips-mode-setup --enable
コマンドを使用して FIPS ポリシーを手動で有効にしても機能しません。FIPS が無効になっている場合、システムは正常に起動します。現在、使用可能な回避策はありません。
イメージのインストール後に、fips-mode-setup --enable
コマンドを使用して、FIPS を手動で有効にすることができます。
ドライバーディスクメニューがコンソールでユーザー入力を表示できない
ドライバーディスクを使用して、カーネルコマンドラインで inst.dd
オプションを使用して RHEL インストールを開始すると、コンソールにユーザー入力が表示されません。そのため、アプリケーションがユーザー入力に応答せず、応答を停止しているように見えますが、出力は表示されます。これはユーザーにはわかりにくい動作です。ただし、この動作は機能に影響を与えず、Enter
を押すとユーザー入力が登録されます。
回避策として、予想される結果を確認するには、コンソールでユーザー入力が存在しないことを無視し、入力の追加が終了したら Enter
を押します。
%packages
セクションに systemd
サービスファイルを含むパッケージがないため、キックスタートインストールが失敗する
キックスタートファイルで services --enabled=…
ディレクティブを使用して systemd
サービスを有効にし、指定したサービスファイルを含むパッケージが %packages
セクションに含まれていない場合、RHEL のインストールプロセスは次のエラーで失敗します。
Error enabling service <name_of_the_service>
この問題を回避するには、キックスタートの %packages
セクションに、サービスファイルを含むパッケージを追加します。こうすることで、インストール中に期待されるサービスが有効になり、RHEL のインストールが完了します。
Jira:RHEL-9633[1]
bootc-image-builder
はプライベートレジストリーからのイメージの構築をサポートしていません
現在、bootc-image-builder
を使用してプライベートレジストリーから取得されるベースディスクイメージを構築することはできません。この問題を回避するには、プライベートレジストリーをローカルホストにコピーし、次の引数を使用してイメージをビルドします。
-
--local
-
localhost/<image name>:tag
as the image
たとえば、イメージをビルドするには、次のようにします。
sudo podman run \ --rm \ -it \ --privileged \ --pull=newer \ --security-opt label=type:unconfined_t \ -v ./config.toml:/config.toml \ -v ./output:/output \ -v /var/lib/containers/storage:/var/lib/containers/storage \ registry.redhat.io/rhel9/bootc-image-builder:latest --type qcow2 \ --local \ quay.io/<namespace>/<image>:<tag>
11.2. セキュリティー
OpenSSL は PKCS #11 トークンが raw RSA または RSA-PSS 署名の作成をサポートしているか検出しない
TLS 1.3 プロトコルには、RSA-PSS 署名のサポートが必要です。PKCS #11 トークンが生の RSA または RSA-PSS 署名をサポートしていない場合、キーが PKCS #11 トークンによって保持されている場合、OpenSSL ライブラリーを使用するサーバーアプリケーションは RSA キーを操作できません。これにより、上記のシナリオで TLS 通信に失敗します。
この問題を回避するには、利用可能な最高の TLS プロトコルバージョンとして TLS バージョン 1.2 を使用するようにサーバーとクライアントを設定します。
Bugzilla:1681178[1]
OpenSSL
が、生の RSA または RSA-PSS の署名に対応していない PKCS #11 トークンを誤って処理する
OpenSSL
ライブラリーは、PKCS #11 トークンの鍵関連の機能を検出しません。したがって、生の RSA または RSA-PSS の署名に対応しないトークンで署名が作成されると、TLS 接続の確立に失敗します。
この問題を回避するには、/etc/pki/tls/openssl.cnf
ファイルの crypto_policy
セクションの末尾にある .include
行の後に、以下の行を追加します。
SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384 MaxProtocol = TLSv1.2
これにより、このシナリオで TLS 接続を確立できます。
Bugzilla:1685470[1]
特定の構文を使用すると、scp
は自身にコピーされたファイルを空にする
scp
ユーティリティーが Secure copy protocol (SCP) からよりセキュアな SSH ファイル転送プロトコル (SFTP) に変更されました。したがって、ある場所からファイルを同じ場所にコピーすると、ファイルの内容が消去されます。この問題は以下の構文に影響します。
scp localhost:/myfile localhost:/myfile
この問題を回避するには、この構文を使用して、ソースの場所と同じ宛先にファイルをコピーしないでください。
この問題は、以下の構文に対して修正されました。
-
scp /myfile localhost:/myfile
-
scp localhost:~/myfile ~/myfile
OSCAP Anaconda アドオンは、グラフィカルインストールで調整されたプロファイルをフェッチしない
OSCAP Anaconda アドオンには、RHEL グラフィカルインストールでセキュリティープロファイルの調整を選択または選択解除するオプションがありません。RHEL 8.8 以降、アドオンはアーカイブまたは RPM パッケージからインストールするときにデフォルトで調整を考慮しません。その結果、インストールでは、OSCAP に合わせたプロファイルを取得する代わりに、次のエラーメッセージが表示されます。
There was an unexpected problem with the supplied content.
この問題を回避するには、キックスタートファイルの %addon org_fedora_oscap
セクションにパスを指定する必要があります。次に例を示します。
xccdf-path = /usr/share/xml/scap/sc_tailoring/ds-combined.xml tailoring-path = /usr/share/xml/scap/sc_tailoring/tailoring-xccdf.xml
その結果、OSCAP 調整プロファイルのグラフィカルインストールは、対応するキックスタート仕様のみで使用できます。
Ansible 修復には追加のコレクションが必要
ansible-core
パッケージによる Ansible Engine の置き換えにより、RHEL サブスクリプションで提供される Ansible モジュールのリストが削減されました。これにより、scap-security-guide
パッケージに含まれる Ansible コンテンツを使用する修復を実行するには、rhc-worker-playbook
パッケージからのコレクションが必要です。
Ansible 修復の場合は、以下の手順を実行します。
必要なパッケージをインストールします。
# dnf install -y ansible-core scap-security-guide rhc-worker-playbook
/usr/share/scap-security-guide/ansible
ディレクトリーに移動します。# cd /usr/share/scap-security-guide/ansible
追加の Ansible コレクションへのパスを定義する環境変数を使用して、関連する Ansible Playbook を実行します。
# ANSIBLE_COLLECTIONS_PATH=/usr/share/rhc-worker-playbook/ansible/collections/ansible_collections/ ansible-playbook -c local -i localhost, rhel9-playbook-cis_server_l1.yml
cis_server_l1
を、システムを修正するプロファイルの ID に置き換えます。
これにより、Ansible コンテンツは正しく処理されます。
rhc-worker-playbook
で提供されるコレクションのサポートは、scap-security-guide
から取得する Ansible コンテンツの有効化だけに限定されます。
Keylime は連結された PEM 証明書を受け入れない
Keylime が単一のファイルに連結された PEM 形式の複数の証明書として証明書チェーンを受信すると、keylime-agent-rust
Keylime コンポーネントは署名検証中に提供されたすべての証明書を正しく使用せず、TLS ハンドシェイクが失敗します。その結果、クライアントコンポーネント (keylime_verifier
および keylime_tenant
) は Keylime エージェントに接続できません。この問題を回避するには、複数の証明書ではなく 1 つの証明書だけを使用します。
Jira:RHELPLAN-157225[1]
Keylime は、ダイジェストがバックスラッシュで始まるランタイムポリシーを拒否する
ランタイムポリシーを生成する現在のスクリプト create_runtime_policy.sh
は、SHA チェックサム関数 (sha256sum
など) を使用してファイルダイジェストを計算します。ただし、入力ファイル名にバックスラッシュまたは \n
が含まれている場合、チェックサム関数は出力のダイジェストの前にバックスラッシュを追加します。このような場合、生成されたポリシーファイルの形式は不正になります。不正な形式のポリシーファイルが提供されると、Keylime テナントは、エラーメッセージ me.tenant - ERROR - Response code 400: Runtime policy is malformatted
(または同様のエラーメッセージ) を生成します。この問題を回避するには、sed -i 's/^\\//g' <malformed_file_name>
コマンドを入力して、不正な形式のポリシーファイルからバックスラッシュを手動で削除します。
Jira:RHEL-11867[1]
Keylime エージェントが更新後に verifier からのリクエストを拒否する
Keylime エージェント (keylime-agent-rust
) の API バージョン番号が更新されると、エージェントは別のバージョンを使用するリクエストを拒否します。その結果、Keylime エージェントが verifier に追加されて更新されると、verifier は古い API バージョンを使用してエージェントに接続しようとします。エージェントはこのリクエストを拒否し、認証に失敗します。この問題を回避するには、エージェント (keylime-agent-rust
) を更新する前に verifier (keylime-verifier
) を更新します。その結果、エージェントが更新されると、verifier は API の変更を検出し、それに応じて保存されているデータを更新します。
Jira:RHEL-1518[1]
trustdb
にファイルが見つからないため、fapolicyd
が拒否される
fapolicyd
が Ansible DISA STIG プロファイルとともにインストールされると、競合状態により trustdb
データベースが rpmdb
データベースと同期しなくなります。その結果、trustdb
内のファイルが見つからないと、システムで拒否が発生します。この問題を回避するには、fapolicyd
を再起動するか、Ansible DISA STIG プロファイルを再度実行します。
Jira:RHEL-24345[1]
fapolicyd
ユーティリティーは、変更されたファイルの実行を誤って許可する
正しくは、ファイルの IMA ハッシュはファイルに変更が加えられた後に更新され、fapolicyd
は変更されたファイルの実行を阻止する必要があります。ただし、IMA ポリシーのセットアップと evctml
ユーティリティーによるファイルハッシュの違いにより、これは起こりません。その結果、変更されたファイルの拡張属性で IMA ハッシュは更新されません。その結果、fapolicyd
は、変更されたファイルの実行を誤って許可します。
Jira:RHEL-520[1]
デフォルトの SELinux ポリシーにより、制限のない実行ファイルがスタックを実行可能にする
SELinux ポリシーの selinuxuser_execstack
ブール値のデフォルトの状態は on です。これは、制限のない実行ファイルがスタックを実行可能にすることを意味します。実行可能ファイルはこのオプションを使用しないでください。また、ハードコーディングされていない実行ファイルや攻撃の可能性を示している可能性があります。ただし、他のツール、パッケージ、およびサードパーティー製品との互換性のため、Red Hat はデフォルトポリシーのブール値を変更できません。そのような互換性の側面に依存しない場合は、コマンド setsebool -P selinuxuser_execstack off
を入力して、ローカルポリシーでブール値をオフにすることができます。
STIG プロファイルの SSH タイムアウトルールが誤ったオプションを設定する
OpenSSH の更新は、次の米国国防情報システム局のセキュリティー技術実装ガイド (DISA STIG) プロファイルのルールに影響を与えました。
-
RHEL 9 用 DISA STIG (
xccdf_org.ssgproject.content_profile_stig
) -
RHEL 9 用、GUI の DISA STIG (
xccdf_org.ssgproject.content_profile_stig_gui
)
これらの各プロファイルでは、次の 2 つのルールが影響を受けます。
Title: Set SSH Client Alive Count Max to zero CCE Identifier: CCE-90271-8 Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_keepalive_0 Title: Set SSH Idle Timeout Interval CCE Identifier: CCE-90811-1 Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout
SSH サーバーに適用すると、これらの各ルールは、以前のように動作しなくなったオプション (ClientAliveCountMax
および ClientAliveInterval
) を設定します。その結果、OpenSSH は、これらのルールで設定されたタイムアウトに達したときに、アイドル状態の SSH ユーザーを切断しなくなりました。回避策として、これらのルールは、ソリューションが開発されるまで、DISA STIG for RHEL 9 および DISA STIG with GUI for RHEL 9 プロファイルから一時的に削除されました。
GnuPG は crypto-policies
によって許可されていない場合でも、SHA-1 署名の使用を誤って許可する
GNU Privacy Guard (GnuPG) 暗号化ソフトウェアは、システム全体の暗号化ポリシーで定義されている設定に関係なく、SHA-1 アルゴリズムを使用する署名を作成および検証できます。したがって、DEFAULT
の暗号化ポリシーで暗号化の目的で SHA-1 を使用できます。これは、署名に対するこのセキュアではないアルゴリズムのシステム全体での非推奨とは一致しません。
この問題を回避するには、SHA-1 を含む GnuPG オプションを使用しないでください。これにより、セキュアでない SHA-1 署名を使用して GnuPG がデフォルトのシステムセキュリティーを下げるのを防ぎます。
OpenSCAP のメモリー消費の問題
メモリーが限られているシステムでは、OpenSCAP スキャナが途中で停止するか、結果ファイルが生成されない可能性があります。この問題を回避するには、スキャンプロファイルをカスタマイズして、/
ファイルシステム全体の再帰を含むルールの選択を解除します。
-
rpm_verify_hashes
-
rpm_verify_permissions
-
rpm_verify_ownership
-
file_permissions_unauthorized_world_writable
-
no_files_unowned_by_user
-
dir_perms_world_writable_system_owned
-
file_permissions_unauthorized_suid
-
file_permissions_unauthorized_sgid
-
file_permissions_ungroupowned
-
dir_perms_world_writable_sticky_bits
詳細とその他の回避策については、関連する ナレッジベースの記事 を参照してください。
キックスタートインストール時のサービス関連ルールの修正が失敗する場合がある
キックスタートインストール時に、OpenSCAP ユーティリティーで、サービスの enable
または disable
状態の修正は不要であると誤って表示されることがあります。その結果、OpenSCAP によって、インストール済みシステム上のサービスが非準拠状態に設定される可能性があります。回避策として、キックスタートインストール後にシステムをスキャンして修復できます。これにより、サービス関連の問題が修正されます。
Jira:RHELPLAN-44202[1]
CNSA 1.0 により FIPS:OSPP
ホストの相互運用性が影響を受ける
OSPP
サブポリシーは、Commercial National Security Algorithm (CNSA) 1.0 に準拠しています。これは、FIPS:OSPP
ポリシーとサブポリシーの組み合わせを使用するホストの相互運用性に影響します。主に影響を受ける点は次のとおりです。
- RSA キーの最小サイズは 3072 ビットとすることが必要です。
- アルゴリズムネゴシエーションでは、AES-128 暗号、secp256r1 楕円曲線、および FFDHE-2048 グループがサポートされなくなりました。
Jira:RHEL-2735[1]
SELinux ポリシーにルールがないため、SQL データベースへの権限がブロックされる
SELinux ポリシーの権限ルールが欠落していると、SQL データベースへの接続がブロックされます。その結果、FIDO Device Onboard (FDO) サービスの fdo-manufacturing-server.service
、fdo-owner-onboarding-server.service
、および fdo-rendezvous-server.service
が、PostgreSQL や SQLite などの FDO データベースに接続できません。したがって、システムは、所有権バウチャーの保存などの認証情報やその他のパラメーターにサポートされているデータベースを使用して FDO を起動することができません。
この問題を回避するには、次の手順に従います。
local_fdo_update.cil
という名前の新しいファイルを作成し、欠落している SELinux ポリシールールを入力します。(allow fdo_t etc_t (file (write))) (allow fdo_t fdo_conf_t (file (append create rename setattr unlink write ))) (allow fdo_t fdo_var_lib_t (dir (add_name remove_name write ))) (allow fdo_t fdo_var_lib_t (file (create setattr unlink write ))) (allow fdo_t krb5_keytab_t (dir (search))) (allow fdo_t postgresql_port_t (tcp_socket (name_connect))) (allow fdo_t sssd_t (unix_stream_socket (connectto))) (allow fdo_t sssd_var_run_t (sock_file (write)))
ポリシーモジュールパッケージをインストールします。
# semodule -i local_fdo_update.cil
これにより、FDO が PostgreSQL データベースに接続できるようになります。また、SQLite データベースファイルの想定される配置先である /var/lib/fdo/
の SQLite 権限に関連する問題も修正されます。
OpenSSH は認証前にタイムアウトを記録しなくなる
OpenSSH は、$IP port $PORT
の認証前のタイムアウトをログに記録しません。Fail2Ban 侵入防止デーモンや同様のシステムが、これらのログ記録を mdre-ddos
正規表現で使用し、このタイプの攻撃を試みるクライアントの IP を禁止しなくなったため、これは重要かもしれません。現在、この問題に対する既知の回避策はありません。
11.3. RHEL for Edge
open-vm-tools
パッケージは、edge-vsphere
イメージでは使用できない
現在、open-vm-tools
パッケージは、デフォルトでは edge-vsphere
イメージにインストールされていません。この問題を回避するには、ブループリントのカスタマイズにパッケージを追加します。edge-vsphere
イメージタイプを使用する場合は、RHEL for Edge Container イメージまたは RHEL for Edge Commit イメージのブループリントに open-vm-tools
を追加します。
Jira:RHELDOCS-16574[1]
11.4. ソフトウェア管理
インストールプロセスが応答しなくなることがある
RHEL をインストールすると、インストールプロセスが応答しなくなることがあります。/tmp/packaging.log
ファイルは、最後に以下のメッセージを表示します。
10:20:56,416 DDEBUG dnf: RPM transaction over.
この問題を回避するには、インストールプロセスを再起動します。
ローカルリポジトリーで createrepo_c
を実行すると、重複した repodata
ファイルが生成される
ローカルリポジトリーで createrepo_c
コマンドを実行すると、repodata
ファイルの重複コピーが生成されます。コピーの 1 つは圧縮されており、もう 1 つは圧縮されていません。回避策はありませんが、重複したファイルは無視しても問題ありません。createrepo_c
コマンドは、createrepo_c
を使用して作成されたリポジトリーに依存する要件と他のツールの違いにより、重複したコピーを生成します。
11.5. シェルおよびコマンドラインツール
ifcfg
ファイルを使用したネットワークインターフェイスの名前変更に失敗する
RHEL 9 では、initscripts
はデフォルトでインストールされません。その結果、ifcfg
ファイルを使用したネットワークインターフェイスの名前変更に失敗します。この問題を解決するには、udev
ルールを使用するか、ファイルをリンクしてインターフェイスの名前を変更することが推奨されます。詳細は、一貫したネットワークインターフェイスデバイスの命名 および systemd.link(5)
の man ページを参照してください。
推奨される方法のいずれも使用できない場合は、initscripts
パッケージをインストールします。
Bugzilla:2018112[1]
RHEL 9 では、chkconfig
パッケージがデフォルトでインストールされない
システムサービス用のランレベル情報を更新およびクエリーする chkconfig
パッケージは、RHEL 9 ではデフォルトでインストールされません。
サービスを管理するには、systemctl
コマンドを使用するか、chkconfig
パッケージを手動でインストールします。
systemd
の詳細は、systemd の概要 を参照してください。systemctl
ユーティリティーの使用方法については、systemctl を使用したシステムサービスの管理 を参照してください。
Bugzilla:2053598[1]
initscripts
パッケージがデフォルトでインストールされない
デフォルトでは、initscripts
パッケージはインストールされません。これにより、ifup
ユーティリティーおよび ifdown
ユーティリティーが利用できません。別の方法として、nmcli connection up
コマンドおよび nmcli connection down
コマンドを使用して、接続を有効および無効にします。提案された代替案がうまくいかない場合は、問題を報告し、NetworkManager-initscripts-updown
パッケージをインストールしてください。これは、ifup
および ifdown
ユーティリティー用の NetworkManager ソリューションを提供します。
コンソール keymap
を設定するには、最小限のインストールで libxkbcommon
ライブラリーが必要です。
RHEL 9 では、特定の systemd
ライブラリーの依存関係が動的リンクから動的ロードに変換され、システムが実行時にライブラリーを開いて使用できるようになりました。今回の変更により、必要なライブラリーをインストールしない限り、このようなライブラリーに依存する機能は使用できなくなります。これは、最小限のインストール設定を使用するシステムにおけるキーボードレイアウトの設定にも影響します。その結果、localectl --no-convert set-x11-keymap gb
コマンドに失敗します。
この問題を回避するには、libxkbcommon
ライブラリーをインストールします。
# dnf install libxkbcommon
sysstat
パッケージの %vmeff
メトリックに誤った値が表示される
sysstat
パッケージは、ページ再利用効率を測定するための %vmeff
メトリックを提供します。sysstat
は、新しいカーネルバージョンで提供されるすべての関連する /proc/vmstat
値を解析しないため、sar -B
コマンドによって返される %vmeff
列の値は正しくありません。この問題を回避するには、/proc/vmstat
ファイルから %vmeff
値を手動で計算します。詳細は、Why the sar(1)
tool reports %vmeff
values beyond 100 % in RHEL 8 and RHEL 9? を参照してください。
Service Location Protocol (SLP) は UDP を介した攻撃に対して脆弱である
OpenSLP は、プリンターやファイルサーバーなどのローカルエリアネットワーク内のアプリケーションに動的設定メカニズムを提供します。ただし、SLP は、インターネットに接続されたシステムで UDP を介した反射型/増幅型サービス拒否攻撃に対して脆弱です。SLP を使用すると、認証されていない攻撃者は、SLP 実装によって設定された制限なしで新しいサービスを登録できます。UDP を使用して送信元アドレスを偽装することにより、攻撃者はサービスリストを要求し、偽装されたアドレスにサービス拒否を作成できます。
外部の攻撃者が SLP サービスにアクセスできないようにするには、インターネットに直接接続されているなど、信頼できないネットワークで実行されているすべてのシステムで SLP を無効にします。または、この問題を回避するには、UDP および TCP ポート 427 でトラフィックをブロックまたはフィルタリングするようにファイアウォールを設定します。
Jira:RHEL-6995[1]
セキュアブートが有効になっている UEFI
システム上の ReaR レスキューイメージは、デフォルト設定では起動に失敗する
rear mkrescue
または rear mkbackup
コマンドを使用した ReaR イメージの作成が失敗し、次のメッセージが表示されます。
grub2-mkstandalone may fail to make a bootable EFI image of GRUB2 (no /usr/*/grub*/x86_64-efi/moddep.lst file) (...) grub2-mkstandalone: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
不足しているファイルは、grub2-efi-x64-modules
パッケージの一部です。このパッケージをインストールすると、エラーなしでレスキューイメージが正常に作成されます。UEFI
セキュアブートが有効になっている場合は、レスキューイメージは署名されていないブートローダーを使用するため起動できません。
この問題を回避するには、/etc/rear/local.conf
または /etc/rear/site.conf
ReaR 設定ファイルに次の変数を追加します。
UEFI_BOOTLOADER=/boot/efi/EFI/redhat/grubx64.efi SECURE_BOOT_BOOTLOADER=/boot/efi/EFI/redhat/shimx64.efi
提案された回避策を使用すると、grub2-efi-x64-modules
パッケージのないシステムでもイメージを正常に生成でき、セキュアブートが有効になっているシステムで起動できるようになります。さらに、システムのリカバリー中に、リカバリーされたシステムのブートローダーは EFI
shim ブートローダーに設定されます。
UEFI
、セキュアブート
、shim ブートローダー
の詳細は、ナレッジベースの記事 UEFI: what happens when booting the system を参照してください。
Jira:RHELDOCS-18064[1]
sar
および iostat
ユーティリティーによって生成された %util
列が無効
sar
または iostat
ユーティリティーを使用してシステム使用状況の統計情報を収集する場合、sar
または iostat
によって生成された %util
列に無効なデータが含まれることがあります。
Jira:RHEL-26275[1]
lsb-release
バイナリーは RHEL 9 では利用できない
/etc/os-release
の情報は、以前は lsb-release
バイナリーを呼び出すことで入手できました。このバイナリーは redhat-lsb package
に含まれていましたが、このパッケージは RHEL 9 では削除されました。現在は、/etc/os-release
ファイルを読み取ることで、オペレーティングシステムに関する情報 (ディストリビューション、バージョン、コード名、関連するメタデータなど) を表示できるようになりました。このファイルは Red Hat が提供しており、このファイルに対する変更は redhat-release
パッケージを更新するたびに上書きされます。ファイルの形式は KEY=VALUE
であり、シェルスクリプトのデータを安全に取得できます。
Jira:RHELDOCS-16427[1]
11.6. インフラストラクチャーサービス
bind
および unbound
の両方が SHA-1- ベースの署名の検証を無効化する
bind
および unbound
コンポーネントは、すべての RSA/SHA1 (アルゴリズム番号 5) および RSASHA1-NSEC3-SHA1 (アルゴリズム番号 7) 署名の検証サポートを無効にし、署名の SHA-1 使用は DEFAULT システム全体の暗号化ポリシーで制限されます。
その結果、SHA-1、RSA/SHA1、および RSASHA1-NSEC3-SHA1 ダイジェストアルゴリズムで署名された特定の DNSSEC レコードは、Red Hat Enterprise Linux 9 で検証できず、影響を受けるドメイン名が脆弱になります。
この問題を回避するには、RSA/SHA-256 や楕円曲線キーなどの別の署名アルゴリズムにアップグレードします。
影響を受け脆弱なトップレベルドメインの詳細とリストについては、RSASHA1 で署名された DNSSEC レコードがソリューションを検証できない を参照してください。
同じ書き込み可能ゾーンファイルが複数のゾーンで使用されていると、named
が起動しない
BIND では、複数のゾーンに同じ書き込み可能ゾーンファイルを使用することができません。そのため、named
で変更可能なファイルへのパスを共有するゾーンが複数存在すると、named
が起動できなくなります。この問題を回避するには、in-view
節を使用して、複数のビュー間で 1 つのゾーンを共有し、異なるゾーンに異なるパスを使用するようにします。たとえば、パスにビュー名を含めます。
書き込み可能なゾーンファイルは通常、動的更新が許可されたゾーン、セカンダリーゾーン、または DNSSEC が管理するゾーンで使用されることに注意してください。
libotr
は FIPS に準拠していない
libotr
ライブラリーとオフザレコード (OTR) メッセージング用のツールキットは、インスタントメッセージングの会話にエンドツーエンドの暗号化を提供します。ただし、libotr
ライブラリーは gcry_pk_sign()
および gcry_pk_verify()
関数を使用しているため、連邦情報処理標準 (FIPS) に準拠していません。その結果、FIPS モードでは libotr
ライブラリーを使用できません。
11.7. ネットワーク
kTLS は、TLS 1.3 の NIC へのオフロードをサポートしない
Kernel Transport Layer Security(kTLS) は、TLS 1.3 の NIC へのオフロードをサポートしていません。そのため、NIC が TLS オフロードをサポートしていても、TLS 1.3 によるソフトウェア暗号化が使用されます。この問題を回避するには、オフロードが必要な場合は TLS 1.3 を無効にしてください。その結果、TLS 1.2 のみをオフロードすることができます。TLS 1.3 が使用されている場合、TLS 1.3 をオフロードすることができないため、パフォーマンスが低下します。
Bugzilla:2000616[1]
セッションキーの更新に失敗すると、接続が切断される
カーネルトランスポートレイヤーセキュリティー (kTLS) プロトコルは、対称暗号で使用されるセッションキーの更新をサポートしていません。その結果、ユーザーはキーを更新することができず、接続が切断されてしまいます。この問題を回避するには、kTLS を無効にしてください。その結果、この回避策により、セッションキーを正常に更新できます。
Bugzilla:2013650[1]
11.8. カーネル
カーネルページサイズに依存する顧客アプリケーションは、ページサイズカーネルを 4k から 64k に移行するときに更新が必要になる場合がある
RHEL は、4k と 64k の両方のページサイズのカーネルと互換性があります。4K カーネルページサイズに依存する顧客アプリケーションは、4K から 64K ページサイズカーネルに移行するときに更新が必要になる場合があります。この既知の例には、jemalloc
および依存アプリケーションが含まれます。
jemalloc
メモリーアロケータライブラリーは、システムのランタイム環境で使用されるページサイズの影響を受けます。このライブラリーは、たとえば、--with-lg-page=16
または env JEMALLOC_SYS_WITH_LG_PAGE=16
(jemallocator
Rust クレートの場合) で設定されている場合、4k および 64k ページサイズのカーネルと互換性があるように構築できます。その結果、ランタイム環境のページサイズと、jemalloc
に依存するバイナリーのコンパイル時に存在したページサイズとの間に不一致が発生する可能性があります。その結果、jemalloc
ベースのアプリケーションを使用すると、次のエラーが発生します。
<jemalloc>: Unsupported system page size
この問題を回避するには、次のいずれかの方法を使用します。
- 適切なビルド設定または環境オプションを使用して、4k および 64k ページサイズと互換性のあるバイナリーを作成します。
-
最終的な 64k カーネルおよびランタイム環境で起動した後、
jemalloc
を使用するユーザー空間パッケージをビルドします。
たとえば、同じく jemalloc
を使用する fd-find
ツールを、cargo
Rust パッケージマネージャーを使用して構築できます。最後の 64k 環境では、cargo
コマンドを入力して、すべての依存関係の新しいビルドをトリガーし、ページサイズの不一致を解決します。
# cargo install fd-find --force
Bugzilla:2167783[1]
dnf
を使用して最新のリアルタイムカーネルにアップグレードしても、複数のカーネルバージョンは並行してインストールされない
dnf
パッケージマネージャーを使用して最新のリアルタイムカーネルをインストールするには、パッケージの依存関係を解決して、新しいカーネルバージョンと現在のカーネルバージョンを同時に保持する必要があります。デフォルトでは、dnf
は、アップグレード中に古い kernel-rt
パッケージを削除します。
回避策として、現在の kernel-rt
パッケージを /etc/yum.conf
設定ファイルの installonlypkgs
オプションに追加します (例: installonlypkgs=kernel-rt
)。
installonlypkgs
オプションは、dnf
で使用されるデフォルトのリストに kernel-rt
を追加します。installonlypkgs
ディレクティブにリストされているパッケージは自動的には削除されないため、複数のカーネルバージョンの同時インストールがサポートされます。
複数のカーネルをインストールすると、新しいカーネルバージョンを使用するときにフォールバックオプションを使用できるようになります。
Bugzilla:2181571[1]
デフォルトでは、Delay Accounting
機能は SWAPIN
および IO%
統計列を表示しない
初期のバージョンとは異なり、Delayed Accounting
機能はデフォルトで無効になっています。その結果、iotop
アプリケーションは SWAPIN
および IO%
統計列を表示せず、次の警告を表示します。
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO%
taskstats
インターフェイスを使用する Delay Accounting
機能は、スレッドグループに属するすべてのタスクまたはスレッドの遅延統計を提供します。タスク実行の遅延は、カーネルリソースが利用可能になるのを待つときに発生します。たとえば、空き CPU が実行されるのを待っているタスクです。統計は、タスクの CPU 優先度、I/O 優先度、および rss
制限値を適切に設定するのに役立ちます。
回避策として、実行時または起動時に、delayacct
ブートオプションを有効にすることができます。
実行時に
delayacct
を有効にするには、次のように入力します。echo 1 > /proc/sys/kernel/task_delayacct
このコマンドはシステム全体で機能を有効にしますが、このコマンドの実行後に開始したタスクに対してのみ有効であることに注意してください。
起動時に
delayacct
を永続的に有効にするには、次のいずれかの手順を使用します。/etc/sysctl.conf
ファイルを編集して、デフォルトのパラメーターをオーバーライドします。次のエントリーを
/etc/sysctl.conf
ファイルに追加します。kernel.task_delayacct = 1
詳細は、Red Hat Enterprise Linux で sysctl 変数を設定する方法 を参照してください。
- システムを再起動して、変更を反映させます。
カーネルコマンドラインに
delayacct
オプションを追加します。詳細は、カーネルコマンドラインパラメーターの設定 を参照してください。
その結果、iotop
アプリケーションは SWAPIN
および IO%
統計列を表示します。
Bugzilla:2132480[1]
コア数が多いシステム上のリアルタイムカーネルのハードウェア認定には、skew-tick=1
ブートパラメーターを渡すことが必要になる場合がある
多数のソケットとコアカウントが大きい大規模なシステムまたは中規模のシステムでは、タイムキーピングシステムで使用される xtime_lock
のロック競合により、レイテンシーの急増が発生する可能性があります。その結果、レイテンシーの急増およびハードウェア認証のレイテンシーは、マルチプロセッシングシステムで発生する可能性があります。回避策として、skew_tick=1
ブートパラメーターを追加することで、CPU ごとにタイマーティックをオフセットし、別のタイミングで開始できます。
ロックの競合を回避するには、skew_tick=1
を有効にします。
grubby
でskew_tick=1
パラメーターを有効にします。# grubby --update-kernel=ALL --args="skew_tick=1"
- 変更を有効にするために再起動します。
ブート中に渡すカーネルパラメーターを表示して、新しい設定を確認します。
cat /proc/cmdline
skew_tick=1
を有効にすると、消費電力が大幅に増加するため、レイテンシーの影響を受けるリアルタイムワークロードを実行している場合にのみ有効にする必要があります。
Jira:RHEL-9318[1]
kdump
メカニズムは、LUKS 暗号化ターゲットで vmcore
ファイルをキャプチャーできない
Linux Unified Key Setup (LUKS) で暗号化されたパーティションを使用するシステムで kdump
を実行する場合、システムには一定量の使用可能なメモリーが必要です。使用可能なメモリーが必要なメモリー量より少ない場合、systemd-cryptsetup
サービスはパーティションのマウントに失敗します。その結果、2 番目のカーネルは LUKS 暗号化ターゲット上のクラッシュダンプファイルのキャプチャーに失敗します。
回避策として、Recommended crashkernel value
をクエリーし、メモリーサイズを適切な値まで徐々に増やします。Recommended crashkernel value
は、必要なメモリーサイズを設定するための参考として役立ちます。
クラッシュカーネルの推定値を出力します。
# kdumpctl estimate
crashkernel
の値を増やして、必要なメモリー量を設定します。# grubby --args=crashkernel=652M --update-kernel=ALL
システムを再起動して、変更を反映させます。
# reboot
これにより、LUKS で暗号化したパーティションがあるシステムで kdump
が正常に機能します。
Jira:RHEL-11196[1]
kdump
サービスが IBM Z システムで initrd
ファイルの構築に失敗する
64 ビットの IBM Z システムでは、s390-
subchannels などの znet
関連の設定情報が非アクティブな NetworkManager
接続プロファイルに存在する場合、kdump
サービスは初期 RAM ディスク (initrd
) のロードに失敗します。その結果、kdump
メカニズムは次のエラーで失敗します。
dracut: Failed to set up znet kdump: mkdumprd: failed to make kdump initrd
回避策として、次のいずれかの解決策を使用してください。
znet
設定情報を持つ接続プロファイルを再利用して、ネットワークボンディングまたはブリッジを設定します。$ nmcli connection modify enc600 master bond0 slave-type bond
非アクティブな接続プロファイルからアクティブな接続プロファイルに
znet
設定情報をコピーします。nmcli
コマンドを実行して、NetworkManager
接続プロファイルを照会します。# nmcli connection show NAME UUID TYPE Device bridge-br0 ed391a43-bdea-4170-b8a2 bridge br0 bridge-slave-enc600 caf7f770-1e55-4126-a2f4 ethernet enc600 enc600 bc293b8d-ef1e-45f6-bad1 ethernet --
非アクティブな接続からの設定情報でアクティブなプロファイルを更新します。
#!/bin/bash inactive_connection=enc600 active_connection=bridge-slave-enc600 for name in nettype subchannels options; do field=802-3-ethernet.s390-$name val=$(nmcli --get-values "$field"connection show "$inactive_connection") nmcli connection modify "$active_connection" "$field" $val" done
変更を有効にするために
kdump
サービスを再起動します。# kdumpctl restart
iwl7260-firmware
により、Intel Wi-Fi 6 AX200、AX210、および Lenovo ThinkPad P1 Gen 4 で Wi-Fi が切断される
iwl7260-firmware
または iwl7260-wifi
ドライバーを RHEL 9.1 以降で提供されるバージョンに更新すると、ハードウェアが不正な内部状態になります。その状態を誤って報告します。その結果、Intel Wifi 6 カードが機能せず、次のエラーメッセージが表示される場合があります。
kernel: iwlwifi 0000:09:00.0: Failed to start RT ucode: -110 kernel: iwlwifi 0000:09:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms) kernel: iwlwifi 0000:09:00.0: Failed to run INIT ucode: -110
未確認の回避策は、システムの電源をオフにしてから再度オンにすることです。再起動しないでください。
Bugzilla:2129288[1]
kmod
の weak-modules
がモジュールの相互依存関係で機能しない
kmod
パッケージによって提供される weak-modules
スクリプトは、どのモジュールがインストールされたカーネルと kABI 互換であるかを判別します。しかし、weak-modules
は、モジュールのカーネル互換性をチェックする際に、モジュールシンボルの依存関係を、そのビルド対象のカーネルの新しいリリースから古いリリースの順に処理します。結果として、異なるカーネルリリースに対して構築された相互依存関係を持つモジュールは互換性がないと解釈される可能性があるため、weak-modules
はこのシナリオでは機能しません。
この問題を回避するには、新しいカーネルをインストールする前に、最新のストックカーネルに対して追加のモジュールをビルドまたは配置します。
Bugzilla:2103605[1]
Intel® i40e
アダプターが IBM Power10 で永続的に失敗する
IBM Power10 システムで i40e
アダプターに I/O エラーが発生すると、Enhanced I/O Error Handling (EEH) カーネルサービスがネットワークドライバーのリセットとリカバリーをトリガーします。 しかし、EEH は、i40e
ドライバーが事前定義された最大値に達して EEH が応答を停止するまで、I/O エラーを繰り返し報告します。その結果、デバイスは EEH によって永続的に失敗します。
Jira:RHEL-15404[1]
64 ビット ARM CPU で正しくコンパイルされたドライバーでのプログラム失敗に関して dkms
が誤った警告を出す
Dynamic Kernel Module Support (dkms
) ユーティリティーは、4 kB および 64 kB のページサイズのカーネルで 64 ビット ARM CPU のカーネルヘッダーが動作することを認識しません。その結果、dkms
は、カーネルの更新時に kernel-64k-devel
パッケージがインストールされていない場合、正しくコンパイルされたドライバーでプログラムが失敗した理由に関して誤った警告を出します。この問題を回避するには、kernel-headers
パッケージをインストールします。このパッケージは、両タイプの ARM CPU アーキテクチャー用のヘッダーファイルを含むもので、dkms
とその要件に特化したものではありません。
Jira:RHEL-25967[1]
11.9. ファイルシステムおよびストレージ
デバイスマッパーマルチパスは NVMe/TCP ではサポートされていません
nvme-tcp
ドライバーで Device Mapper Multipath を使用すると、コールトレースの警告とシステムの不安定性が発生する可能性があります。この問題を回避するには、NVMe/TCP ユーザーはネイティブ NVMe マルチパスを有効にする必要があり、NVMe で device-mapper-multipath
ツールを使用しないでください。
デフォルトでは、ネイティブ NVMe マルチパスは RHEL 9 で有効になっています。詳細は、Enabling multipathing on NVMe devices を参照してください。
Bugzilla:2033080[1]
blk-availability systemd
サービスは、複雑なデバイススタックを非アクティブ化する
systemd
では、デフォルトのブロック非アクティブ化コードは、仮想ブロックデバイスの複雑なスタックを常に正しく処理するとは限りません。一部の設定では、シャットダウン中に仮想デバイスが削除されない場合があり、エラーメッセージがログに記録されます。この問題を回避するには、次のコマンドを実行して、複雑なブロックデバイススタックを非アクティブ化します。
# systemctl enable --now blk-availability.service
その結果、複雑な仮想デバイススタックはシャットダウン中に正しく非アクティブ化され、エラーメッセージは生成されません。
Bugzilla:2011699[1]
クォータを有効にしてマウントされた XFS ファイルシステムでは、クォータアカウンティングを無効化できなくなる
RHEL 9.2 以降、クォータを有効にしてマウントされた XFS ファイルシステムで、クォータアカウンティングを無効にすることはできなくなりました。
この問題を回避するには、クォータオプションを削除してファイルシステムを再マウントし、クォータアカウンティングを無効にします。
Bugzilla:2160619[1]
NVMe デバイスの udev ルールの変更
NVMe デバイスの udev ルールに変更があり、OPTIONS="string_escape=replace"
パラメーターが追加されました。これにより、デバイスのシリアル番号の先頭に空白がある場合、一部のベンダーではディスク ID による名前が変更されます。
NVMe/FC デバイスはキックスタートファイルで確実には使用できない
NVMe/FC デバイスは、キックスタートファイルの解析中または事前スクリプトの実行中に利用できなくなる可能性があり、キックスタートインストールが失敗する可能性があります。この問題を回避するには、ブート引数を inst.wait_for_disks=30
に更新します。このオプションでは 30 秒の遅延が発生しますが、NVMe/FC デバイスの接続に十分な時間が確保されます。この回避策を適用し、NVMe/FC デバイスが時間内に接続されると、キックスタートインストールは問題なく続行します。
Jira:RHEL-8164[1]
qedi
ドライバー使用時のカーネルパニック
qedi
iSCSI ドライバーの使用中、OS の起動後にカーネルがパニックになります。この問題を回避するには、カーネルブートコマンドラインに kfence.sample_interval=0
を追加して、kfence
ランタイムメモリーエラー検出機能を無効にします。
Jira:RHEL-8466[1]
vdo
がインストールされている場合、ARM ベースのシステムが 64k ページサイズのカーネルで更新できない
vdo
パッケージのインストール時に、RHEL は kmod-kvdo
パッケージと 4k
ページサイズのカーネルを依存関係としてインストールします。その結果、kmod-kvdo
が 64k カーネルと競合するため、RHEL 9.3 から 9.x への更新が失敗します。この問題を回避するには、更新を試みる前に vdo
パッケージとその依存関係を削除します。
lldpad
が qedf
アダプターでも自動的に有効になる
QLogic Corp. の FastLinQ QL45000 Series 10/25/40/50GbE を使用すると、FCOE コントローラーが、Red Hat Virtualization を実行しているシステムで lldpad
デーモンを自動的に有効にします。その結果、I/O 操作はエラーで中断します (例: [qedf_eh_abort:xxxx]:1: Aborting io_req=ff5d85a9dcf3xxxx
)。
この問題を回避するには、Link Layer Discovery Protocol (LLDP) を無効にしてから、vdsm
設定レベルで設定可能なインターフェイスに対して有効にします。詳細は、https://access.redhat.com/solutions/6963195 を参照してください。
Jira:RHEL-8104[1]
iommu
が有効化されている場合はシステムが起動しない
BNX2I アダプターの使用中に AMD プラットフォームで Input-Output Memory Management Unit (IOMMU) を有効にすると、システムは Direct Memory Access Remapping (DMAR) タイムアウトエラーで起動に失敗します。この問題を回避するには、カーネルコマンドラインオプション iommu=off
を使用して、起動前に IOMMU を無効にします。その結果、システムはエラーなしで起動します。
Jira:RHEL-25730[1]
11.10. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
Git
で所有権が安全でない可能性のあるリポジトリーからのクローン作成や取得が失敗する
リモートコード実行を防ぎ、CVE-2024-32004 の影響を軽減するために、Git
でのローカルリポジトリーのクローン作成に対して、より厳格な所有権チェックが導入されました。RHSA-2024:4083 アドバイザリーで導入された更新により、所有権が安全でない可能性があるローカルリポジトリーが、Git
で不審なものとして扱われるようになりました。
その結果、ユーザーが git-daemon
を通じてローカルにホストされているリポジトリーからクローン作成を試行する際に、そのユーザーがリポジトリーの所有者でない場合、Git
が不審な所有権に関するセキュリティー警告を返し、リポジトリーからのクローン作成または取得が失敗するようになりました。
この問題を回避するには、次のコマンドを実行して、リポジトリーを明示的に安全としてマークします。
git config --global --add safe.directory /path/to/repository
Jira:RHELDOCS-18435[1]
python3.11-lxml
は lxml.isoschematron
サブモジュールを提供しない
python3.11-lxml
パッケージは、オープンソースライセンスの下にないため、lxml.isoschematron
サブモジュールなしで配布されます。サブモジュールは ISO Schematron サポートを実装します。代わりに、ISO-Schematron 前の検証を lxml.etree.Schematron
クラスで利用できます。python3.11-lxml
パッケージの残りのコンテンツは影響を受けません。
MySQL
および MariaDB
の --ssl-fips-mode
オプションでは FIPS モードが変更されない
MySQL
の --ssl-fips-mode
オプションと RHEL の MariaDB
は、アップストリームとは異なる動作をします。
RHEL 9 では、--ssl-fips-mode
を mysqld
デーモンまたは mariadbd
デーモンの引数として使用する場合や、MySQL
または MariaDB
サーバー設定ファイルに ssl-fips-mode
を使用すると、--ssl-fips-mode
はこれらのデータベースサーバーの FIPS モードを変更しません。
代わりに、以下のようになります。
-
--ssl-fips-mode
をON
に設定すると、mysqld
サーバーデーモンまたはmariadbd
サーバーデーモンは起動しません。 -
FIPS が有効なシステムで
--ssl-fips-mode
をOFF
に設定すると、mysqld
サーバーデーモンまたはmariadbd
サーバーデーモンは FIPS モードで稼働します。
これは、特定のコンポーネントではなく、RHEL システム全体で FIPS モードを有効または無効にする必要があるためです。
したがって、RHEL の MySQL
または MariaDB
では --ssl-fips-mode
オプションを使用しないでください。代わりに、FIPS モードが RHEL システム全体で有効になっていることを確認します。
- FIPS モードが有効な RHEL をインストールすることが推奨されます。インストール時に FIPS モードを有効にすると、システムは FIPS で承認されるアルゴリズムと継続的な監視テストですべての鍵を生成するようになります。FIPS モードで RHEL をインストールする方法は、FIPS モードでのシステムのインストール を参照してください。
- または、FIPS モードへのシステムの切り替え の手順に従って、RHEL システム全体の FIPS モードを切り替えることができます。
11.11. Identity Management
MIT Kerberos は PKINIT の ECC 証明書をサポートしません
MIT Kerberos は、初期認証 (PKINIT) の公開鍵暗号化における楕円曲線暗号化 (ECC) サポートの設計を説明するコメントドキュメントに、RFC5349 要求を実装していません。したがって、RHEL で使用される MIT krb5-pkinit
パッケージは ECC 証明書に対応していません。詳細は、Elliptic Curve Cryptography (ECC) Support for Public Key Cryptography for Initial Authentication in Kerberos (PKINIT) を参照してください。
PKINIT が AD KDC に対して機能するように、DEFAULT:SHA1 サブポリシーを RHEL 9 クライアントに設定する必要がある
SHA-1 ダイジェストアルゴリズムは RHEL 9 で非推奨になり、初期認証 (PKINIT) の公開鍵暗号化の CMS メッセージは、より強力な SHA-256 アルゴリズムで署名されるようになりました。
しかし、Active Directory (AD) Kerberos Distribution Center (KDC) は引き続き SHA-1 ダイジェストアルゴリズムを使用して CMS メッセージに署名します。その結果、RHEL 9 Kerberos クライアントは、AD KDC に対して PKINIT を使用してユーザーを認証できません。
この問題を回避するには、次のコマンドを使用して、RHEL 9 システムで SHA-1 アルゴリズムのサポートを有効にします。
# update-crypto-policies --set DEFAULT:SHA1
RHEL 9 Kerberos エージェントが RHEL-9 以外および AD 以外の Kerberos エージェントと通信すると、ユーザーの PKINIT 認証に失敗する
クライアントまたは Kerberos Distribution Center (KDC) のいずれかの RHEL 9 Kerberos エージェントが、Active Directory (AD) エージェントではない RHEL-9 Kerberos エージェントとやりとりすると、ユーザーの PKINIT 認証に失敗します。この問題を回避するには、以下のいずれかのアクションを実行します。
RHEL 9 エージェントの crypto-policy を
DEFAULT:SHA1
に設定して、SHA-1 署名の検証を許可します。# update-crypto-policies --set DEFAULT:SHA1
RHEL 9 以外および AD 以外のエージェントを更新して、SHA-1 アルゴリズムを使用して CMS データを署名しないようにします。そのためには、Kerberos パッケージを SHA-1 の代わりに SHA-256 を使用するバージョンに更新します。
- CentOS 9 Stream: krb5-1.19.1-15
- RHEL 8.7: krb5-1.18.2-17
- RHEL 7.9: krb5-1.15.1-53
- Fedora Rawhide/36: krb5-1.19.2-7
- Fedora 35/34: krb5-1.19.2-3
その結果、ユーザーの PKINIT 認証が正しく機能します。
他のオペレーティングシステムでは、エージェントが SHA-1 ではなく SHA-256 で CMS データを署名するように krb5-1.20 リリースであることに注意してください。
PKINIT が AD KDC に対して機能するように、DEFAULT:SHA1 サブポリシーを RHEL 9 クライアントに設定する必要があるも併せて参照してください。
AD 信頼の FIPS サポートには、AD-SUPPORT 暗号サブポリシーが必要
Active Directory (AD) は、AES SHA-1 HMAC 暗号化タイプを使用します。これは、デフォルトで RHEL 9 の FIPS モードでは許可されていません。AD 信頼を使用する RHEL 9 IdM ホストを使用する場合は、IdM ソフトウェアをインストールする前に、AES SHA-1 HMAC 暗号化タイプのサポートを有効にしてください。
FIPS 準拠は技術的合意と組織的合意の両方を伴うプロセスであるため、AD-SUPPORT
サブポリシーを有効にして技術的手段が AES SHA-1 HMAC 暗号化タイプをサポートできるようにする前に、FIPS 監査人に相談してから、RHEL IdM をインストールしてください。
# update-crypto-policies --set FIPS:AD-SUPPORT
Heimdal クライアントは、RHEL 9 KDC に対して PKINIT を使用してユーザーを認証できない
デフォルトでは、Heimdal Kerberos クライアントは、Internet Key Exchange (IKE) に Modular Exponential (MODP) Diffie-Hellman Group 2 を使用して、IdM ユーザーの PKINIT 認証を開始します。ただし、RHEL 9 の MIT Kerberos Distribution Center (KDC) は、MODP Group 14 および 16 のみに対応しています。
したがって、Heimdal クライアントで krb5_get_init_creds: PREAUTH_FAILED
エラーが発生し、RHEL MIT KDC では Key parameters not accepted
が発生します。
この問題を回避するには、Heimdal クライアントが MODP Group 14 を使用していることを確認してください。クライアント設定ファイルの libdefaults
セクションで pkinit_dh_min_bits
パラメーターを 1759 に設定します。
[libdefaults] pkinit_dh_min_bits = 1759
その結果、Heimdal クライアントは、RHEL MIT KDC に対する PKINIT 事前認証を完了します。
FIPS モードの IdM は、双方向のフォレスト間信頼を確立するための NTLMSSP プロトコルの使用をサポートしない
FIPS モードが有効な Active Directory (AD) と Identity Management (IdM) との間で双方向のフォレスト間の信頼を確立すると、New Technology LAN Manager Security Support Provider (NTLMSSP) 認証が FIPS に準拠していないため、失敗します。FIPS モードの IdM は、認証の試行時に AD ドメインコントローラーが使用する RC4 NTLM ハッシュを受け入れません。
Jira:RHEL-12154[1]
SID のないユーザーは、アップグレード後に IdM にログインできない
IdM レプリカを RHEL 9.2 にアップグレードした後、IdM Kerberos Distribution Center (KDC) は、アカウントにセキュリティー識別子 (SID) が割り当てられていないユーザーに Ticket-Granting Ticket (TGT) を発行できない場合があります。その結果、ユーザーは自分のアカウントにログインできなくなります。
この問題を回避するには、トポロジー内の別の IdM レプリカで IdM 管理者として次のコマンドを実行して SID を生成します。
# ipa config-mod --enable-sid --add-sids
その後もユーザーがログインできない場合は、Directory Server のエラーログを調べてください。ユーザーの POSIX ID を含めるように ID 範囲を調整する必要がある場合があります。
詳細は、ナレッジベースのソリューション記事 When upgrading to RHEL9, IDM users are not able to login anymore を参照してください。
Jira:RHELPLAN-157939[1]
ドメイン SID の不一致により、移行した IdM ユーザーがログインできない可能性がある
ipa migrate-ds
スクリプトを使用して IdM デプロイメントから別のデプロイメントにユーザーを移行する場合、そのユーザーの以前のセキュリティー識別子 (SID) には現在の IdM 環境のドメイン SID がないため、ユーザーが IdM サービスを使用する際に問題が発生する可能性があります。たとえば、これらのユーザーは kinit
ユーティリティーを使用して Kerberos チケットを取得できますが、ログインできません。この問題を回避するには、ナレッジベースの記事 Migrated IdM users unable to log in due to mismatching domain SIDs を参照してください。
Jira:RHELPLAN-109613[1]
ユーザー PAC を生成する暗号化タイプに互換性がないため、MIT krb5
ユーザーは AD TGT の取得に失敗する
MIT krb5 1.20
以降のパッケージでは、デフォルトですべての Kerberos チケットに特権属性証明書 (PAC) が含まれています。MIT Kerberos Distribution Center (KDC) は、PAC で KDC チェックサムを生成するために使用できる最も強力な暗号化タイプを選択します。これは現在、RFC8009 で定義されている AES HMAC-SHA2
暗号化タイプです。ただし、Active Directory (AD) はこの RFC をサポートしていません。その結果、AD-MIT クロスレルム設定では、MIT KDC によって生成されたクロスレルム TGT に互換性のない KDC チェックサムタイプが PAC に含まれているため、MIT krb5
ユーザーは AD チケット認可チケット (TGT) を取得できません。
この問題を回避するには、/var/kerberos/krb5kdc/kdc.conf
設定ファイルの [realms]
セクションで MIT レルムの disable_pac
パラメーターを true
に設定します。その結果、MIT KDC は PAC なしでチケットを生成します。これは、AD が失敗したチェックサム検証をスキップし、MIT krb5
ユーザーが AD TGT を取得できることを意味します。
ldap_id_use_start_tls
オプションのデフォルト値を使用する場合の潜在的なリスク
ID ルックアップに TLS を使用せずに ldap://
を使用すると、攻撃ベクトルのリスクが生じる可能性があります。特に、中間者 (MITM) 攻撃は、攻撃者が、たとえば、LDAP 検索で返されたオブジェクトの UID または GID を変更することによってユーザーになりすますことを可能にする可能性があります。
現在、TLS を強制する SSSD 設定オプション ldap_id_use_start_tls
は、デフォルトで false
に設定されています。セットアップが信頼できる環境で動作していることを確認し、id_provider = ldap
に暗号化されていない通信を使用しても安全かどうかを判断してください。注記: id_provider = ad
および id_provider = ipa
は、SASL および GSSAPI によって保護された暗号化接続を使用するため、影響を受けません。
暗号化されていない通信を使用することが安全ではない場合は、/etc/sssd/sssd.conf
ファイルで ldap_id_use_start_tls
オプションを true
に設定して TLS を強制します。デフォルトの動作は、RHEL の将来のリリースで変更される予定です。
Jira:RHELPLAN-155168[1]
RHEL 8.6 以前で初期化された FIPS モードの IdM デプロイメントに FIPS モードの RHEL 9 レプリカを追加すると失敗する
FIPS 140-3 への準拠を目的としたデフォルトの RHEL 9 FIPS 暗号化ポリシーでは、RFC3961 のセクション 5.1 で定義されている AES HMAC-SHA1 暗号化タイプのキー派生関数の使用が許可されていません。
この制約は、最初のサーバーが RHEL 8.6 システム以前にインストールされている FIPS モードの RHEL 8 IdM 環境に、FIPS モードの RHEL 9 Identity Management (IdM) レプリカを追加する際の障害となります。これは、AES HMAC-SHA1 暗号化タイプを一般的に使用し、AES HMAC-SHA2 暗号化タイプを使用しない、RHEL 9 と以前の RHEL バージョンの間に共通の暗号化タイプがないためです。
サーバーで次のコマンドを入力すると、IdM マスターキーの暗号化タイプを表示できます。
# kadmin.local getprinc K/M | grep -E '^Key:'
この問題を回避するには、RHEL 9 レプリカで AES HMAC-SHA1 の使用を有効にします。
update-crypto-policies --set FIPS:AD-SUPPORT
- WARNING
- この回避策は FIPS 準拠に違反する可能性があります。
その結果、RHEL 9 レプリカの IdM デプロイメントへの追加が正しく進行します。
RHEL 7 および RHEL 8 サーバー上で欠落している AES HMAC-SHA2 暗号化 Kerberos キーを生成する手順を提供する作業が進行中であることに注意してください。これにより、RHEL 9 レプリカで FIPS 140-3 準拠が達成されます。ただし、Kerberos キー暗号化の設計により、既存のキーを別の暗号化タイプに変換することができないため、このプロセスは完全には自動化されません。唯一の方法は、ユーザーにパスワードの更新を求めることです。
SSSD は DNS 名を適切に登録する
以前は、DNS が正しく設定されていない場合、SSSD は DNS 名の登録の最初の試行で常に失敗していました。この問題を回避するために、この更新では新しいパラメーター dns_resolver_use_search_list
が提供されます。DNS 検索リストの使用を回避するには、dns_resolver_use_search_list = false
を設定します。
Bugzilla:1608496[1]
EMS 強制により、FIPS モードで RHEL 9.2 以降の IdM サーバーを使用した RHEL 7 IdM クライアントのインストールが失敗する
FIPS 対応の RHEL 9.2 以降のシステムで、TLS 1.2 接続に TLS Extended Master Secret
(EMS) エクステンション (RFC 7627) が必須になりました。これは FIPS-140-3 要件に準拠しています。ただし、RHEL 7.9 以前で利用可能な openssl
バージョンは EMS をサポートしていません。その結果、RHEL 9.2 以降で実行されている FIPS 対応の IdM サーバーに RHEL 7 Identity Management (IdM) クライアントをインストールすると失敗します。
IdM クライアントをインストールする前にホストを RHEL 8 にアップグレードできない場合は、FIPS 暗号化ポリシーに加えて NO-ENFORCE-EMS サブポリシーを適用して、RHEL 9 サーバーでの EMS 使用の要件を削除することで問題を回避します。
# update-crypto-policies --set FIPS:NO-ENFORCE-EMS
この削除は FIPS 140-3 要件に反することに注意してください。その結果、EMS を使用しない TLS 1.2 接続を確立して受け入れることができ、RHEL 7 IdM クライアントのインストールは成功します。
オンラインバックアップとオンライン自動メンバーシップ再ビルドタスクは、2 つのロックを取得し、デッドロックを引き起こす可能性があります。
オンラインバックアップとオンライン自動メンバーシップ再ビルドタスクが同じ 2 つのロックを逆の順序で取得しようとすると、回復不能なデッドロックが発生し、サーバーを停止して再起動する必要が生じる可能性があります。この問題を回避するには、オンラインバックアップとオンライン自動メンバーシップ再ビルドタスクを並行して起動しないでください。
Jira:RHELDOCS-18065[1]
11.12. デスクトップ
RHEL 9 へのアップグレード後に VNC が実行されていない
RHEL8 から RHEL 9 にアップグレードした後、以前に有効にされていたとしても、VNC サーバーは起動に失敗します。
この問題を回避するには、システムのアップグレード後に vncserver
サービスを手動で有効にします。
# systemctl enable --now vncserver@:port-number
その結果、VNC が有効になり、システムが起動するたびに期待どおりに起動します。
User Creation 画面が応答しない
グラフィカルユーザーインターフェイスを使用して RHEL をインストールすると、User Creation の画面が応答しなくなります。そのため、インストール中にユーザーを作成するのが困難です。
この問題を回避するには、以下のソリューションのいずれかを使用してユーザーを作成します。
- VNC モードでインストールを実行し、VNC ウィンドウのサイズを変更します。
- インストールプロセスの完了後にユーザーを作成します。
Jira:RHEL-11924[1]
WebKitGTK が IBM Z で Web ページの表示に失敗する
WebKitGTK Web ブラウザーエンジンは、IBM Z アーキテクチャーで Web ページを表示しようとすると失敗します。Web ページは空白のままで、WebKitGTK プロセスが予期せず終了します。
その結果、WebKitGTK を使用して Web ページを表示するアプリケーションの次のような特定の機能を使用できなくなります。
- Evolution メールクライアント
- GNOME オンラインアカウント設定
- GNOME ヘルプアプリケーション
11.13. グラフィックインフラストラクチャー
NVIDIA ドライバーが X.org に戻る可能性がある
特定の条件下では、プロプライエタリー NVIDIA ドライバーは Wayland ディスプレイプロトコルを無効にし、X.org ディスプレイサーバーに戻ります。
- NVIDIA ドライバーのバージョンが 470 未満の場合。
- システムがハイブリッドグラフィックスを使用するラップトップの場合。
- 必要な NVIDIA ドライバーオプションを有効にしていない場合。
また、Wayland は有効になっていますが、NVIDIA ドライバーのバージョンが 510 未満の場合には、デスクトップセッションはデフォルトで X.org を使用します。
Jira:RHELPLAN-119001[1]
NVIDIA 使用時に Wayland で Night Light を利用できない
システムで独自の NVIDIA ドライバーが有効になっている場合、GNOME の Night Light 機能は Wayland セッションで使用できません。NVIDIA ドライバーは、現在 Night Light をサポートしていません。
Jira:RHELPLAN-119852[1]
Wayland では X.org 設定ユーティリティーが動作しない
画面を操作するための X.org ユーティリティーは、Wayland セッションでは機能しません。特に、xrandr
ユーティリティーは、処理、解像度、回転、およびレイアウトへのアプローチが異なるため、Wayland では機能しません。
Jira:RHELPLAN-121049[1]
11.14. Web コンソール
RHEL Web コンソールの VNC コンソールが ARM64 で正しく動作しない
現在、ARM64 アーキテクチャー上の RHEL Web コンソールに仮想マシン (VM) をインポートし、VNC コンソールでその仮想マシンと対話しようとすると、コンソールが入力に反応しません。
さらに、ARM64 アーキテクチャーの Web コンソールで仮想マシンを作成すると、VNC コンソールに入力の最後の行が表示されません。
Jira:RHEL-31993[1]
11.15. Red Hat Enterprise Linux システムロール
firewalld.service
がマスクされている場合、firewall
RHEL システムロールの使用が失敗する
RHEL システム上で firewalld.service
がマスクされている場合、firewall
RHEL システムロールは失敗します。この問題を回避するには、firewalld.service
のマスクを解除します。
systemctl unmask firewalld.service
環境名でシステムを登録できない
rhc_environment
に環境名を指定すると、rhc
システムロールはシステムの登録に失敗します。回避策として、登録時に環境名の代わりに環境 ID を使用します。
高可用性モードの Microsoft SQL Server 2022 は、SELinux で制限されたアプリケーションとして実行できない
RHEL 9.4 以降の Microsoft SQL Server 2022 は、SELinux で制限されたアプリケーションとしての実行がサポートされています。ただし、Microsoft SQL Server の制限により、高可用性モードでは、同サービスを SELinux で制限されたアプリケーションとして実行することができません。この問題を回避するには、サービスを高可用性とする必要がある場合、Microsoft SQL Server を制限のないアプリケーションとして実行します。
mssql
RHEL システムロールを使用して同サービスをインストールする場合、この制限は Microsoft SQL Server のインストールにも影響することに注意してください。