9.5 リリースノート
Red Hat Enterprise Linux 9.5 リリースノート
概要
Red Hat ドキュメントへのフィードバック (英語のみ)
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 概要
1.1. RHEL 9.5 における主な変更点
セキュリティー
OpenSSL TLS ツールキットがバージョン 3.2.2 にアップグレードされました。OpenSSL は証明書圧縮拡張機能 (RFC 8879) をサポートするようになり、Brainpool 曲線が TLS 1.3 プロトコル (RFC 8734) に追加されました。
ca-certificates プログラムは、OpenSSL ディレクトリー形式で信頼できる CA ルートを提供するようになりました。
crypto-policies パッケージが更新され、Java でのアルゴリズム選択の制御が拡張されました。
SELinux ポリシーでは、QEMU ゲストエージェントが制限されたコマンドを実行できるようにするブール値が提供されるようになりました。
NSS 暗号化ツールキットパッケージがアップストリームバージョン 3.101 にリベースされました。
詳細は、新機能 - セキュリティー を参照してください。
動的プログラミング言語、Web サーバー、およびデータベースサーバー
次の Application Streams の新しいバージョンが利用可能になりました。
- Apache HTTP Server 2.4.62
- Node.js 22
詳細は、新機能 - 動的プログラミング言語、Web サーバー、およびデータベースサーバー、および テクノロジープレビュー - 動的プログラミング言語、Web サーバー、およびデータベースサーバー を参照してください。
コンパイラーおよび開発ツール
更新されたシステムツールチェーン
RHEL 9.2 では、以下のシステムツールチェインコンポーネントが更新されました。
- GCC 11.5
- Annobin 12.70
パフォーマンスツールとデバッガーの更新
RHEL 9.5 では、以下のパフォーマンスツールおよびデバッガーが更新されました。
- GDB 14.2
- Valgrind 3.23.0
- SystemTap 5.1
- elfutils 0.191
- libabigail 2.5
更新されたパフォーマンスモニタリングツール
RHEL 9.5 では、以下のパフォーマンスモニタリングツールが更新されました。
- PCP 6.2.2
- Grafana 10.2.6
更新されたコンパイラーツールセット
次のコンパイラーツールセットが RHEL 9.4 で更新されました。
- GCC Toolset 14 (新規)
- LLVM Toolset 18.1.8
- Rust Toolset 1.79.0
- Go Toolset 1.22
詳しい変更点は、新機能 - コンパイラーと開発ツール を参照してください。
Web コンソール
Cockpit-files
パッケージによって提供される新しい ファイルブラウザーを 使用すると、RHEL Web コンソールでファイルとディレクトリーを管理できます。
詳細は、新機能 - Web コンソール を参照してください。
1.2. インプレースアップグレード
RHEL 8 から RHEL 9 へのインプレースアップグレード
現在サポートされているインプレースアップグレードパスは次のとおりです。
以下のアーキテクチャーで、RHEL 8.6 から RHEL 9.0 へ:
- 64 ビット Intel および AMD
- IBM POWER 9 (リトルエンディアン) 以降
- z13 を除く IBM Z アーキテクチャー
次のアーキテクチャー上の RHEL 8.8 から RHEL 9.2、および RHEL 8.10 から RHEL 9.4:
- 64 ビット Intel、AMD、および ARM
- IBM POWER 9 (リトルエンディアン) 以降
- z13 を除く IBM Z アーキテクチャー
- SAP HANA を搭載したシステム上の RHEL 8.6 から RHEL 9.0 および RHEL 8.8 から RHEL 9.2
詳細は、Supported in-place upgrade paths for Red Hat Enterprise Linux を参照してください。
インプレースアップグレードの実行方法は、RHEL 8 から RHEL 9 へのアップグレード を参照してください。
SAP HANA で RHEL 9.2 にアップグレードする場合は、アップグレード前に、システムが SAP に対して認定されていることを確認してください。SAP 環境があるシステムでインプレースアップグレードを実行する手順は、SAP 環境を RHEL 8 から RHEL 9 にインプレースアップグレードする方法 を参照してください。
主な機能拡張は、次のとおりです。
-
一般的な
開かれたファイルが多すぎる
エラーを防ぐために、実行されたシェルコマンドのファイル記述子を適切に閉じます。 - Satellite Server バージョン 6.16 を搭載したシステムに対してインプレースアップグレードを導入します。
-
--target
leapp オプションを使用して別のチャネルが指定されていない限り、デフォルトでGA
チャネルリポジトリーをターゲットにします。 - アップグレードプロセス中にデフォルトのカーネルコマンドラインを更新して、後でインストールされるカーネルに必要なパラメーターが自動的に含まれるようにします。
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.5 はカーネルバージョン 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)
各アーキテクチャーに適切なサブスクリプションを購入してください。詳細は Get Started with Red Hat Enterprise Linux - additional architectures を参照してください。
第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 Stream コンポーネントには、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 Stream バージョンの中には、将来のマイナー RHEL 9 リリースで、ライフサイクルが短いモジュールとして配布されるものがあります。モジュールは、論理ユニット (アプリケーション、言語スタック、データベース、またはツールセット) を表すパッケージの集まりです。これらのパッケージはまとめてビルドされ、テストされ、そしてリリースされます。
Application Stream のどのバージョンをインストールするかを決めるには、まず Red Hat Enterprise Linux Application Stream ライフサイクル を確認してください。
代替コンパイラーやコンテナーツールなど、迅速な更新を必要とするコンテンツは、代替バージョンを並行して提供しないローリングストリームで利用できます。ローリングストリームは、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.5 に追加された新機能および主要な機能拡張を説明します。
4.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. セキュリティー
NSS が 3.101 にリベースされる
NSS 暗号化ツールキットパッケージは、多くのバグ修正と機能強化を提供するアップストリームバージョン 3.101 にリベースされました。主な変更点は以下のとおりです。
- DTLS 1.3 プロトコルがサポートされるようになりました (RFC 9147)。
- PKCS#12 (RFC 9579) に PBMAC1 サポートが追加されました。
-
X25519Kyber768Draft00 ハイブリッドポスト量子鍵合意には実験的なサポートがあります (
draft-tls-westerbaan-xyber768d00
)。 -
lib::pkix は
RHEL 10 のデフォルトのバリデーターです。 - システム全体の暗号化ポリシーに従って、2048 ビットより短いキーを持つ RSA 証明書は機能しなくなります (重大な修正)。
Jira:RHEL-46840[1]
Libreswan は IPv6 SAN エクステンションを受け入れる
以前は、IPv6 アドレスの subjectAltName (SAN) エクステンションを含む証明書を使用して証明書ベースの認証をセットアップすると、IPsec 接続が失敗しました。この更新により、pluto
デーモンは IPv4 だけでなく IPv6 SAN も受け入れるように変更されました。その結果、証明書に埋め込まれた IPv6 アドレスを ID として IPsec 接続が正しく確立されるようになりました。
Jira:RHEL-32720[1]
ssh-keygen
のカスタムキーサイズ
/etc/sysconfig/sshd
環境ファイルで環境変数 SSH_RSA_BITS
および SSH_ECDSA_BITS を
設定することにより、/usr/libexec/openssh/sshd-keygen
スクリプトによって生成されるキーのサイズを設定できるようになりました。
Jira:RHEL-26454[1]
fips-mode-setup は、
FIPS モードを有効にする前に、開いている LUKS ボリュームで Argon2 KDF が使用されているかどうかを確認します。
fips-mode-setup
システム管理コマンドは、現在開いている LUKS ボリュームで使用されているキー導出関数 (KDF) を検出し、Argon2 KDF の使用を検出すると中止します。これは、Argon2 KDF が FIPS と互換性がないため、その使用を禁止することで FIPS 準拠を確保できるためです。その結果、Argon2 を KDF として使用するオープン LUKS ボリュームを持つシステムで FIPS モードに切り替えることは、それらのボリュームが閉じられるか、別の KDF に変換されるまでブロックされます。
QEMU ゲストエージェントが限定されたコマンドを実行できるようにする新しい SELinux ブール値
以前は、QEMU ゲストエージェントデーモンプログラムを通じて限定されたコンテキストで実行されるはずのコマンド (mount
など) が、アクセスベクターキャッシュ (AVC) 拒否で失敗していました。これらのコマンドを実行するには、guest-agent
が virt_qemu_ga_unconfined_t
ドメインで実行されている必要があります。
したがって、この更新では、SELinux ポリシーブール値 virt_qemu_ga_run_unconfined
が追加され、guest-agent
が以下のいずれかのディレクトリーにある実行可能ファイルに対して virt_qemu_ga_unconfined_t
に移行できるようになります。
-
/etc/qemu-ga/fsfreeze-hook.d/
-
/usr/libexec/qemu-ga/fsfreeze-hook.d/
-
/var/run/qemu-ga/fsfreeze-hook.d/
さらに、qemu-ga
デーモンの移行に必要なルールが SELinux ポリシーのブール値に追加されました。
その結果、virt_qemu_ga_run_unconfined
ブール値を有効にすることで、AVC 拒否なしで QEMU ゲストエージェントを通じて制限されたコマンドを実行できるようになりました。
OpenSSL が 3.0.7 にリベースされました。
pyOpenSSL パッケージが、アップストリームバージョン 19.0.0 にリベースされました。この更新では、さまざまな機能強化とバグ修正が行われていますが、特に注目すべき点は次のとおりです。
-
-extensions
オプションを指定したopenssl req
コマンドは、証明書署名要求 (CSR) を作成するときに拡張機能を誤って処理しなくなりました。以前は、コマンドは設定ファイルセクションの名前を取得、解析し、一貫性をチェックしていましたが、作成された CSR ファイルに拡張子を追加するためにその名前は使用されていませんでした。この修正により、生成された CSR に拡張機能が追加されます。この変更の副作用として、セクションで CSR での使用と互換性のない拡張機能が指定されている場合、コマンドは error:11000080:X509 V3 ルーチン:X509V3_EXT_nconf_int:error in extension:crypto/x509/v3_conf.c:48:section=server_cert、name=authorityKeyIdentifier、value=keyid、issuer:always のようなエラーで失敗する可能性があります
。 -
デフォルトの X.500 識別名 (DN) フォーマットが、UTF-8 フォーマッタを使用するように変更されました。これにより、DN 要素タイプとその値を区切る等号 (
=
) の周囲のスペース文字も削除されます。 - 証明書圧縮拡張 (RFC 8879) がサポートされるようになりました。
- QUIC プロトコルは、テクノロジープレビューとしてクライアント側で使用できるようになりました。
- Argon2d、Argon2i、および Argon2id キー導出関数 (KDF) がサポートされています。
- Brainpool 曲線は TLS 1.3 プロトコル (RFC 8734) に追加されましたが、サポートされているすべてのシステム全体の暗号化ポリシーでは Brainpool 曲線は無効のままです。
暗号ポリシーは
Java でアルゴリズムの選択を提供します
crypto-policies
パッケージが更新され、Java でのアルゴリズム選択の制御が拡張されました。これは、Java 暗号化の俊敏性設定の進化と、より一貫性のあるシステム全体の設定のためのより適切なマッピングを提供するために、暗号化ポリシーが
追いつく必要があることに起因します。具体的には、更新には次の変更があります。
-
DTLS 1.0 は
プロトコル
オプションによって制御されるようになり、デフォルトでは無効になっていますが、protocol@java = DTLS1.0+
スコープディレクティブを使用して再度有効にすることができます。 -
anon
およびNULL
暗号スイートは、cipher@java = NULL
によって制御され、デフォルトで無効になっています。 -
署名アルゴリズムのリストは、
sign@java
スコープディレクティブによって制御され、システム全体のデフォルトに揃えられるようになりました。 -
署名アルゴリズムのリストは、現在、
sign
オプションによって制御され、システム全体のデフォルトに合わせて調整されています。必要に応じて、sign@java = <algorithm1>+ <algorithm2>+
スコープディレクティブを使用して、Java で必要なアルゴリズムの使用を再度有効にすることができます。 - アップストリームガイダンスに合わせて、256 ビット未満の楕円曲線 (EC) キーは無条件に無効になります。
その結果、Java でデフォルトで使用できる暗号化アルゴリズムのリストが、システム全体のデフォルトとより一致するようになりました。相互運用性に関する情報については、/etc/crypto-policies/
back-ends/java.config ファイルを参照し、それに応じてアクティブな暗号化ポリシーを設定してください。
Jira:RHEL-45620[1]
Centos Stream 10 の selinux-policy
git リポジトリーが一般公開されました
CentOS Stream の貢献者は 、fedora-selinux/selinux-policy
git リポジトリーの c10s
ブランチに貢献することで、SELinux ポリシーの開発に参加できるようになりました。
clevis
がバージョン 13 にリベース
clevis
パッケージがバージョン 20 にアップグレードされました。最も注目すべき機能強化と修正は次のとおりです。
-
clevis luks
コマンド、udisks2
統合、および Shamir の秘密共有 (SSS) しきい値スキームの静的アナライザーツールによって報告された潜在的な問題を修正することにより、セキュリティーが強化されました。 -
パスワード生成では、
pwmake
の代わりにjose
ユーティリティーが使用されるようになりました。これにより、Clevis バインディングステップ中に生成されるパスワードに十分なエントロピーが確保されます。
ca-certificates は
OpenSSL ディレクトリー形式で信頼できる CA ルートを提供します
この更新により 、/etc/pki/ca-trust/extracted/pem/directory-hash/
ディレクトリーに信頼された CA ルート証明書が追加されます。その結果、たとえば SSL_CERT_DIR
環境変数を /etc/pki/ca-trust/extracted/pem/directory-hash/に設定して、OpenSSL がこのディレクトリーから証明書をロードするように設定されている場合、検索と検証が高速になります
。
Jira:RHEL-21094[1]
nbdkit
サービスは SELinux によって制限されています
nbdkit-selinux
サブパッケージは SELinux ポリシーに新しいルールを追加し、その結果、nbdkit
は SELinux 内に制限されます。したがって、nbdkit を
実行するシステムは、権限昇格攻撃に対してより耐性があります。
Libreswan が 4.9 にリベースされました。
libreswan
パッケージはアップストリームバージョン 4.15 にリベースされました。このバージョンでは、以前のリリースで提供されていたバージョン 4.9 に比べて大幅な改善が加えられています。
-
libsystemd を
介してlibxz
への依存関係を削除しました。 -
IKEv1 では、デフォルトの提案は、カプセル化セキュリティーペイロード (ESP) の場合は
aes-sha1
、認証ヘッダー (AH) の場合はsha1
に設定されています。 - IKEv1 は、認証付き暗号化と関連データ (AEAD) と空でない INTEG を組み合わせた ESP 提案を拒否します。
- IKEv1 は、接続に提案がない場合には交換を拒否します。
IKEv1 では、デフォルトの暗号スイートがより制限されるようになりました。
IKE={AES_CBC,3DES_CBC}-{HMAC_SHA2_256,HMAC_SHA2_512HMAC_SHA1}-{MODP2048,MODP1536,DH19,DH31} ESP={AES_CBC,3DES_CBC}-{HMAC_SHA1_96,HMAC_SHA2_512_256,HMAC_SHA2_256_128}-{AES_GCM_16_128,AES_GCM_16_256} AH=HMAC_SHA1_96+HMAC_SHA2_512_256+HMAC_SHA2_256_128
-
libcap-ng
ライブラリーの障害は致命的ではなくなりました。 -
pluto
ユーティリティーの AEAD アルゴリズムに TFC パディングが設定されるようになりました。
Jira:RHEL-50006[1]
jose が
バージョン 14 にリベースされました
jose
パッケージがアップストリームバージョン 14 にアップグレードされました。Joséは、Javascript Object Signing and Encryption 標準の C 言語実装です。最も重要な機能強化と修正は次のとおりです。
-
OpenSSL の
oct
JWK タイプのlen
関数の境界チェックが改善されました。 -
保護された JSON Web Encryption (JWE) ヘッダーに
zip が
含まれなくなりました。 -
jose は、
高圧縮チャンクを使用することで、潜在的なサービス拒否 (DoS) 攻撃を回避します。
4 つの RHEL サービスが SELinux の permissive モードから削除されました
RHEL サービスの次の SELinux ドメインは、SELinuxpermissive モードから削除されました。
-
afterburn_t
-
bootupd_t
-
mptcpd_t
-
rshim_t
以前は、RHEL 9 に最近追加されたパッケージのこれらのサービスは、一時的に SELinuxpermissive モードに設定されていました。これにより、システムの残りの部分が SELinux 強制モードになっている間に、追加の拒否に関する情報を収集できるようになりました。この一時的な設定は削除され、その結果、これらのサービスは SELinux 強制モードで実行されるようになりました。
bootupd
サービスは SELinux に制限されています
bootupd
サービスはブートローダーの更新をサポートしているため、制限する必要があります。SELinux ポリシーのこの更新により追加のルールが追加され、その結果、bootupd
サービスは bootupd_t
SELinux ドメインで実行されるようになります。
4.3. RHEL for Edge
簡易インストーラー
と RAW
イメージタイプのファイルシステムカスタマイズのサポート
この機能強化により、次のイメージタイプをビルドするときに、ブループリントにファイルシステムのカスタマイズを追加できるようになりました。
-
簡易インストーラー
-
edge-raw-image
-
edge-ami
-
edge-vsphere
OSTree システムの一部例外を除き、ファイルシステムの /root
レベルで任意のディレクトリー名を選択できます (例: /local
、/mypartition
、/$PARTITION
)。
論理ボリュームでは、これらの変更は LVM パーティションシステム上で行われます。次のディレクトリーがサポートされています: 別の論理ボリューム上の /var
、/var/log
、および /var/lib/containers
。
Jira:RHELDOCS-17515[1]
4.4. シェルおよびコマンドラインツール
DefaultLimitCore
systemd
設定オプションのデフォルト値が、unlimited:unlimited
に設定されるようになりました。
以前は、DefaultLimitCore
systemd
設定オプションのデフォルト値が 0:infinity
に設定されていました。その結果、systemd
が開始したすべてのプロセスで、コアファイルのソフトプロセス制限が 0
に設定され、デフォルトでコアファイルが作成されませんでした。ただし、プロセスでは必要に応じて制限が調整されました。
この更新により、DefaultLimitCore
のデフォルト値が unlimited:unlimited
に設定されます。その結果、デフォルトでコアファイルのサイズは制限されません。/etc/systemd/coredump.conf
systemd-coredump
コンポーネント設定ファイル内のクラッシュダンプのデフォルトサイズは 1GiB
です。断続的なクラッシュのクラッシュダンプを収集できますが、クラッシュダンプによるディスク領域の使用は控えめ抑える必要があります。
systemd-coredump
によって保存されたクラッシュダンプは、使用されない場合は 14 日後に削除されます。
openCryptoki
がバージョン 3.23.0 にリベースされました
openCryptoki
パッケージはバージョン 3.23.0 に更新され、複数のバグ修正と機能強化が提供されました。主な変更点は、以下のとおりです。
-
EP11
: FIPS セッションモードのサポートを追加しました。 - RSA タイミング攻撃に対する保護のためのさまざまな更新が利用可能になりました。
Jira:RHEL-23673[1]
librtas
がバージョン 2.0.6 にリベースされました
librtas
パッケージがバージョン 2.0.6 に更新されました。この更新により、カーネルが提供するロックダウン互換の ABI の使用が可能になりました。
Jira:RHEL-10566[1]
4.5. インフラストラクチャーサービス
バインド 9.18
が RHEL でサポートされるようになりました
バインド 9.18 は
、新しい bind9.18
パッケージで RHEL 9.5 に追加されました。注目すべき機能強化は次のとおりです。
-
named
デーモンに DNS over TLS (DoT) と DNS over HTTPS (DoH) のサポートを追加しました - TLS 経由の受信および送信ゾーン転送のサポートを追加しました
- OpenSSL 3.0 インターフェイスのサポートが改善
- TCP および UDP の送受信バッファーを調整するための新しい設定オプション
-
dig
ユーティリティーのさまざまな改善
Jira:RHEL-14898[1]
4.6. ネットワーク
NetworkManager が IPsec VPN の leftsubnet
パラメーターをサポートするようになる
この更新により、NetworkManager が leftsubnet
パラメーターをサポートするようになりました。これは、Internet Protocol Security (IPsec) VPN のサブネット間シナリオの設定に使用されるローカル参加者の背後にあるプライベートサブネットを定義するためのパラメーターです。
nmstate
が輻輳ウィンドウクランプ (cwnd
) オプションをサポートするようになる
この更新により、nmstate
ユーティリティーの cwnd
オプションを使用して、TCP 輻輳ウィンドウサイズの最大制限を設定できるようになりました。この方法により、特定の時点でネットワーク上で転送可能なパケット数として表現される未確認データの最大量を制御できます。cwnd
オプションを設定する YAML ファイルの例を以下に示します。
--- interfaces: - name: eth1 type: ethernet state: up ipv4: address: - ip: 192.0.2.251 prefix-length: 24 dhcp: false enabled: true routes: config: - destination: 198.51.100.0/24 metric: 150 next-hop-address: 192.0.2.1 next-hop-interface: eth1 table-id: 254 cwnd: 20
NetworkManager-libreswan
プラグインが rightcert
オプションをサポートするようになる
NetworkManager を使用して Libreswan 接続を設定するときに、rightcert
オプションを使用できます。このオプションを使用すると、証明書を使用して IPsec (Internet Protocol Security) 接続の "right" 側の参加者を認証できます。
nmstate
ユーティリティーが rightcert
オプションをサポートするようになる
nmstate
ユーティリティーを使用して Libreswan 接続を設定するときに、rightcert
オプションを使用できます。このオプションを使用すると、証明書を使用して IPsec (Internet Protocol Security) 接続の "right" 側の参加者を認証できます。rightcert
オプションを設定する YAML ファイルの例を以下に示します。
--- interfaces: - name: hosta_conn type: ipsec ipv4: enabled: true dhcp: true libreswan: left: 192.0.2.1 leftid: '%fromcert' leftrsasigkey: '%cert' leftmodecfgclient: false leftcert: leftcert.example.com right: 192.0.2.2 rightid: '%fromcert' rightrsasigkey: '%cert' rightcert: rightcert.example.com rightsubnet: 192.0.2.2/32
nmstate
が leftsubnet
オプションをサポートするようになる
nmstate
ユーティリティーで Libreswan 接続を設定するときに、leftsubnet
オプションを使用して IPsec (Internet Protocol Security) 接続のサブネット全体を定義できます。これにより、異なるネットワークセグメント間でセキュアな通信を確立できます。leftsubnet
オプションを設定する YAML ファイルの例を以下に示します。
interfaces: - name: hosta type: ipsec ipv4: enabled: true dhcp: true libreswan: left: 192.0.2.246 leftid: _<hosta.example.org>_ leftcert: _<hosta.example.org>_ leftsubnet: 192.0.4.0/24 leftmodecfgclient: no right: 192.0.2.157 rightid: _<hostb.example.org>_ rightsubnet: 192.0.3.0/24 ikev2: insist
IPsec テクノロジーには、適切な IP アドレスと IPsec が設定された別のサーバーを含むピアツーピア設定が必要であることに注意してください。
NetworkManager が、IPv6 アドレス指定を使用する IPsec VPN への接続をサポートするようになる
以前は、NetworkManager-libreswan
プラグインを使用して Internet Protocol Security (IPsec) VPN に接続する場合、NetworkManager でサポートされるのは IPv4 アドレス指定だけでした。この更新により、IPv6 アドレス指定を使用する IPsec VPN に接続できるようになりました。
firewalld
と nftables
サービスを同時に使用できるようになる
firewalld
および nftables
systemd
サービスを同時に使用できるようになりました。以前は、一度にこれらのサービスのうち 1 つしか有効にできませんでした。この機能拡張により、これらの systemd
サービスが互いに競合しなくなりました。
Jira:RHEL-17002[1]
4.7. カーネル
RHEL 9.5 のカーネルバージョン
Red Hat Enterprise Linux 8.10 は、カーネルバージョン 4.18.0-553 で配布されます。
eBPF 機能が Linux カーネルバージョン 6.6 にリベース
注目すべき変更点と機能拡張は次のとおりです。
- BPF プログラムで、決して真ではないが検証者が推測するのが難しい条件をアサートできるようにする例外をサポートします。
- ローカルの CPU ごとの kptr のサポートや、マップ内の CPU ごとのオブジェクトの割り当てと保存のサポートなど、CPU ごとのオブジェクトの操作が改善されました。
-
arm32
およびs390x
の BPF v4 CPU 命令のサポート。 - task、task_vma、css、css_task 用のいくつかの新しいオープンコードイテレーター。
-
特定の cgroup v1 階層内のタスクの関連 cgroup を取得する新しい
kfunc
。 -
bpftool
統合とともに、uprobe マルチリンクの BPF link_info をサポートします。 - BPF 検証ツールのいくつかの改善とバグ修正により、より正確なプログラム検証が可能になり、BPF プログラム開発者のエクスペリエンスが向上しました。
- 末尾呼び出しと fentry/fexit プログラムを組み合わせることで無限ループの作成を防ぐ検証の改善。
- BPF 検証ロジックを変更し、メインプログラムの前にグローバルサブプログラムを無条件ではなく遅延検証するようにしました。これにより、BPF CO-RE テクニックを使用してサブプログラムを保護できるようになります。
- BPF タイマーを現在の CPU に固定する機能を追加します。
-
bpffs
をマウントするときに uid/gid オプションをサポートします。
Jira:RHEL-23644[1]
rteval は
ロードの相対 CPU リストをサポートするようになりました
この機能強化により、--loads-cpulist は
相対 CPU リストを引数として受け入れるようになりました。パラメーター --measurement-cpulist を
使用する場合、デフォルトの測定 CPU リストの構文は同じです。
Jira:RHEL-25206[1]
QAT に 420xx デバイスのサポートが追加されました
この更新により、QAT は 420xx デバイスをサポートするようになりました。ファームウェアローダーやその他の機能の更新をサポートする新しいデバイスドライバーが含まれています。4xxx デバイスと比較すると、420xx デバイスには、より多くのアクセラレーションエンジン、16 個のサービスエンジン、1 個の管理エンジンが搭載され、ワイヤレス暗号アルゴリズム ZUC
と Snow 3G
がサポートされています。
Jira:RHEL-17715[1]
TMPFS ファイルシステムをマウントする際の noswap
オプションの導入
TMPFS は、複数のプロセス間で情報をすばやく共有するために主に利用されるメモリー内ファイルシステムです。バージョン 2.2 以降、glibc は
POSIX 共有メモリーをサポートするために tmpfs
ファイルシステムが dev/shm
にマウントされることを想定しています。このマウントポイントは、shm_open
および shm_unlink
サブルーチンが正しく機能するために必要です。TMPFS ブロックはメモリー不足が発生するとスワップアウトされる可能性があり、これはパフォーマンスやプライバシーが重要となる特定のワークロードにとって問題となります。
TMPFS ファイルシステムをマウントするときに新しい noswap
マウントオプションを渡すと、TMPFS の特定のマウントポイントのスワップが無効になります。
Jira:RHEL-31975[1]
リアルタイムパフォーマンステストのための rteval
コンテナーの導入
rteval
コンテナーは、システムのレイテンシーを正確に測定するためのツールとメソッドを提供します。この機能を使用すると、ユーザーはシステムのリアルタイムのパフォーマンスを測定できます。最適なリアルタイムパフォーマンスを実現するために Linux カーネルの設定を評価し、特定のアプリケーションのニーズに基づいてパフォーマンスを分析します。
RHEL 9.5 リリースでは特定のチューニングガイドラインは提供されておらず、サポートは Real-Time サブスクリプションを持つ顧客に限定されていることに注意してください。
Jira:RHELDOCS-19122[1]
NVMf-FC
kdump が IBM Power でサポートされるようになりました
NVMf-FC
kdump は、kexec-tools を
実行するために IBM Power システムをサポートするようになりました。これにより、NVMe ストレージデバイスを使用してファイバーチャネルネットワーク経由でシステムメモリーダンプをキャプチャーし、クラッシュダンプデータのストレージに高速かつ低遅延でアクセスできるようになります。
Jira:RHEL-11471[1]
4.8. ファイルシステムおよびストレージ
tmpfs
ファイルシステムのファイルシステムクォータがサポートされるようになりました
通常、/tmp
ディレクトリーは tmpfs
を使用してマウントされ、デフォルトですべてのユーザーがこれにアクセスできます。そのため、単一のユーザーがこのディレクトリーに過度に書き込み、システムメモリーをすべて使用できるというリスクが生じます。
この更新により、システム管理者はファイルシステムクォータを実装して、ユーザーが tmpfs
ファイルシステム上で使用できるスペースやメモリーを制限し、メモリーの枯渇を防止できるようになりました。
Jira:RHEL-7768[1]
NVMe/TCP による NVMe TP 8006 インバンド認証がサポートされるようになりました
NVMe over Fabrics (NVMe-oF) の NVMe TP 8006 インバンド認証は、RHEL 9.2 でテクノロジープレビューとして導入され、現在は完全にサポートされています。この機能は、NVMe 技術提案 8006 で定義されている NVMe-oF 用の DH-HMAC-CHAP インバンド認証プロトコルを提供します。詳細は、nvme-connect (1)
man ページの dhchap-secret
および dhchap-ctrl-secret
オプションの説明を参照してください。
4.9. 高可用性およびクラスター
新しい pcs status wait
コマンド
pcs
コマンドラインインターフェイスで、pcs status wait
コマンドを使用できるようになりました。このコマンドにより、Pacemaker は Cluster Information Base (CIB) を変更したことで必要になるアクションが確実に完了され、実際のクラスター状態と要求されたクラスター状態を一致させるための追加アクションは不要になります。
クラスター内のリソースのステータスをクエリーする新しいコマンドに対する pcs
サポート
pcs
コマンドラインインターフェイスで、クラスター内の 1 つのリソースのさまざまな属性をクエリーするために pcs status query resource
コマンドを使用できるようになりました。これらのコマンドは以下についてのクエリーを実行します。
- リソースの存在
- リソースのタイプ
- リソースの状態
- 集合リソースのメンバーに関する各種情報
- リソースが実行されているノード
プレーンテキストの出力を解析する必要がないため、これらのコマンドは pcs ベースのスクリプトに使用できます。
テキスト、JSON、およびコマンド形式で設定を表示するための新しい pcs resource defaults
および pcs resource op defaults
オプション。
pcs resource defaults
コマンドと pcs resource op defaults
コマンド、およびそのエイリアスである pcs stonith defaults
と pcs stonith op defaults
で、--output-format
オプションを使用できるようになりました。
-
--output-format=text
を指定すると、このオプションのデフォルト値である設定済みのリソースのデフォルトまたは操作のデフォルトがプレーンテキスト形式で表示されます。 -
--output-format=cmd
を指定すると、現在のクラスターのデフォルト設定から作成されたpcs resource defaults
またはpcs resource op defaults
コマンドが表示されます。これらのコマンドを使用して、別のシステム上で設定済みのリソースのデフォルトまたはリソース操作のデフォルトを再作成できます。 -
--output-format=json
を指定すると、設定済みのリソースのデフォルトまたはリソース操作のデフォルトが JSON 形式で表示されます。これは、マシンの解析に適しています。
パニックが製したノードをシャットダウンし、自動的に再起動しない新しい Pacemaker オプション
/etc/sysconfig/pacemaker
設定ファイルの PCMK_panic_action
変数を off
または sync-off
に設定できるようになりました。この変数を off
または sync-off
に設定すると、パニック状態が発生した後、ノードはシャットダウンされ、自動的に再起動されません。
新しい pcsd
Web UI 機能のサポート
pscd
Web UI で、次の機能がサポートされるようになりました。
-
placement-strategy
クラスタープロパティーをdefault
に設定すると、pcsd
Web UI にノードおよびリソースの使用率属性付近に警告が表示されます。この警告は、placement-strategy
の設定が使用率に影響しないことを示しています。 -
pscd
Web UI は、masthead のユーザーメニューから設定できるダークモードをサポートしています。
4.10. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
Python インタープリターのパフォーマンスが向上しました
RHEL 8 でサポートされているすべてのバージョンの Python が、アップストリームのデフォルトである -O3
最適化フラグを使用してコンパイルされるようになりました。その結果、Python アプリケーションとインタープリター自体のパフォーマンスが向上しました。
Jira:RHEL-49615[1]、Jira:RHEL-49637、Jira:RHEL-49635
httpd
が 2.4.62 にリベースされました
httpd
パッケージはバージョン 2.4.62 に更新されました。これにはさまざまなバグ修正、セキュリティー修正、および新機能が含まれます。注目すべき機能は次のとおりです。
次のディレクティブが追加されました。
-
CGIScriptTimeout
ディレクティブがmod_cgi
モジュールに追加されました。 -
mod_alias
モジュールのAliasPreservePath
ディレクティブ。場所のエイリアスの後の完全パスをマップするためのディレクティブです。 -
mod_alias
のRedirectRelative
ディレクティブ。相対リダイレクトターゲットをそのまま発行するためのディレクティブです。 -
mod_deflate
モジュールのDeflateAlterETag
ディレクティブ。ETag
の変更を制御するためのディレクティブです。NoChange
パラメーターは 2.2.x の動作を模倣します。
-
-
ProxyRemote
サーバーの 3 番目の引数 (オプション) がmod_proxy
モジュールに追加されました。これにより、リモートプロキシーに渡す Basic 認証の認証情報が設定されました。 -
LDAPConnectionPoolTTL
ディレクティブは負の値を受け入れるようになり、接続された時期に関係なく接続を再利用できるようになりました。以前は、負の値を持つ設定ファイルを解析すると、mod_ldap
モジュールでエラーが発生しました。 -
-T
オプションを使用して、rotatelogs バイナリーで最初のログファイルを切り捨てることなく、後続のローテーションされたログファイルを切り捨てることができるようになりました。
mod_md
がバージョン 2.4.26 にリベースされました
mod_md
モジュールがバージョン 2.4.26 に更新されました。以前のバージョンに対する主な変更点は、以下のとおりです。
次のディレクティブが追加されました。
-
* 検出された失効に対するサーバーチェックの数を制御する
MDCheckInterval
。 -
* MDomain と VirtualHosts の一致方法をより細かく制御できる
MDMatchNames all|servernames
。 -
MDChallengeDns01Version
。このディレクティブの値を2
に設定すると、teardown
呼び出し時にコマンドにチャレンジ値が提供されます。バージョン 1 の場合、デフォルトでsetup
呼び出しのみがこのパラメーターを取得します。
-
* 検出された失効に対するサーバーチェックの数を制御する
-
manual mode
のマネージドドメインの場合、mod_md_verification
モジュールが、使用されているすべてのServerName
とServerAlias
がエラー (AH10040) ではなく警告を報告するかチェックするようになりました。 -
個々のドメインに対して
MDChallengeDns01
ディレクティブを設定できるようになりました。
Jira:RHEL-25075[1]
PostgreSQL 16 では pgvector
拡張機能が提供されるようになりました
postgresql:16
モジュールストリームが pgvector
拡張機能とともに配布されるようになりました。pgvector
拡張機能を使用すると、高次元ベクトル埋め込みを PostgreSQL データベース内に直接保存およびクエリーし、ベクトル類似性検索を実行できます。ベクトル埋め込みは、テキスト、イメージ、またはその他のデータタイプの意味を捉えるために機械学習や AI アプリケーションでよく使用されるデータの数値表現です。
libdb
データベースを GDBM 形式に変換する新しい db_converter
ツール
廃止された Berkeley DB (libdb
) では、lidbd
データベースを GNU dbm (GDBM) データベース形式に変換するための db_converter
ツールが提供されるようになりました。db_converter
ツールは、libdb-utils
サブパッケージで配布されます。
libdb
の代替の詳細は、Red Hat ナレッジベースの記事 RHEL で廃止された Berkeley DB (libdb) の利用可能な代替品 を参照してください。
4.11. コンパイラーおよび開発ツール
システム GCC がバージョン 11.5 にリベースされました
RHEL 9 の GCC のシステムバージョンがバージョン 11.5 に更新されました。この更新では多数のバグが修正されました。
glibc
の新しい調整可能パラメーターを使用して動的オブジェクトをより近くに配置することで、パフォーマンスが向上します。
以前は、glibc
の動的ローダーは、セキュリティーを強化するために、使用可能なアドレス空間全体に動的オブジェクトをランダムに配置していました。その結果、オブジェクト間が遠くなりすぎて、オブジェクト間の呼び出しが非効率的になることが少なくありませんでした。
この更新により、次の調整パラメーターを設定することで、オブジェクトをより近くに (具体的にはアドレス空間の最初の 2 Gb に) 配置できるようになりました。
export GLIBC_TUNABLES=glibc.cpu.prefer_map_32bit_exec=1
この調整パラメーターを設定すると、一部のアプリケーションで、アドレス空間配置のランダム化 (ASLR) がわずかに低下する代わりにパフォーマンスが向上する可能性があります。
Jira:RHEL-20172[1]
glibc
は、Intel APX 対応関数の動的リンクをサポートするようになりました
互換性のない動的リンカートランポリンが、Intel Advanced Performance Extensions (APX) アプリケーションの非互換性の原因になっている可能性が特定されました。回避策として、BIND_NOW
実行可能ファイルを使用するか、標準の呼び出し規則のみを使用できます。この更新により、glibc
の動的リンカーは APX 関連のレジスターを保持します。
この変更により、スタックの最上部を超える追加の空間が必要になります。この空間を厳密に制限するユーザーは、場合によってはスタック制限を調整または評価する必要があります。
Jira:RHEL-25046[1]
glibc
での AMD Zen 3 および Zen 4 のパフォーマンスを最適化しました
以前は、AMD Zen 3 および Zen 4 プロセッサーは、最適な選択かどうかにかかわらず、memcpy
および memmove
ライブラリールーチンの Enhanced Repeat Move String (ERMS) バージョンを使用することがありました。この glibc
更新により、AMD Zen 3 および Zen 4 プロセッサーは最適なバージョンの memcpy
と memmove
を使用するようになりました。
Jira:RHEL-25531[1]
GDB のシステムバージョンがバージョン 14.2 にリベースされ、GDB が GCC Toolset から削除されました
GDB がバージョン 14.2 に更新されました。RHEL 9.5 以降、GDB は、RHEL のマイナーリリースでシステムバージョンがリベースされた Rolling Application Stream に移行しています。したがって、GDB は RHEL 9 の GCC Toolset 14 には含まれていません。
以下の段落では、GDB 12.1 から GDB 14.2 への主な変更点を示します。
全般:
-
info breakpoints
コマンドは、無効なブレークポイントの有効なブレークポイントの位置をy-
状態で表示するようになりました。 -
ELF の Zstandard (
ELFCOMPRESS_ZSTD
) で圧縮されたデバッグセクションのサポートが追加されました。 -
テキストユーザーインターフェイス (TUI) では、現在の位置を示すインジケーターで強調表示されるソースコードとアセンブリコードのスタイルがデフォルトで設定されなくなりました。スタイルを再度有効にするには、新しいコマンド
set style tui-current-position
を使用します。 -
新しい簡易変数
$_inferior_thread_count
には、現在の inferior 内のライブスレッドの数が含まれます。 -
コード位置が複数あるブレークポイントの場合、GDB は
<breakpoint_number>.<location_number>
構文を使用してコードの場所を出力するようになりました。 -
ブレークポイントにヒットすると、GDB は
$_hit_bpnum
および$_hit_locno
簡易変数をヒットしたブレークポイント番号とコード位置番号に設定するようになりました。これで、disable $_hit_bpnum
コマンドを使用して最後にヒットしたブレークポイントを無効にしたり、disable $_hit_bpnum.$_hit_locno
コマンドを使用して特定のブレークポイントコードの位置のみを無効にしたりできるようになりました。 -
NO_COLOR
環境変数のサポートが追加されました。 - 64 ビットを超える整数型のサポートが追加されました。
-
マルチターゲット機能設定用の新しいコマンドを使用して、リモートターゲット機能セットを設定できます (コマンドの
set remote <name>-packet
とshow remote <name>-packet
を参照)。 - デバッガーアダプタープロトコルのサポートが追加されました。
-
新しい
inferior
キーワードを使用して、ブレークポイントを inferior 固有のブレークポイントに設定できるようになりました (コマンドのbreak
またはwatch
を参照)。 -
新しい
$_shell()
簡易関数を使用して、式の評価中にシェルコマンドを実行できるようになりました。
既存コマンドの変更点:
break
、watch
-
break
およびwatch
コマンドでthread
またはtask
キーワードを複数回使用すると、キーワードの最後のインスタンスのスレッドまたはタスク ID が使用されるのではなく、エラーが発生するようになりました。 -
同じ
break
またはwatch
コマンドでthread
、task
、inferior
キーワードを複数使用できなくなりました。
-
printf
、dprintf
-
printf
およびdprintf
コマンドは、print
コマンドと同じ方法で式をフォーマットする%V
出力形式を受け入れるようになりました。たとえばprintf "%V[-array-indexes on]", <array>
のように、コマンドの後に括弧[…]
で囲んだ追加の print オプションを使用して、出力形式を変更することもできます。
-
list
-
.
引数を使用して、現行フレームの実行ポイント付近の位置、または inferior が開始されていない場合はmain()
関数の開始付近の位置を出力できるようになりました。 -
ファイル内で利用可能な行数より多くのソース行をリストしようとすると、警告が出され、ユーザーに
.
引数を参照するよう指示されます。
-
document user-defined
- ユーザー定義のエイリアスを文書化できるようになりました。
新しいコマンド:
-
set print nibbles [on|off]
(デフォルト:off
)、show print nibbles
-print/t
コマンドを使用した場合に 4 ビット (ニブル) のグループでバイナリー値を表示するかどうかを制御します。 -
set debug infcall [on|off]
(デフォルト:off
)、show debug infcall
- inferior 関数呼び出しに関する追加のデバッグメッセージを出力します。 -
set debug solib [on|off]
(デフォルト:off
)、show debug solib
- 共有ライブラリーの処理に関する追加のデバッグメッセージを出力します。 -
set print characters <LIMIT>
、show print characters
、print -characters <LIMIT>
- 文字列うち何文字を出力するか制御します。 -
set debug breakpoint [on|off]
(デフォルト:off
)、show debug breakpoint
- ブレークポイントの挿入と削除に関する追加のデバッグメッセージを出力します。 -
maintenance print record-instruction [ N ]
- 指定された命令の記録された情報を出力します。 -
maintenance info frame-unwinders
- 現在有効なフレームアンワインダーを優先度の高いものから順にリストします。 -
maintenance wait-for-index-cache
- インデックスキャッシュへの保留中の書き込みがすべて完了するまで待機します。 -
info main
- プログラムのエントリーポイントを識別するためにメインシンボルに関する情報を出力します。 -
set tui mouse-events [on|off]
(デフォルト:on
)、show tui mouse-events
- マウスクリックイベントを、TUI および Python エクステンションに送信するか (on
の場合)、ターミナルに送信するか (off
の場合) を制御します。
Machine Interface (MI) の変更:
- MI バージョン 1 は削除されました。
-
MI は、逆実行履歴をすべて使用すると、
no-history
が報告されるようになりました。 -
-break-insert
コマンドの出力で、thread
およびtask
ブレークポイントフィールドが 2 回報告されなくなりました。 - 存在しないスレッド ID でスレッド固有のブレークポイントを作成できなくなりました。
-
-stack-list-arguments
、-stack-list-locals
、-stack-list-variables
、および-var-list-children
コマンドの--simple-values
引数は、ターゲットが simple の場合に参照型を simple として扱うようになりました。 -
-break-insert
コマンドは、inferior 固有のブレークポイントを作成するための新しい-g thread-group-id
オプションを受け入れるようになりました。 -
ブレークポイント作成通知と
-break-insert
コマンドの出力に、メインブレークポイントと各ブレークポイントの位置のオプションフィールドinferior
を追加できるようになりました。 -
breakpoint-hit
の停止理由を示す非同期レコードに、ブレークポイントの位置が複数の場合にコードの位置番号を示すオプションフィールドlocno
が含まれるようになりました。
GDB Python API の変更点:
Events
-
新しい
gdb.ThreadExitedEvent
イベント。 -
progspace
およびreload
属性を持つExecutableChangedEvent
オブジェクトを出力する新しいgdb.executable_changed
イベントレジストリー。 -
新しい
gdb.events.new_progspace
およびgdb.events.free_progspace
イベントレジストリー。NewProgpspaceEvent
およびFreeProgspaceEvent
イベント型を出力します。両方のイベント型に、GDB に追加または GDB から削除されるgdb.Progspace
プログラムスペースを指定するための単一の属性progspace
があります。
-
新しい
gdb.unwinder.Unwinder
クラス-
name
属性は読み取り専用になりました。 -
__init__
関数の name 引数はstr
型である必要があります。そうでない場合はTypeError
が発生します。 -
enabled
属性はbool
型のみを受け入れるようになりました。
-
gdb.PendingFrame
クラス-
新しいメソッド:
name
、is_valid
、pc
、language
、find_sal
、block
、function
。これらはgdb.Frame
クラスの同様のメソッドを反映しています。 -
create_unwind_info
関数のframe-id
引数は、pc
、sp
、およびspecial
属性に対して整数またはgdb.Value
オブジェクトのいずれかにできるようになりました。
-
新しいメソッド:
-
gdb.PendingFrame.create_unwind_info
関数に渡すことができる新しいgdb.unwinder.FrameId
クラス。 -
gdb.disassembler.DisassemblerResult
クラスはサブクラス化できなくなりました。 -
gdb.disassembler
モジュールにスタイルサポートが含まれるようになりました。 -
新しい
gdb.execute_mi(COMMAND, [ARG]…)
関数。GDB/MI コマンドを呼び出して結果を Python ディクショナリーとして返します。 -
新しい
gdb.block_signals()
関数。GDB が処理する必要のあるすべてのシグナルをブロックするコンテキストマネージャーを返します。 -
threading.Thread
クラスの新しいgdb.Thread
サブクラス。start
メソッドでgdb.block_signals
関数を呼び出します。 -
gdb.parse_and_eval
関数に、グローバルシンボルの解析を制限するための新しいglobal_context
パラメーターが追加されました。 gdb.Inferior
クラス-
新しい
arguments
属性。既知の場合に inferior へのコマンドライン引数を保持します。 -
新しい
main_name
属性。既知の場合に inferior のmain
関数の名前を保持します。 -
新しい
clear_env
、set_env
、およびunset_env
メソッド。inferior が開始される前にその環境を変更できます。
-
新しい
gdb.Value
クラス-
オブジェクトの値を割り当てる新しい
assign
メソッド。 -
配列のような値を配列に変換する新しい
to_array
メソッド。
-
オブジェクトの値を割り当てる新しい
gdb.Progspace
クラス-
新しい
objfile_for_address
メソッド。指定されたアドレス (存在する場合) をカバーするgdb.Objfile
オブジェクトを返します。 -
Progspace.filename
変数に対応するgdb.Objfile
オブジェクトを保持する新しいsymbol_file
属性 (ファイル名がNone
の場合はNone
)。 -
新しい
executable_filename
属性。exec-file
またはfile
コマンドによって設定されたファイル名の文字列を保持します (実行可能ファイルが設定されていない場合はNone
)。
-
新しい
gdb.Breakpoint
クラス-
新しい
inferior
属性。inferior 固有のブレークポイントの inferior ID (整数) が含まれます (そのようなブレークポイントが設定されていない場合はNone
)。
-
新しい
gdb.Type
クラス-
新しい
is_array_like
およびis_string_like
メソッド。型の実際の型コードにかかわらず、配列型か文字列型かを反映します。
-
新しい
-
新しい
gdb.ValuePrinter
クラス。pretty-printer を適用した結果の基本クラスとして使用できます。 -
新しく実装された
gdb.LazyString.__str__
メソッド。 gdb.Frame
クラス-
新しい
static_link
メソッド。ネストされた関数フレームの外側のフレームを返します。 -
新しい
gdb.Frame.language
メソッド。フレームの言語の名前を返します。
-
新しい
gdb.Command
クラス-
GDB は、文字列をヘルプ出力として使用する前に、
gdb.Command
クラスとgdb.Parameter
サブクラスのドキュメント文字列を再フォーマットして、各行の先頭の不要な空白を削除するようになりました。
-
GDB は、文字列をヘルプ出力として使用する前に、
gdb.Objfile
クラス-
新しい
is_file
属性。
-
新しい
-
新しい
gdb.format_address(ADDRESS, PROGSPACE, ARCHITECTURE)
関数。逆アセンブラーからアドレス、シンボル、オフセット情報を出力する際に同じ形式を使用します。 -
新しい
gdb.current_language
関数。現在の言語の名前を返します。 -
GDB の逆アセンブラーをラップするための新しい Python API。
gdb.disassembler.register_disassembler(DISASSEMBLER, ARCH)
、gdb.disassembler.Disassembler
、gdb.disassembler.DisassembleInfo
、gdb.disassembler.builtin_disassemble(INFO, MEMORY_SOURCE)
、gdb.disassembler.DisassemblerResult
が含まれます。 -
新しい
gdb.print_options
関数。gdb.Value.format_string
関数で受け入れられる形式で、一般的な出力オプションのディクショナリーを返します。 gdb.Value.format_string
関数-
gdb.Value.format_string
は、print
またはその他の同様の操作中に呼び出された場合に、print
コマンドで提供される形式を使用するようになりました。 -
gdb.Value.format_string
は、summary
キーワードを受け入れるようになりました。
-
-
新しい
gdb.BreakpointLocation
Python 型。 -
gdb.register_window_type
メソッドは、受け入れられるウィンドウ名のセットを制限するようになりました。
アーキテクチャー固有の変更:
AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー
-
libopcodes
ライブラリーを使用した逆アセンブラースタイルのサポートが追加されました。現在、これがデフォルトとして使用されています。set style disassembler *
コマンドを使用して、逆アセンブラーの出力スタイルを変更できます。代わりに Python Pygments スタイルを使用するには、新しいmaintenance set libopcodes-styling off
コマンドを使用します。
-
64 ビット ARM アーキテクチャー
- Memory Tagging Extension (MTE) のメモリータグデータをダンプするためのサポートが追加されました。
- Scalable Matrix Extension 1 および 2 (SME/SME2) のサポートが追加されました。ZA 状態での手動関数呼び出しや、DWARF に基づく Scalable Vector Graphics (SVG) の変更の追跡など、一部の機能はまだ試験版またはアルファ版と見なされています。
- Thread Local Storage (TLS) 変数のサポートが追加されました。
- ハードウェアウォッチポイントのサポートが追加されました。
64 ビット IBM Z アーキテクチャー
-
IBM Z ターゲット上の新しい
arch14
命令の記録および再生のサポート (specialized-function-assist 命令NNPA
を除く)。
-
IBM Z ターゲット上の新しい
IBM Power Systems、リトルエンディアン
- POWER11 のベース有効化のサポートを追加しました。
アプリケーションストリームのローリングの詳細は、Red Hat Enterprise Linux アプリケーションストリームライフサイクル を参照してください。
JIRA:RHEL-36211、JIRA:RHEL-10550、JIRA:RHEL-39555
elfutils
がバージョン 0.191 にリベース
elfutils
パッケージがバージョン 0.191 に更新されました。以下は、主な改善点です。
libdw
ライブラリーの変更点:-
dwarf_addrdie
関数が、debug_aranges
セクションがないバイナリーをサポートするようになりました。 - DWARF パッケージファイルのサポートが改善されました。
-
新しい
dwarf_cu_dwp_section_info
関数が追加されました。
-
-
debuginfod
サーバーのキャッシュエビクションロジックが強化され、vdso.debug
などの小さいファイル、頻繁に使用されるファイル、または遅いファイルの保持が改善されました。 -
srcfiles
ユーティリティーが、DWARF/ELF ファイルのソースファイルを取得してzip
アーカイブに追加できるようになりました。
SystemTap
がバージョン 5.1 にリベースされました
SystemTap
トレーシングおよびプローブツールがバージョン 5.1 に更新されました。主な変更点は、以下のとおりです。
-
スクリプトのコンパイル中に権限を減らすための実験的な
--build-as=USER
フラグ。 - ホスト PID によって識別される、コンテナー内で実行されているプローブプロセスのサポートの向上。
- ユーザー空間ハードウェアブレークポイントとウォッチポイント用の新しいプローブ。
-
--runtime=bpf
モードの--remote
操作のサポート。 - カーネルとユーザーのトランスポートの堅牢性の向上。
valgrind
がバージョン 3.23.0 にリベース
Valgrind
スイートがバージョン 3.23.0 に更新されました。主な機能拡張は、次のとおりです。
-
--track-fds=yes
オプションが、ファイル記述子の二重クローズに対して警告し、抑制可能なエラーを生成し、XML 出力をサポートするようになりました。 -
--show-error-list=no|yes
オプションが、抑制されたエラーも出力する新しい値all
を受け入れるようになりました。 -
64 ビット IBM Z アーキテクチャーで、
Valgrind
が Neural Network Processing Assist (NNPA) ファシリティーのベクトル命令 (VCNF
、VCLFNH
、VCFN
、VCLFNL
、VCRNF
、NNPA
(z16/arch14)) をサポートするようになりました。 -
64 ビット ARM アーキテクチャーで、
Valgrind
がdotprod
命令 (sdot/udot
) をサポートするようになりました。 -
AMD および Intel 64 ビットアーキテクチャーで、
Valgrind
が x86_64-v3 マイクロアーキテクチャーに対してより正確な命令サポートを提供するようになりました。 -
Valgrind
が、メモリーの重複を検出できるwcpncpy
、memccpy
、strlcat
、およびstrlcpy
関数のラッパーを提供するようになりました。 -
Valgrind
が、Linux システムコールmlock2
、fchmodat2
、およびpidfd_getfd
をサポートするようになりました。
Jira:RHEL-29534、Jira:RHEL-10551
libabigail
バージョン 2.5 にリベース
libabigail
ライブラリーがバージョン 2.5 に更新されました。主な変更点は、以下のとおりです。
- 柔軟な配列データメンバーの厳密な変換の抑制仕様が改善されました。
- C++ バイナリーの pointer-to-member 型のサポートが追加されました。
-
abicompat
ツールのweak
モードが改善されました。 -
オペレーティングシステムの ABI を管理するための新しい
abidb
ツール。 - 多くのバグ修正。
Jira:RHEL-30013, Jira:RHEL-7332, Jira:RHEL-7325
新しい GCC Toolset 14
GCC Toolset 14 は、最新バージョンの開発ツールを提供するコンパイラーツールセットです。これは、AppStream リポジトリー内の Software Collection の形式で Application Stream として利用できます。
以下のツールおよびバージョンは、GCC Toolset 14 で利用できます。
- GCC 14.2
-
binutils
2.41 -
annobin
12.70 -
dwz
0.14
GDB のシステムバージョンがリベースされ、GDB は GCC ツールセットに含まれなくなった ことに注意してください。
GCC Toolset 14 をインストールするには、ルートとして次のコマンドを入力します。
# dnf install gcc-toolset-14
GCC Toolset 14 のツールを実行するには、以下のコマンドを実行します。
$ scl enable gcc-toolset-14 <tool>
GCC Toolset 14 のツールバージョンによってこのツールのシステムバージョンをオーバーライドするシェルセッションを実行するには、以下のコマンドを実行します。
$ scl enable gcc-toolset-14 bash
GCC Toolset 14 コンポーネントは、GCC Toolset 14 Toolchain
コンテナーイメージで利用できます。
詳細は、GCC Toolset 14 および GCC Toolset の使用 を参照してください。
Jira:RHEL-29758[1]、Jira:RHEL-29852
GCC Toolset 14: GCC がバージョン 14.2 にリベース
GCC Toolset 13 では、GNU Compiler Collection (GCC) がバージョン 13.1.1 に更新されました。
主な変更点は、以下のとおりです。
- 最適化と診断の改善
-
一連のハードニングフラグを有効化する新しい包括的な
-fhardened
オプション -
関数の途中に制御を移す攻撃を検出する新しい
-fharden-control-flow-redundancy
オプション -
関数と変数のスタックスクラビングプロパティーを制御する新しい
strub
型属性 -
特定の
mem*
関数のインライン展開を強制する新しい-finline-stringops
オプション - 新しい OpenMP 5.1、5.2、6.0 機能のサポート
- いくつかの C23 の新機能
- 複数の新しい C++23 および C++26 機能
- いくつかの C++ 不具合報告の解決
- C++ ライブラリーにおける C++20、C++23、C++26 の実験的サポートの新規追加と改良
- 64 ビット ARM アーキテクチャーの新しい CPU のサポート
- 64 ビット Intel アーキテクチャーの複数の新しい命令セットアーキテクチャー (ISA) 拡張 (例: AVX10.1、AVX-VNNI-INT16、SHA512、SM4)
- GCC の静的アナライザーの新しい警告
- 一部の警告をエラーに変更 (詳細は、GCC 14 への移植 を参照)
- さまざまなバグ修正
GCC 14 の変更点の詳細は、アップストリームの GCC リリースノート を参照してください。
Jira:RHEL-29853[1]
GCC Toolset 14: annobin
がバージョン 12.70 にリベース
GCC Toolset 14 で、annobin
がバージョン 12.52 に更新されました。更新されたバイナリーテスト用の annobin
ツールセットにより、さまざまなバグ修正が提供され、新しいテストが導入され、新しいバージョンの GCC、Clang、LLVM、および Go コンパイラーをビルドして使用するようにツールが更新されます。強化されたツールにより、非標準的な方法でビルドされたプログラムの新しい問題を検出できます。
Jira:RHEL-29850[1]
GCC Toolset 14: binutils
がバージョン 2.41 にリベース
RHEL 9.5 は、GCC Toolset 14 binutils
バージョン 2.41 とともに配布されます。新機能は次のとおりです。
-
binutils
ツールは、64 ビット Intel および ARM アーキテクチャーのアーキテクチャー拡張をサポートします。 -
リンカーが、
--remap-inputs <PATTERN>=<FILE>
コマンドラインオプションを受け入れるようになりました。これにより、<PATTERN>
に一致する入力ファイルを<FILE>
に置き換えることができます。さらに、--remap-inputs-file=<FILE>
オプションを使用して、このような再マッピングディレクティブを任意の数含むファイルを指定できます。 -
ELF ターゲットの場合、リンカーのコマンドラインオプション
--print-map-locals
を使用して、リンカーマップにローカルシンボルを含めることができます。 -
ほとんどの ELF ベースのターゲットでは、
--enable-linker-version
オプションを使用して、リンカーのバージョンを文字列として.comment
セクションに挿入できます。 -
リンカースクリプト構文に、出力セクション用の新しいコマンド
ASCIZ "<string>"
が追加されました。このコマンドは、現在の場所にゼロ終端の文字列を挿入します。 -
新しい
-z nosectionheader
リンカーコマンドラインオプションを使用して、ELF セクションヘッダーを省略できます。
Jira:RHEL-29851[1]
LLVM ツールセットが 18.1.8 に更新される
LLVM Toolset がバージョン 17.0.6 に更新されました。
LLVM の主な更新点:
-
以下の命令の定数式バリアントが削除されました。
and
、or
、lshr
、ashr
、zext
、sext
、fptrunc
、fpext
、fptoui
、fptosi
、uitofp
、sitofp
。 -
llvm.exp10
組み込み関数が追加されました。 -
グローバル変数の
code_model
属性が追加されました。 - AArch64、AMDGPU、PowerPC、RISC-V、SystemZ、x86 アーキテクチャーのバックエンドが改善されました。
- LLVM ツールが改善されました。
Clang の主な機能拡張:
C++20 機能のサポート:
-
Clang は、グローバルモジュールフラグメント内の宣言に対して One Definition Rule (ODR) チェックを実行しなくなりました。より厳密な動作を有効にするには、
-Xclang -fno-skip-odr-check-in-gmf
オプションを使用してください。
-
Clang は、グローバルモジュールフラグメント内の宣言に対して One Definition Rule (ODR) チェックを実行しなくなりました。より厳密な動作を有効にするには、
C++23 機能のサポート:
-
ラムダでの属性の使用について警告するための新しい診断フラグ
-Wc++23-lambda-attributes
が追加されました。
-
ラムダでの属性の使用について警告するための新しい診断フラグ
C++2c 機能のサポート:
-
同じスコープ内で、
_
文字をプレースホルダー変数名として複数回使用できるようになりました。 - 属性が、文字列リテラルである属性パラメーター内で未評価の文字列を要求するようになりました。
- C++26 の列挙型に対する非推奨の算術変換が削除されました。
- テンプレートパラメーター初期化の仕様が改善されました。
-
同じスコープ内で、
- 変更点の完全なリストについては、Clang のアップストリームのリリースノート を参照してください。
Clang の ABI の変更点:
-
x86_64 の SystemV ABI に従い、
__int128
引数がレジスターとスタックスロット間で分割されなくなりました。 - 詳細は、Clang の ABI 変更点のリスト を参照してください。
後方互換性のない主な変更点:
- テンプレート化された演算子の引数の逆順に関するバグ修正により、以前は C++17 で受け入れられていたコードが C++20 では機能しなくなります。
-
GCC_INSTALL_PREFIX
CMake 変数 (デフォルトの--gcc-toolchain=
を設定する変数) が非推奨になり、削除される予定です。代わりに、設定ファイルで--gcc-install-dir=
または--gcc-triple=
オプションを指定してください。 -
プリコンパイル済みヘッダー (PCH) 生成 (
-c -xc-header
および-c -xc++-header
) のデフォルトの拡張子名が、.gch
ではなく.pch
になりました。 -
-include ah
がahgch
ファイルをプローブするときに、そのファイルが Clang PCH ファイルまたは Clang PCH ファイルを含むディレクトリーでない場合、include がahgch
を無視するようになりました。 -
__has_cpp_attribute
および__has_c_attribute
が特定の C++-11 スタイルの属性に対して誤った値を返すバグが修正されました。 -
逆の
operator==
の追加時に一致するoperator!=
を検出する際のバグが修正されました。 - 関数テンプレートの名前マングリングルールが変更され、テンプレートパラメーターリストまたは requires 句で関数をオーバーロードできるようになりました。
-
-Wenum-constexpr-conversion
警告が、システムヘッダーとマクロでデフォルトで有効になりました。これは、次の Clang リリースでハード (ダウングレード不可能な) エラーに変更されます。 - C++20 名前付きモジュールのインポートされたモジュールへのパスが、ハードコードできなくなりました。依存するすべてのモジュールをコマンドラインから指定する必要があります。
-
import <module>
を使用してモジュールをインポートできなくなりました。Clang は明示的にビルドされたモジュールを使用します。 - 詳細は、重大である可能性のある変更点のリスト を参照してください。
詳細は、LLVM リリースノート および Clang リリースノート を参照してください。
LVM ツールセットは Rolling Application Stream であり、最新バージョンのみがサポートされます。詳細は、Red Hat Enterprise Linux Application Streams ライフサイクル ドキュメントを参照してください。
Rust Toolset がバージョン 1.79.0 にリベース
Rust Toolset がバージョン 1.75.0 に更新されました。以前提供されていたバージョン 1.75.0 以降の主な機能拡張は次のとおりです。
-
新しい
offset_of!
マクロ - C 文字列リテラルのサポート
-
インライン
const
式のサポート - 関連型の位置における境界のサポート
- 一時的な自動有効期間延長の改善
-
unsafe
前提条件のデバッグアサーション
Rust ツールセットは Rolling Application Stream であり、最新バージョンのみがサポートされます。詳細は、Red Hat Enterprise Linux Application Streams ライフサイクル ドキュメントを参照してください。
Go Toolset がバージョン 1.22 にリベース
Go Toolset がバージョン 1.21.0 に更新されました。
主な機能拡張は、次のとおりです。
- for ループ内の変数がイテレーションごとに作成されるようになりました。これにより、不慮のバグの共有を防ぐことができます。さらに、for ループは整数の範囲をカバーできるようになりました。
- ワークスペース内のコマンドで、ワークスペースの依存関係にベンダーディレクトリーを使用できるようになりました。
-
go get
コマンドが、従来のGOPATH
モードをサポートしなくなりました。この変更は、go build
コマンドとgo test
コマンドには影響しません。 -
vet
ツールが、for ループの新しい動作に合わせて更新されました。 - 型ベースのガベージコレクションメタデータを各ヒープオブジェクトの近くに保持することで、CPU パフォーマンスが向上するようになりました。
- インライン化の最適化が改善され、プロファイルに基づく最適化のサポートの強化によりパフォーマンスが向上しました。
-
新しい
math/rand/v2
パッケージが利用可能です。 - メソッドとワイルドカードのサポートにより、HTTP ルーティングパターンが強化されました。
詳細は、アップストリームの Go リリースノートを参照してください。
Go ツールセットは Rolling Application Stream であり、最新バージョンのみがサポートされます。詳細は、Red Hat Enterprise Linux Application Streams ライフサイクル ドキュメントを参照してください。
Jira:RHEL-29527[1]
PCP がバージョン 6.2.2 にリベースされました
Performance Co-Pilot (PCP) がバージョン 6.2.2 に更新されました。利用可能であった以前のバージョン 6.2.0 への主な変更点は、以下のとおりです。
新しいツールとエージェント
-
pcp2openmetrics
: Open Metrics 形式の PCP メトリクスをリモートエンドポイントにプッシュする新しいツール -
pcp-geolocate
: 緯度と経度のメトリクスラベルを報告する新しいツール -
pmcheck
: PCP コンポーネントを調査および制御するための新しいツール -
pmdauwsgi
: uWSGI サーバーから計装をエクスポートする新しい PCP エージェント
強化されたツール
-
pmdalinux
: 新しいカーネルメトリクス (hugepages、filesystems、TCP、softnet、virtual machine balloon) が追加されました。 -
pmdalibvirt
: メトリクスラベルのサポートを追加し、新しいバルーン、仮想 CPU、ドメイン情報メトリクスが追加されました。 -
pmdabpf
:pcp-atop
ユーティリティーと使用するための eBPF ネットワークメトリクスが改良されました。
Grafana
がバージョン 10.2.6 にリベース
Grafana
プラットフォームがバージョン 10.2.6 に更新されました。
主な機能拡張は、次のとおりです。
- 時系列およびローソク足ビジュアライゼーションの Y 軸を、Shift キーを押しながらクリックしてドラッグすることで拡大できるようになりました。
- ダッシュボード作成時のデータソースの選択が効率化されました。
- ユーザーインターフェイスが更新されました (ナビゲーションとコマンドパレットの更新など)。
-
変換に対するさまざまな改善 (
Add field from calculation
変換の新しい単項演算モードなど)。 - ダッシュボードとデータの視覚化に対するさまざまな改善 (空のダッシュボードとダッシュボードパネルの再設計など)。
- 新しいジオマップパネルとキャンバスパネル。
その他の変更点:
- ユーザー、アクセス、認証、認可、セキュリティーに対するさまざまな改善。
- アラートの改善と新しいアラート機能。
- パブリックダッシュボードが利用可能になりました。
以前利用可能だった Grafana
バージョン 9.2 以降の変更点の完全なリストについては、アップストリームのドキュメント を参照してください。
Jira:RHEL-31246[1]
GCC Toolset 13: GCC が AMD Zen 5 をサポートするようになる
GCC の GCC Toolset 13 バージョンでは、AMD Zen 5 プロセッサーマイクロアーキテクチャーのサポートが追加されました。サポートを有効にするには、-march=znver5
コマンドラインオプションを使用します。
Jira:RHEL-36523[1]
OpenJDK 17 の Red Hat ビルドが RHEL 9 のデフォルトの Java 実装になりました
デフォルトの RHEL 9 Java 実装は、ライフサイクル終了 (EOL) に達した OpenJDK 11 から OpenJDK 17 に変更されます。この更新後、OpenJDK 17 Java ランタイム環境と OpenJDK 17 Java ソフトウェア開発キットを提供する java-17-openjdk
パッケージは、java
および java-devel
パッケージも提供するようになります。詳細は、OpenJDK のドキュメント を参照してください。
java/bin
または java-OpenJDK/bin
を直接呼び出す RHEL 9 の既存のパッケージは、すぐに OpenJDK 17 を使用できるようになります。
java
または java-devel
パッケージを直接必要とする RHEL 9 の既存のパッケージ (つまり tomcat
と systemtap-runtime-java)
は、適切な依存関係を自動的に取得します。
Ant、Maven、および javapackages-tools
パッケージを通じて間接的に Java を使用しているパッケージは、RHEL 9.5 の一般提供開始後すぐに非同期更新で完全に移行されます。
OpenJDK を初めてインストールする必要がある場合、または依存関係チェーンを通じてデフォルトパッケージがインストールされていない場合は、DNF を使用します。
# dnf install java-17-openjdk-devel
詳細は、yum を使用して RHEL に OpenJDK の Red Hat ビルドの複数のマイナーバージョンをインストールする を参照してください。
RHEL 9 の現在の java-11-OpenJDK
パッケージは、これ以上更新されません。ただし、Red Hat は、2027 年 10 月 31 日まで、OpenJDK 11 の Red Hat ビルドの更新を含む延長ライフサイクルサポート (ELS) フェーズ 1 を提供します。
OpenJDK ELS プログラムと OpenJDK ライフサイクルに固有の情報については、OpenJDK ライフサイクルおよびサポートポリシー を参照してください。
Jira:RHEL-56094[1]
4.12. Identity Management
Python-jwcrypto
がバージョン 1.5.6 にリベースされました
Python-jwcrypto
パッケージがバージョン 1.5.6 に更新されました。このバージョンには、攻撃者が高圧縮率の悪意のある JWE トークンを渡すことでサービス拒否攻撃を引き起こす可能性がある問題に対するセキュリティー修正が含まれています。
Jira:RHELDOCS-18197[1]
ansible-freeipa が
1.13.2 にリベースされました
ansible-freeipa
パッケージがバージョン 1.12.1 から 1.13.2 にリベースされました。主な機能強化は次のとおりです。
-
ansible-freeipa
パッケージには、ansible-core
パッケージバージョン 2.15 以上が必要です。ansible-core
2.15 と最新バージョンのansible-freeipa
は、どちらも Appstream リポジトリーで入手できます。このため、ansible-core
を手動で更新する必要はありません。 -
ansible-freeipa
Playbook 用のアイデンティティー管理 (IdM) サーバーのインベントリーを動的に作成できるようになりました。freeipa
プラグインは、ドメイン内の IdM サーバーに関するデータを収集し、指定された IdM サーバーロールが割り当てられているサーバーのみを選択します。たとえば、ドメイン内のすべての IdM DNS サーバーのログを検索して、起こりうる問題を検出する必要がある場合、このプラグインにより、DNS サーバーロールを持つすべての IdM レプリカを検出し、管理対象ノードに自動的に追加できます。 単一の Ansible タスクを使用して複数の Identity Management (IdM) ユーザー、ユーザーグループ、ホスト、およびサービスを追加、変更、削除する
ansible-freeipa
Playbook をより効率的に実行できるようになりました。以前は、ユーザーリスト内の各エントリーに専用の API 呼び出しがありました。この機能強化により、複数の API 呼び出しがタスク内で 1 つの API 呼び出しに結合されます。これと同じことが、ユーザーグループ、ホスト、およびサービスのリストにも適用されます。その結果、
ipauser
、ipagroup
、ipahost
、およびipaservice
モジュールを使用してこれらの IdM オブジェクトを追加、変更、削除する速度が向上します。最大の利点は、クライアントコンテキストを使用すると得られます。ansible-freeipa は、
ansible-freeipa-collection
サブパッケージ内の Ansible コレクションとしてロールとモジュールも追加で提供するようになりました。新しいコレクションを使用するには:-
ansible-freeipa-collection
サブパッケージをインストールします。 -
ロールとモジュールの名前に
freeipa.ansible_freeipa
接頭辞を追加します。Ansible の推奨事項に従うには、完全修飾名を使用します。たとえば、ipahbacrule
モジュールを参照するには、freeipa.ansible_freeipa.ipahbacrule
を使用します。
module_defaults
を適用することで、freeipa.ansible_freeipa
コレクションの一部であるモジュールの使用を簡素化できます。-
ipa
がバージョン 4.9.12 にリベース
ipa
パッケージがバージョン 4.9.12 から 4.9.13 に更新されました。主な変更点は、以下のとおりです。
- OTP トークンを提供しないユーザーに対して、LDAP 認証を失敗するように強制できます。
- 信頼できる Active Directory ユーザーを使用して、Identity Management (IdM) クライアントを登録できます。
- FreeIPA のアイデンティティーマッピングに関するドキュメントが利用可能になりました。
-
Python-dns
パッケージがバージョン 2.6.1-1.el10 にリベースされました。 -
ansible-freeipa
パッケージが、バージョン 1.11 から 1.12.1 にリベースされました。
詳細は、FreeIPA および ansible-freeipa アップストリームのリリースノートを参照してください。
certmonger が
バージョン 0.79.20 にリベースされました
certmonger
パッケージがバージョン 0.79.20 にリベースされました。この更新には、さまざまなバグ修正と機能強化が含まれています。主なものは次のとおりです。
- 内部トークン内の新しい証明書の処理が強化され、更新時の削除プロセスが改善されました。
-
CKM_RSA_X_509
暗号化メカニズムのトークンに対する制限を削除しました。 -
getcert add-scep-ca
、--ca-cert
、および--ra-cert
オプションのドキュメントを修正しました。 - D-Bus サービスと設定ファイルの名前を正規名と一致するように変更しました。
-
getcert-resubmit
man ページに欠落していた.TP
タグを追加しました。 - SPDX ライセンス形式に移行しました。
-
getcert リスト
出力に所有者と権限の情報が含まれるようになりました。 -
cm_certread_n_parse
関数で NSS データベースの要件を削除しました。 - Webplate を使用して簡体字中国語、グルジア語、ロシア語の翻訳を追加しました。
samba
がバージョン 4.17.5 にリベースされました。
samba
パッケージはアップストリームバージョン 4.19.4 にアップグレードされ、以前のバージョンに対するバグ修正と機能拡張が提供されています。主な変更点は以下のとおりです。
-
smbacls
ユーティリティーは、任意アクセス制御リスト (DACL) エントリーを保存および復元できるようになりました。この機能は、Windowsicacls.exe
ユーティリティーの機能を模倣します。 - Samba は条件付きアクセス制御エントリー (ACE) をサポートするようになりました。
-
Samba は、
/var/run/utmp
ファイルから現在ログオンしているユーザーを読み取らなくなりました。/var/run/utmp が
2038 年に対応していない時間形式を使用しているため、この機能はNetWkstaGetInfo
レベル 102 およびNetWkstaEnumUsers
レベル 0 および 1 関数から削除されました。
Samba 4.11 以降はサーバーメッセージブロックバージョン 1 (SMB1) プロトコルが非推奨となり、今後のリリースで削除されることに注意してください。
Samba を起動する前にデータベースファイルがバックアップされます。smbd
、nmbd
、またはwinbind
サービスが起動すると、Samba が tdb
データベースファイルを自動的に更新します。Red Hat は、tdb
データベースファイルのダウングレードをサポートしていません。
Samba を更新した後、testparm
ユーティリティーを使用して /etc/samba/smb.conf
ファイルを確認します。
Jira:RHEL-33645[1]
389-ds-base がバージョン 2.4.5 にリベース
389-ds-base
パッケージがバージョン 1.4.3.39 に更新されました。バージョン 2.3.4 への主なバグ修正および機能拡張は、以下のとおりです。
MIT krb5
TCP 接続タイムアウト処理の改善
以前は、TCP 接続は 10 秒後にタイムアウトしていました。この更新により、MIT krb5
TCP 接続処理が変更され、デフォルトのタイムアウトが使用されなくなりました。request_timeout
設定では、個々の TCP 接続の期間ではなく、合計リクエスト期間が制限されるようになりました。この変更により、特に 2 要素認証の使用ケースにおける SSSD との統合の問題が解決されます。その結果、request_timeout
設定によってグローバルリクエストの最大期間が効果的に制御されるようになり、ユーザーは TCP 接続のより一貫した処理を体験できるようになります。
Jira:RHEL-17132[1]
新しい SSSD オプション: failover_primary_timeout
バックアップサーバーに切り替えた後、sssd
サービスがプライマリー IdM サーバーに再接続を試行する時間間隔を秒単位で指定するには、failover_primary_timeout
オプションを使用します。デフォルト値は 600 秒です。以前は、プライマリーサーバーが利用できない場合、SSSD は 31 秒の固定タイムアウト後に自動的にバックアップサーバーに切り替えていました。
Jira:RHEL-17659[1]
4.13. デスクトップ
GNOME オンラインアカウントはプロバイダーが使用できる機能を制限できます
システム設定ディレクトリー内の新しい goa.conf
ファイル (通常は /etc/goa.conf
という名前) を使用して、各プロバイダーが使用できる機能を制限できます。
goa.conf
ファイルでは、グループ名によってプロバイダーの種類が定義され、キーによってそれぞれの機能を無効にするブールスイッチが定義されます。機能にキーまたはセクションを設定しない場合、その機能は有効になります。
たとえば、Google アカウントのメール機能を無効にするには、次の設定を使用します。
[google] mail=false
すべてのプロバイダーをカバーするには、特別なセクション名 all を
使用できます。特定のプロバイダーの値が存在し、有効なブール値が含まれている場合は、その値が優先されます。無効にされた機能の組み合わせによっては、Evolution アプリケーションなどの GOA ユーザーが不完全または無効なアカウントを読み取る可能性があることに注意してください。必ず最初に変更をテストしてください。変更した設定を有効にするには、GNOME オンラインアカウントを再起動します。
4.14. Web コンソール
新しいパッケージ: Cockpit-files
Cockpit-files
パッケージは、RHEL Web コンソールにファイルマネージャーページを提供します。ファイルマネージャーを使用すると、次のアクションを実行できます。
- アクセスできるファイルシステム上のファイルとディレクトリーを参照する
- さまざまな基準でファイルとディレクトリーを並べ替える
- 表示されるファイルを部分文字列でフィルタリングする
- ファイルとディレクトリーのコピー、移動、削除、名前の変更
- ディレクトリーを作成する
- ファイルをアップロードする
- ブックマークファイルパス
- アクションにキーボードショートカットを使用する
Jira:RHELDOCS-16362[1]
4.15. Red Hat Enterprise Linux システムロール
ha_cluster
システムロールの新機能のサポート
ha_cluster
システムロールは、次の機能をサポートするようになりました。
- ノードおよびプリミティブリソースの使用属性の設定。
-
ha_cluster_node_options
変数を使用したノードアドレスと SBD オプションの設定。'ha_cluster_node_options' と 'ha_cluster' 変数の両方が定義されている場合、それらの値はマージされ、'ha_cluster_node_options' の値が優先されます。 - アクセス制御リスト (ACL) の設定。
- クラスターイベント (ノード障害やリソースの起動または停止など) の発生時に外部アクションを実行するように Pacemaker アラートを設定できます。
-
ha_cluster_install_cloud_agents
変数をtrue
に設定すると、クラウド環境のエージェントを簡単にインストールできます。
Jira:RHEL-30111、Jira:RHEL-27186、Jira:RHEL-33532、Jira:RHEL-17271
RHEL システムロールを使用した GFS2 ファイルシステムの設定をサポート
Red Hat Enterprise Linux 9.5 では、gfs2
RHEL システムロールを使用して Red Hat Global File System 2 (GFS2) の設定と管理がサポートされます。このロールにより、pcs
コマンドラインインターフェイスで管理される Pacemaker クラスターに GFS2 ファイルシステムが作成されます。
以前は、サポートされる設定で GFS2 ファイルシステムをセットアップするには、長い一連の手順を実行してストレージおよびクラスターリソースを設定する必要がありました。gfs2
ロールは、このプロセスを単純化します。このロールを使用すると、RHEL 高可用性クラスターで GFS2 ファイルシステムの設定に必要な最小限の情報のみ指定します。
gfs2 ロールは以下のタスクを実行します。
- Red Hat 高可用性クラスターで GFS2 ファイルシステムを設定するために必要なパッケージをインストールする
-
dlm
およびlvmlockd
クラスターリソースを設定する - GFS2 ファイルシステムに必要な LVM ボリュームグループと論理ボリュームを作成する
- 必要なリソース制約を備えた GFS2 ファイルシステムとクラスターリソースを作成する
Jira:RHELDOCS-18629[1]
新しい sudo
RHEL システムロール
sudo は
RHEL システム設定の重要な部分です。新しい sudo
RHEL システムロールを使用すると、RHEL システム全体で sudo 設定を大規模に一貫して管理できます。
ストレージ
RHEL システムロールが Stratis プールを管理できるようになりました
この機能強化により、ストレージ
RHEL システムロールを使用して次のタスクを実行できるようになります。
- 新しい暗号化された Stratis プールと暗号化されていない Stratis プールを作成する
- 既存の Stratis プールに新しいボリュームを追加する
- Stratis プールに新しいディスクを追加する
Stratis プールの管理方法やその他の関連情報の詳細は、/usr/share/doc/rhel-system-roles/storage/
ディレクトリー内のリソースを参照してください。
journald
RHEL システムロールの新しい変数: journald_rate_limit_interval_sec
および journald_rate_limit_burst
次の 2 つの変数が journald
RHEL システムロールに追加されました。
-
journald_rate_limit_interval_sec
(整数、デフォルトは 30):journald_rate_limit_burst
ログメッセージのみが処理される時間間隔を秒単位で設定します。journald_rate_limit_interval_sec
変数は、journald.conf
ファイルのRateLimitIntervalSec
設定に対応します。 -
journald_rate_limit_burst
(整数、デフォルトは 10,000):journald_rate_limit_interval_sec
で定義された時間内に処理されるログメッセージの上限を設定します。journald_rate_limit_burst
変数は、journald.conf
ファイルのRateLimitBurst
設定に対応します。
その結果、これらの設定を使用して journald
サービスのパフォーマンスを調整し、短期間に多数のメッセージを記録するアプリケーションを処理できるようになります。
詳細は、/usr/share/doc/rhel-system-roles/journald/
ディレクトリー内のリソースを参照してください。
podman
RHEL システムロールの新しい変数: podman_registry_username
および podman_registry_password
podman
RHEL システムロールを使用すると、コンテナーイメージレジストリーの認証情報をグローバルに、または仕様ごとに指定できるようになりました。そのためには、両方のロール変数を設定する必要があります。
-
podman_registry_username
(文字列、デフォルトは未設定): コンテナーイメージレジストリーでの認証に使用するユーザー名を設定します。podman_registry_password
変数も設定する必要があります。registry_username
変数を使用して、仕様ごとにpodman_registry_username を
上書きできます。認証情報に関連する各操作は、その仕様で定義された詳細なルールとプロトコルに従って実行されます。 -
podman_registry_password
(文字列、デフォルトは未設定): コンテナーイメージレジストリーでの認証用のパスワードを設定します。podman_registry_username
変数も設定する必要があります。registry_password
変数を使用して、仕様ごとにpodman_registry_password を
上書きできます。認証情報に関連する各操作は、その仕様で定義された詳細なルールとプロトコルに従って実行されます。セキュリティーのため、Ansible Vault 機能を使用してパスワードを暗号化します。
その結果、podman
RHEL システムロールを使用して、レジストリーへのアクセスに認証が必要なイメージを含むコンテナーを管理できるようになります。
詳細は、/usr/share/doc/rhel-system-roles/podman/
ディレクトリー内のリソースを参照してください。
postfix
RHEL システムロールの新しい変数: postfix_files
postfix
RHEL システムロールを使用すると、Postfix メール転送エージェントの追加ファイルを設定できるようになりました。この目的のために、次のロール変数を使用できます。
postfix_files
-
必要に応じて Postfix ルックアップテーブルに変換できる、
/etc/postfix/
ディレクトリーに配置されるファイルのリストを定義します。この変数を使用すると、Simple Authentication and Security Layer (SASL) 認証情報などを設定できます。セキュリティーのため、Ansible Vault 機能を使用して、認証情報やその他の秘密を含むファイルを暗号化します。
その結果、postfix
RHEL システムロールを使用してこれらの追加ファイルを作成し、Postfix 設定に統合することができます。
詳細は、/usr/share/doc/rhel-system-roles/postfix/
ディレクトリー内のリソースを参照してください。
スナップショット
RHEL システムロールは、LVM シンプールのスナップショットの管理をサポートするようになりました。
シンプロビジョニングを使用すると、スナップショット
RHEL システムロールを使用して、LVM シンプールのスナップショットを管理できます。これらのシンスナップショットはスペース効率に優れており、スナップショットの作成後にデータが書き込まれたり変更されたりした場合にのみサイズが大きくなります。ロールは、指定されたボリュームがシンプールにスケジュールされているかどうかを自動的に検出します。追加された機能は、大量の物理ストレージを消費せずに頻繁にスナップショットを取得する必要がある環境で役立つ可能性があります。
ログ
RHEL システムロールの新しいオプション: reopen_on_truncate
logging_inputs
変数の ファイル
入力タイプは、次のオプションをサポートするようになりました。
reopen_on_truncate
(ブール値、デフォルトは false)-
ログのローテーション中などに入力ログファイルが切り捨てられた場合に、
rsyslog
サービスが入力ログファイルを再度開くように設定します。reopen_on_truncate
ロールオプションは、rsyslog
のreopenOnTruncate
パラメーターに対応します。
その結果、ロギング
RHEL システムロールを通じて rsyslog を
自動的に設定し、切り捨てられた入力ログファイルを再度開くことができます。
詳細は、/usr/share/doc/rhel-system-roles/logging/
ディレクトリー内のリソースを参照してください。
Jira:RHEL-46590[1]
ログ
RHEL システムロールの新しい変数: logging_custom_config_files
ログ記録
RHEL システムロールに次の変数を使用して、カスタムログ記録設定ファイルを提供できます。
ログ記録カスタム設定ファイル
(リスト)-
デフォルトのログ記録設定ディレクトリーにコピーする設定ファイルのリストを設定します。たとえば、
rsyslog
サービスの場合は/etc/rsyslog.d/
ディレクトリーになります。これは、デフォルトのログ記録設定がそのディレクトリー内の設定ファイルをロードして処理することを前提としています。デフォルトのrsyslog
設定には、$IncludeConfig/etc/rsyslog.d/*.conf
などのディレクティブがあります。
その結果、ログ記録
RHEL システムロールでは提供されないカスタマイズされた設定を使用できるようになります。
詳細は、/usr/share/doc/rhel-system-roles/logging/
ディレクトリー内のリソースを参照してください。
ロギング
RHEL システムロールは、rsyslog
ファイルとディレクトリーの所有権と権限を設定できます。
logging_outputs
変数の ファイル
出力タイプは、次のオプションをサポートするようになりました。
-
mode
(raw、デフォルトは null):rsyslog
サービスのomfile
モジュールに関連付けられたFileCreateMode
パラメーターを設定します。 -
owner
(文字列、デフォルトは null):rsyslog
のomfile
モジュールに関連付けられたfileOwner
またはfileOwnerNum
パラメーターを設定します。値が整数の場合、fileOwnerNum
が設定されます。それ以外の場合は、fileOwner を
設定します。 -
group
(文字列、デフォルトは null):rsyslog
のomfile
モジュールに関連付けられたfileGroup
またはfileGroupNum
パラメーターを設定します。値が整数の場合、fileGroupNum
が設定されます。それ以外の場合は、fileGroup
を設定します。 -
dir_mode
(デフォルトは null):rsyslog
のomfile
モジュールに関連付けられたDirCreateMode
パラメーターを設定します。 -
dir_owner
(デフォルトは null):rsyslog
のomfile
モジュールに関連付けられたdirOwner
またはdirOwnerNum
パラメーターを設定します。値が整数の場合、dirOwnerNum
が設定されます。それ以外の場合は、dirOwner を
設定します。 -
dir_group
(デフォルトは null):rsyslog
のomfile
モジュールに関連付けられたdirGroup
またはdirGroupNum
パラメーターを設定します。値が整数の場合、dirGroupNum
が設定されます。それ以外の場合は、dirGroup を
設定します。
その結果、rsyslog
によって作成されたファイルとディレクトリーの所有権と権限を設定できます。
ファイルまたはディレクトリーのプロパティーは、Ansible ファイル
モジュール内の対応する変数と同じであることに注意してください。
詳細は、/usr/share/doc/rhel-system-roles/logging/
ディレクトリー内のリソースを参照してください。または、ansible-doc ファイル
コマンドの出力を確認します。
Jira:RHEL-34935[1]
ストレージ
RHEL システムロールを使用すると、管理対象ノードにフィンガープリントが作成されます。
まだ存在しない場合は、このロールを実行するたびに、ストレージによって
一意の識別子 (フィンガープリント) が作成されます。フィンガープリントは、管理対象ノードの /etc/fstab
ファイルに書き込まれる # system_role:storage
文字列の形式になります。その結果、ストレージ
によって管理されているノードを追跡できます。
podman
RHEL システムロールの新しい変数: podman_registry_certificates
および podman_validate_certs
次の 2 つの変数が podman
RHEL システムロールに追加されました。
-
podman_registry_certificates
(辞書要素のリスト): 指定されたコンテナーイメージレジストリーに接続するために使用される TLS 証明書とキーを管理できます。 -
podman_validate_certs
(ブール値、デフォルトは null): コンテナーイメージレジストリーからイメージをプルするときに TLS 証明書を検証するかどうかを制御します。デフォルトの null 値は、containers.podman.podman_image
モジュールによって設定されたデフォルトが使用されることを意味します。podman_validate_certs
変数は、validate_certs
変数を使用して仕様ごとに上書きできます。
その結果、podman
RHEL システムロールを使用して、コンテナーイメージレジストリーに接続するための TLS 設定を設定できるようになります。
詳細は、/usr/share/doc/rhel-system-roles/podman/
ディレクトリー内のリソースを参照してください。または、containers-certs (5) の
man ページを確認することもできます。
podman
RHEL システムロールの新しい変数: podman_credential_files
一部の操作では、レジストリーからコンテナーイメージを自動または無人でプルする必要があり、podman_registry_username
および podman_registry_password
変数は使用できません。
したがって、podman
RHEL システムロールは、コンテナーイメージレジストリーに対して認証するために containers-auth.json
ファイルを受け入れるようになりました。この目的のために、次のロール変数を使用できます。
podman_credential_files
(辞書要素のリスト)- リスト内の各辞書要素は、プライベートコンテナーイメージレジストリーへの認証用のユーザー認証情報を含むファイルを定義します。セキュリティーのため、Ansible Vault 機能を使用してこれらの認証情報を暗号化します。ファイル名、モード、所有者、ファイルグループを指定でき、さまざまな方法で内容を指定できます。詳細は、ロールのドキュメントを参照してください。
その結果、自動化された無人操作のためにコンテナーイメージレジストリーの認証情報を入力できるようになります。
詳細は、/usr/share/doc/rhel-system-roles/podman/
ディレクトリー内のリソースを参照してください。または、containers-auth.json (5)
および containers-registries.conf (5) の
man ページを確認することもできます。
nbde_client
RHEL システムロールにより、特定の設定の実行をスキップできるようになりました。
nbde_client
RHEL システムロールを使用すると、次のメカニズムを無効にできるようになりました。
- 初期 RAM ディスク
- NetworkManager フラッシュモジュール
- Dracut フラッシュモジュール
clevis-luks-askpass
ユーティリティーは、NetworkManager サービスが OS をネットワークに接続した後、ブートプロセスの後半で一部のストレージボリュームのロックを解除します。したがって、前述のメカニズムの設定変更は必要ありません。
その結果、高度なネットワーク設定をサポートするために上記の設定が実行されないようにしたり、ブートプロセスの後半でボリュームの暗号化解除が行われないようにしたりすることができます。
ssh
RHEL システムロールは、ObscureKeystrokeTiming
および ChannelTimeout
設定オプションを認識するようになりました。
ssh
RHEL システムロールは、OpenSSH ユーティリティースイートの次の設定オプションの追加を反映するように更新されました。
-
ObscureKeystrokeTiming
(yes|no| 間隔指定子、デフォルトは 20):ssh
ユーティリティーがネットワークトラフィックのパッシブオブザーバーからキーストローク間のタイミングを隠すかどうかを設定します。 -
ChannelTimeout
:ssh
ユーティリティーが非アクティブなチャネルを閉じるかどうか、また閉じる場合の速さを設定します。
ssh
RHEL システムロールを使用する場合は、次の例のように新しいオプションを使用できます。
--- - name: Non-exclusive sshd configuration hosts: managed-node-01.example.com tasks: - name: Configure ssh to obscure keystroke timing and set 5m session timeout ansible.builtin.include_role: name: rhel-system-roles.ssh vars: ssh_ObscureKeystrokeTiming: "interval:80" ssh_ChannelTimeout: "session=5m"
src
パラメーターが ネットワーク
RHEL システムロールに追加されました
network_connections
変数の ip
オプションの route
サブオプションに src
パラメーターが追加されました。このパラメーターは、ルートの送信元 IP アドレスを指定します。通常、マルチ WAN 接続に役立ちます。これらの設定により、マシンに複数のパブリック IP アドレスが確保され、送信トラフィックでは特定のネットワークインターフェイスに関連付けられた特定の IP アドレスが使用されるようになります。その結果、src
パラメーターのサポートにより、説明したシナリオでより堅牢で柔軟なネットワーク設定機能が確保され、トラフィックルーティングをより適切に制御できるようになります。
詳細は、/usr/share/doc/rhel-system-roles/network/
ディレクトリー内のリソースを参照してください。
ストレージ
RHEL システムロールは LVM 物理ボリュームのサイズを変更できるようになりました
ブロックデバイスのサイズが変更され、このデバイスを LVM で使用する場合は、LVM 物理ボリュームも調整できます。この機能強化により、ストレージ
RHEL システムロールを使用して、LVM 物理ボリュームのサイズを変更し、サイズを変更した後、基礎となるブロックデバイスのサイズと一致させることができます。自動サイズ変更を有効にするには、Playbook のプールで grow_to_fill: true
を設定します。
4.16. 仮想化
RHEL は、NVIDIA vGPU を接続した仮想マシンのライブマイグレーションをサポートしています。
今回の更新により、vGPU がアタッチされている稼働中の仮想マシンを別の KVM ホストにライブマイグレーションできるようになりました。現在、これは NVIDIA GPU でのみ可能です。
この機能は、特定の NVIDIA 仮想 GPU ソフトウェアドライバーバージョンでのみ利用できます。詳細については、関連する NVIDIA vGPU のドキュメントを参照してください。
Jira:RHELDOCS-16572[1]
nbdkit がバージョン 1.38 にリベースされました
nbdkit
パッケージはアップストリームバージョン 1.38 にリベースされ、さまざまなバグ修正と機能強化が提供されています。主な変更点は以下のとおりです。
- ブロックサイズの広告が強化され、新しい読み取り専用フィルターが追加されました。
- Python および OCaml バインディングは、サーバー API のより多くの機能をサポートします。
- サーバーをより堅牢にするために、内部構造体の整合性チェックが追加されました。
変更点の完全なリストについては、Clang のアップストリームのリリースノート を参照してください。
VNC ビューアーが、ramfb
のライブマイグレーション後に仮想マシンディスプレイを正しく初期化する
この更新により、仮想マシン (VM) のプライマリーディスプレイとして設定できる ramfb
フレームバッファーデバイスが強化されます。以前は、ramfb
は移行できなかったため、ramfb
を使用する仮想マシンではライブマイグレーション後に空白の画面が表示されていました。現在、ramfb
は、ライブマイグレーションと互換性があります。その結果、移行が完了すると仮想マシンデスクトップが表示されます。
4.17. クラウド環境の RHEL
awscli2 は
AWS 上の RHEL で一般利用可能になりました
awscli2
ユーティリティーを使用すると、RHEL インスタンスから Amazon Web Services (AWS) API を使用して、新しいインフラストラクチャーオファリングをデプロイしたり、既存のデプロイメントを管理したりできるようになりました。Red Hat Enterprise Linux リポジトリーから awscli2 を
インストールすると、awscli2 が
信頼できるソースからインストールされ、自動更新が受信されることに注意してください。その結果、クラウドデプロイメントサービスに関する情報を収集し、インフラストラクチャーリソースを管理し、awscli2
で提供される組み込みドキュメントを参照できるようになります。
Jira:RHEL-14523[1]
Azure のログコレクションがデフォルトで無効になりました
以前は、Microsoft Azure の Windows Azure Linux Agent (WALA)は、デフォルトで仮想マシン(VM)上のデバッグログを収集していました。ただし、これらのエージェントログには機密情報が含まれている可能性があります。データセキュリティーを向上させるために、WALA はデフォルトで無効になり、VM 上のデータを収集しません。ログ収集を再度有効にするには、次の手順を実行します。
-
/etc/waagent.conf
ファイルを編集します。 -
Logs.Collect
パラメーター値をy
に設定します。
Jira:RHEL-7273[1]
4.18. サポート性
--api-url
オプションが利用可能になる
--api-url
オプションを使用すると、必要に応じて別の API を呼び出すことができます。たとえば、OCP クラスターの API などです。例: sos collect --cluster-type=ocp --cluster-option ocp.api-url=_<API_URL> --alloptions
。
新しい --skip-cleaning-files
オプションが利用可能になる
sos report
コマンドの --skip-cleaning-files
オプションを使用すると、選択したファイルのクリーニングをスキップできます。このオプションは glob とワイルドカードをサポートしています。例: sos report -o host --batch --clean --skip-cleaning-files 'hostname'
。
Jira:RHEL-30893[1]
プラグインオプション名には、アンダースコアではなくハイフンのみを使用するようになりました
sos
グローバルオプション間の一貫性を保つために、プラグインオプション名ではアンダースコアではなくハイフンのみを使用するようになりました。たとえば、ネットワークプラグインの namespace_pattern
オプションは namespace-pattern
になり、--plugin-option networking.namespace-pattern=<pattern>
構文を使用して指定する必要があります。
Jira:RHELDOCS-18655[1]
4.19. コンテナー
Image Mode for RHEL が FIPS モードをサポートするようになりました
この機能強化により、bootc イメージを構築するときに FIPS モードを有効にして、FIPS 承認モジュールのみを使用するようにシステムを設定できるようになります。bootc-image-builder を
使用することもできますが、その場合は Containerfile 設定で FIPS 暗号化ポリシーを有効にする必要があります。または、RHEL Anaconda インストールを使用することもできますが、その場合は Containerfile で FIPS モードを有効にするだけでなく、システムインストールの起動時に fips=1
カーネル引数を追加する必要もあります。詳細は、FIPS モードを有効にしたシステムのインストール を参照してください。
以下は、fips=1
カーネル引数を有効にするための指示を含む Containerfile です。
FROM registry.redhat.io/rhel9/rhel-bootc:latest# # Enable fips=1 kernel argument: https://containers.github.io/bootc/building/kernel-arguments.html COPY 01-fips.toml /usr/lib/bootc/kargs.d/ # Install and enable the FIPS crypto policy RUN dnf install -y crypto-policies-scripts && update-crypto-policies --no-reload --set FIPS
Jira:RHELDOCS-18585[1]
Image Mode for RHEL は論理的にバインドされたアプリケーションイメージをサポートするようになりました
この機能強化により、ベース bootc イメージにライフサイクルがバインドされたコンテナーイメージがサポートされるようになりました。これにより、アプリケーションとオペレーティングシステムのさまざまな運用プロセスを統合することができ、アプリイメージはイメージファイルまたは同等のものとしてベースイメージから参照されます。その結果、システムインストール用の複数のコンテナーイメージを管理できます。たとえば、切断されたインストールの場合、システムは 1 つだけではなくすべてミラーリングする必要があります。
Jira:RHELDOCS-18666[1]
Podman と Buildah が、イメージインデックスへの OCI アーティファクトの追加をサポートするようになる
この更新により、アーティファクトマニフェストを作成し、それをイメージインデックスに追加できるようになりました。
buildah manifest add
コマンドは、次のオプションをサポートするようになりました。
-
アーティファクトマニフェストを作成するための
--artifact
オプション -
--artifact-type
、--artifact-config-type
、--artifact-layer-type
、--artifact-exclude-titles
、および--subject
オプションを使用して、作成するアーティファクトマニフェストの内容を微調整します。
buildah manifest annotate
コマンドは、以下のオプションをサポートするようになりました。
-
--index
オプションは、イメージインデックス内のエントリーの 1 つではなく、インデックス自体にアノテーションを設定します。 -
イメージインデックスの件名フィールドを設定するための
--subject
オプション。
buildah manifest create
コマンドが、新しいイメージインデックスにアノテーションを追加するための --annotation
オプションをサポートするようになりました。
Podman ヘルスチェックイベントを無効にするオプションが利用可能になりました
この機能強化により、containers.conf
設定ファイルの [engine]
セクションに新しい healthcheck_events
オプションが追加されました。これを使用して、health_status
イベントの生成を無効にできます。ヘルスチェックイベントのログ記録を無効にするには、`healthcheck_events=false` を設定します。
Podman のランタイムリソースの変更が永続化されます
podman update
コマンドを使用したコンテナー設定の更新は永続します。この機能強化は、SQLite と BoltDB データベースバックエンドの両方に適用されることに注意してください。
マルチアーキテクチャーイメージのビルドが完全にサポートされます
マルチアーキテクチャーコンテナーイメージを作成する podman farm build
コマンドが完全にサポートされるようになりました。
ファームとは、unix Podman ソケットが実行されているマシンのグループです。ファーム内のノードには、さまざまなアーキテクチャーのマシンを含めることができます。podman farm build
コマンドは、podman build --arch --platform
コマンドよりも高速です。
podman farm build
を使用して、次のアクションを実行できます。
- ファーム内のすべてのノードにイメージをビルドします。
- ファーム内のすべてのノード上のイメージをマニフェストリストにバンドルします。
-
すべてのファームノードで
podman build
コマンドを実行します。 -
--tag
オプションを使用して指定されたレジストリーにイメージをプッシュします。 - マニフェストリストをローカルに作成します。
- マニフェストリストをレジストリーにプッシュします。
マニフェストリストには、ファーム内に存在するネイティブアーキテクチャータイプごとに 1 つのイメージが含まれます。
Podman で Pod 用の Quadlet が利用可能になる
Podman v5.0 以降では、Quadlet を使用して、Pod の説明から systemd
サービスファイルを自動的に生成できます。
Podman v2.0 RESTful API が更新されました
libpod/images/json
エンドポイントに新しいフィールドが追加されました。
-
ターゲットがマニフェストであるかどうかを判断する
isManifest
ブールフィールド。libpod
エンドポイントは、イメージとマニフェストリストの両方を返します。 -
* イメージリストの
os
およびarch
フィールド。
Kubernetes YAML は、データボリュームコンテナーを init コンテナーとしてサポートするようになりました。
"io.podman.annotations.kube.image.automount/$ctrname"
アノテーションを使用して、ボリュームとして自動的にマウントするイメージのリストを Kubernetes YAML で指定できるようになりました。podman run --mount type=image,source=<image>,dst=<path>,`subpath=<path> を使用したイメージベースのマウントで、イメージの一部だけをコンテナーにマウントするための新しいオプション subpath
がサポートされるようになりました。
Container Tools パッケージが更新される
Podman、Buildah、Skopeo、crun
、runc
ツールを含む、更新された Container Tools RPM メタパッケージが利用可能になりました。Podman v5.0 には、以前のバージョンに対する次の注目すべきバグ修正と機能拡張が含まれています。
-
podman manifest add
コマンドは、マニフェストリストに OCI アーティファクトを追加するための新しい--artifact
オプションをサポートするようになりました。 -
podman create
、podman run
、podman push
コマンドは、イメージのプッシュとプルの再試行を設定するための--retry
および--retry-delay
オプションをサポートするようになりました。 -
podman run
およびpodman exec
コマンドは、ファイル記述子のリストをコンテナーに渡すための--preserve-fd
オプションをサポートするようになりました。これは、特定の数のファイル記述子を渡す--preserve-fds
の代わりとして使用します。 - Quadlet はテンプレート化されたユニットをサポートするようになりました。
-
podman kube play
コマンドは、volume.podman.io/image
アノテーションを使用してイメージベースのボリュームを作成できるようになりました。 -
podman kube play
コマンドで作成されたコンテナーには、新しいアノテーションio.podman.annotations.volumes-from
を使用して、他のコンテナーのボリュームを含めることができるようになりました。 -
podman kube play
コマンドで作成された Pod は、Pod 定義でio.podman.annotations.userns annotation
を使用して、ユーザー名前空間オプションを設定できるようになりました。 -
podman create
およびpodman run
の--gpus
オプションが、Nvidia GPU と互換性を持つようになりました。 -
podman create
およびpodman run
の--mount
オプションは、コンテナーに逆参照されたターゲットではなく、シンボリックリンクをマウントするための新しいマウントオプションno-dereference
をサポートするようになりました。 -
Podman は、レジストリーログイン認証情報を取得できる Docker 設定を指す新しい
--config
グローバルオプションをサポートするようになりました。 -
podman ps --format
コマンドは、新しい.Label
フォーマット指定子をサポートするようになりました。 -
podman run --userns=auto
オプションのuidmapping
およびgidmapping
オプションは、ホスト ID の前に@
記号を付けることでホスト ID にマップできるようになりました。 - Quadlet は systemd スタイルのドロップインディレクトリーをサポートするようになりました。
-
Quadlet は、新しい
.pod
ユニットファイルを使用して Pod を作成することをサポートするようになりました。 -
Quadlet は、
.container
ファイルでEntrypoint
とStopTimeout
という 2 つの新しいキーをサポートするようになりました。 -
Quadlet では、
.container
ファイルでUlimit
キーを複数回指定して、コンテナーに複数のulimit
を設定できるようになりました。 -
Quadlet では、
.container
ファイルでNotify
キーをhealthy
に設定して、ヘルスチェックに合格し始めたときにのみコンテナーが起動したことを通知するようにできます。 -
コンテナーに対する
podman inspect
コマンドの出力が変更されました。Entrypoint
フィールドは文字列から文字列の配列に変更され、StopSignal
は整数から文字列に変更されます。 -
コンテナーの
podman inspect
コマンドは、ヘルスチェックなしでコンテナーを検査する場合に、ヘルスチェックに対して nil を返すようになりました。 - 新しい BoltDB データベースを作成することはできなくなりました。作成を試みるとエラーが発生します。すべての新しい Podman インストールで、SQLite データベースバックエンドが使用されるようになりました。既存の BoltDB データベースは引き続き使用可能です。
- CNI ネットワークのサポートはビルドタグによって制限されており、デフォルトでは有効になっていません。
-
Podman は、
cgroups v1
システムで使用すると警告を出力するようになりました。cgroups v1
のサポートは非推奨となり、今後のリリースで削除される予定です。警告を抑制するには、PODMAN_IGNORE_CGROUPSV1_WARNING
環境変数を設定できます。 - Docker 互換 API 経由で送信されるネットワーク統計情報は、集約されずにインターフェイスごとになり、Docker の互換性が向上しました。
-
パフォーマンスを高めるために、ルートレスネットワーキングのデフォルトツールが
slirp4netns
からpasta
に変更されました。その結果、pasta
という名前のネットワークはサポートされなくなりました。 - List Images REST API で複数のフィルターを使用すると、フィルターが OR ではなく AND で結合されるようになったことで、Docker との互換性が向上しました。
配列を受け入れるいくつかの Podman CLI オプションの解析が変更され、文字列で区切られたリストを受け入れなくなり、代わりにオプションを複数回渡すことが必要になりました。以下が該当するオプションです。
-
podman manifest annotate
およびpodman manifest add
の--annotation
オプション -
podman kube play
の--configmap
、--log-opt
、--annotation
オプション
-
podman image trust set
の--pubkeysfile
オプション-
podman create
、podman run
、podman push
、podman pull
の--encryption-key
および--decryption-key
オプション -
podman exec
の--env-file
オプションと、podman create
およびpodman run
の--bkio-weight-device
、--device-read-bps
、--device-write-bps
、--device-read-iops
、--device-write-iops
、--device
、--label-file
、--chrootdirs
、--log-opt
、--env-file
オプション -
--hooks-dir
および--module
グローバルオプション
-
-
podman system reset
コマンドは、稼働しているコンテナーの停止を待たず、すぐにSIGKILL
シグナルを送信するようになりました。 -
podman network inspect
コマンドの出力に、ネットワークを使用する実行中のコンテナーが含まれるようになりました。 -
podman compose
コマンドは、AMD および Intel 64 ビットアーキテクチャー (x86-64-v2) と 64 ビット ARM アーキテクチャー (ARMv8.0-A) に加えて、他のアーキテクチャーでもサポートされるようになりました。 -
podman kube play
コマンドとpodman kube generate
コマンドの--no-trunc
オプションは非推奨になりました。Podman はアノテーションサイズに関して Kubernetes 仕様に準拠するようになったため、このオプションは不要になりました。 -
podman system connection
コマンドからの接続とpodman farm
コマンドからのファームは、podman-connections.conf
ファイルという新しい設定ファイルに書き込まれるようになりました。その結果、Podman はcontainers.conf
ファイルに書き込まなくなりました。Podman は、containers.conf
からの既存の接続を引き続き尊重します。 -
ほとんどの
podman farm
サブコマンドは、実行するためにファーム内のマシンに接続する必要がなくなりました。 -
podman create
コマンドとpodman run
コマンドでは、コンテナーイメージでエントリーポイントが定義されていない場合に、コマンドラインでエントリーポイントを指定する必要がなくなりました。この場合、空のコマンドが OCI ランタイムに渡され、その結果の動作はランタイム固有になります。 -
潜在的な短縮名を、イメージをプルするために使用できる Podman の完全修飾イメージ参照のリストに解決するための新しい API エンドポイント
/libpod/images/$name/resolve
追加されました。
重要な変更の詳細は、アップストリームのリリースノート を参照してください。
--compat-volumes
オプションは Podman と Buildah で利用可能です
新しい --compat-volumes
オプションは、buildah build
、podman build
、および podman farm build
コマンドで使用できます。このオプションは、VOLUME
命令を使用してマークされたディレクトリーの内容に対して特別な処理をトリガーし、その後その内容は ADD
および COPY
命令を使用しなければ変更できなくなります。これらの場所で RUN
命令により加えられた変更はすべて破棄されます。以前はそれがデフォルトの動作でしたが、現在はデフォルトで無効になっています。
新しい rhel10-beta/rteval
コンテナーイメージ
Red Hat Container Registry でリアルタイムの registry.redhat.io/rhel10-beta/rteval
コンテナーイメージを使用して、スタンドアロンの RHEL インストールのレイテンシー分析を実行できるようになりました。rhel10-beta/rteval
コンテナーイメージを使用すると、コンテナー化されたセットアップ内でレイテンシーテストを実行し、このようなソリューションがリアルタイムワークロードで実行可能かどうかを判断したり、rteval
のベアメタル実行と結果を比較したりできます。この機能を使用するには、リアルタイムサポート付きの RHEL をサブスクライブしてください。チューニングガイドラインは提供されていません。
Jira:RHELDOCS-18522[1]
containers.conf
ファイルは読み取り専用になりました
containers.conf
ファイルに保存されているシステム接続とファームの情報が読み取り専用になりました。システム接続とファームの情報は、Podman のみが管理する podman.connections.json
ファイルに保存されます。Podman は、[engine.service_destinations]
や [farms]
セクションなどの古い設定オプションを引き続きサポートします。必要に応じて手動で接続またはファームを追加できますが、podman system connection rm
コマンドを使用して containers.conf
ファイルから接続を削除することはできません。
必要に応じて、containers.conf
ファイルを手動で編集することは可能です。Podman v4.0 によって追加されたシステム接続は、Podman v5.0 へのアップグレード後も変更されません。
macvlan
および ipvlan
ネットワークインターフェイス名は、containers.conf
で設定できます。
macvlan
および ipvlan
ネットワークを指定するには、containers.conf
設定ファイルの新しい interface_name
フィールドを使用して、コンテナー内に作成されたネットワークインターフェイスの名前を調整します。
Jira:RHELDOCS-18769[1]
bootc-image-builder は、
ISO ビルドへのカスタムキックスタートファイルの定義と挿入をサポートするようになりました。
この機能強化により、ユーザーを設定してキックスタートを定義し、パーティションをカスタマイズし、キーを挿入し、キックスタートファイルを ISO ビルドに挿入してインストールプロセスを設定できるようになりました。結果として得られるディスクイメージは、デバイス、切断されたシステム、エッジデバイスなどを自動化してデプロイ自己完結型のインストーラーを作成します。その結果、bootc-image-builder
を使用してカスタマイズされたメディアを作成するのがはるかに簡単になります。
Jira:RHELDOCS-18734[1]
bootc-image-builder を
使用した GCP イメージの構築のサポート
bootc-image-builder
ツールを使用すると、.gce
ディスクイメージを生成し、Google Compute Engine (GCE) プラットフォームでインスタンスをプロビジョニングできるようになりました。
Jira:RHELDOCS-18472[1]
bootc-image-builder を使用した VMDK の作成と展開のサポート
この機能強化により、bootc-image-builder
ツールを使用して bootc イメージから仮想マシンディスク (VMDK) を作成し、VMDK イメージを VMware vSphere にデプロイできるようになりました。
Jira:RHELDOCS-18398[1]
podman pod inspect
コマンドは、Pod の数に関係なく JSON 配列を提供するようになりました
以前は、単一の Pod を検査するときに podman pod inspect
コマンドは JSON 配列を除外していました。この更新により、podman pod inspect
コマンドは、検査された Pod の数に関係なく、出力に JSON 配列を生成するようになりました。
Jira:RHELDOCS-18770[1]
第5章 利用可能な BPF 機能
この章では、このバージョンの Red Hat Enterprise Linux 9 で利用可能な Berkeley Packet Filter (BPF) 機能の完全なリストを示します。表には次のリストが含まれます。
この章には、bpftool feature
コマンドの自動生成された出力が含まれています。
オプション | 値 |
---|---|
unprivileged_bpf_disabled | 2 (特権ユーザーに限定された bpf() syscall、管理者は変更可能) |
bpf_jit_enable | 1 (有効) |
bpf_jit_harden | 1 (有効) |
bpf_jit_kallsyms | 1 (有効) |
bpf_jit_limit | 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 | はい |
第6章 バグ修正
ここでは、ユーザーに重大な影響を与えるバグで、Red Hat Enterprise Linux 9.5 で修正されたものについて説明します。
6.1. インストーラーおよびイメージの作成
キックスタートインストールで dhcpclass
オプションが正しく適用されるようになりました
キックスタート設定の適用は、NetworkManager API を使用して NetworkManager から Anaconda に移動されます。以前は、Anaconda は %pre
セクションで指定されたコマンドのみを処理していました。インストール中に、この変更により、キックスタートネットワークコマンドの dhcpclass
オプションが省略され、ネットワーク設定が誤って適用されました。この更新では、NetworkManager API を使用した Anaconda の dhcpclass
オプションの処理が修正されました。その結果、キックスタート設定で定義された dhcpclass
オプションがインストールプロセス中に適切に適用されるようになりました。
仮想ネットワークデバイスを設定する際のインストーラーの安定性が向上する
以前は、GUI で既存の仮想ネットワークデバイス (チームやボンディングなど) 上に VLAN ネットワークデバイスを作成すると、インストーラーがクラッシュすることがありました。これは、基盤となるデバイスの状態が変更されたときに、新しいデバイス状態に合わせてユーザーインターフェイスの設定を更新する際に発生しました。
この更新により、GUI でネットワークの状態を更新するプロセスが、仮想デバイスの状態の変化を処理するように最適化されました。その結果、GUI で設定される仮想ネットワークデバイスに関する変更によってインストーラーがクラッシュすることはなくなりました。
古くなったネットワークリンク設定ファイルによって OS が起動できなくなることがなくなりました
以前は、RHEL インストーラーはインストール中に古い /etc/systemd/network/
リンク設定ファイルを作成していました。古い設定ファイルは、意図したネットワーク設定に干渉します。これにより、NVMe over TCP から起動する場合にシステムが起動できなくなります。この修正により、ユーザーは /etc/systemd/network/10-anaconda-ifname-nbft*.link
ファイルを手動で削除し、dracut -f
コマンドを実行して initramfs を
再生成する必要がなくなりました。
6.2. セキュリティー
OpenSSL EC 署名から非定数時間コードパスが削除されました
以前、OpenSSL は楕円曲線デジタル署名アルゴリズム (ECDSA) 署名に非定数時間コードパスを使用していました。これにより、署名操作が Minerva 攻撃と同様の攻撃にさらされ、秘密鍵が漏洩する可能性がある。この更新により、OpenSSL EC 署名内の非定数時間コードパスが削除され、その結果、この脆弱性は存在しなくなりました。
SELinux ポリシーは npm
に正しくラベルを付ける
以前は、npm
サービス実行可能ファイルは汎用 lib_t
SELinux タイプでラベル付けされていました。その結果、npm を
実行できませんでした。この更新では、npm
実行可能ファイルは SELinux ポリシーで bin_t
タイプとして明示的にラベル付けされるようになりました。その結果、npm
サービスが正常に起動し、unconfined_service_t
ドメインで実行されます。
SELinux ポリシーは、sysadm_r
ユーザーが sudo を
介して入出力ログディレクトリーを定義するためのルールを追加します。
以前は、SELinux ポリシーには、iolog_dir
オプションが sudo
設定で定義されている場合に、制限された管理者が sudo を
使用して入出力ログディレクトリーを指定するためのコマンドを実行できるようにするルールは含まれていませんでした。その結果、sysadm_r
ロールの制限された管理者は、iolog_dir
オプションを指定した sudo を
使用してコマンドを実行できませんでした。この更新により、SELinux ポリシーにルールが追加され、その結果、sysadm_r
ユーザーは iolog_dir
で sudo
を使用してコマンドを実行できるようになります。
システムの起動時に /proc
の監査ルールが正しく読み込まれるようになりました。
今回の更新以前は、システムは起動フェーズで /proc
ディレクトリーの Audit watch ルールを読み込めませんでした。その結果、管理者は後でルールを手動で読み込む必要があり、ルールは起動時に適用されませんでした。バグは修正され、システムはブートフェーズで /proc
に関連する Audit ルールを読み込むようになりました。
イミュータブルモードの audit では、auditd
の起動が阻止されなくなりました。
以前は、the -e 2
ルールを追加して Audit システムがイミュータブルモードに設定されていた場合、auditd
サービスを再起動するか、
コマンドを実行すると、augenrules コマンドは 0 ではなく 1 の戻りコードで終了していました。その結果、システムは 1 の戻りコードをエラーとして解釈し、起動時に augenrules
--loadauditd
が開始できないようにします。今回の更新で、Audit がイミュータブルモードに設定されていると、augenrules
がゼロのリターンコードで終了し、このシナリオでシステムが正常に auditd
を起動できるようになりました。
IPsec オンデマンド
接続の確立に失敗しなくなりました
以前は、TCP プロトコルを使用して ondemand
オプション付きの IPsec 接続を設定すると、接続を確立できませんでした。この更新により、新しい Libreswan パッケージは、初期 IKE ネゴシエーションが TCP 経由で完了することを確認します。その結果、Libreswan は IKE ネゴシエーションの TCP モードでも接続を正常に確立します。
Jira:RHEL-51879[1]
update-ca-trust extract は
長い名前の証明書の抽出に失敗しなくなりました。
トラストストアから証明書を抽出するとき、信頼
ツールは内部的に証明書のオブジェクトラベルからファイル名を導出します。ラベルが十分に長い場合、結果のパスがシステムの最大ファイル名の長さを超えている可能性があります。その結果、信頼
ツールは、システムの最大ファイル名の長さを超える名前のファイルを作成できませんでした。この更新により、派生名は常に 255 文字以内に切り捨てられるようになりました。その結果、証明書のオブジェクトラベルが長すぎる場合でも、ファイルの作成が失敗しなくなります。
Jira:RHEL-58899[1]
6.3. サブスクリプションの管理
subscription-manager
は端末に不要なテキストを保持しなくなる
RHEL 9.1 以降、subscription-manager
は操作の処理中に進行状況情報を表示します。以前は、一部の言語 (通常は非ラテン語) では、操作の終了後に進行状況メッセージがクリーンアップされませんでした。この更新により、操作の終了時にすべてのメッセージが適切にクリーンアップされます。
以前に進行状況メッセージを無効にしたことがある場合は、次のコマンドを入力して再度有効にできます。
# subscription-manager config --rhsm.progress_messages=1
Bugzilla:2136694[1]
6.4. ソフトウェア管理
dnf autoremove
コマンドの動作が man ページのドキュメントと整合するようになり、コマンドがパッケージのインストール理由を考慮するようになる
以前は、dnf autoremove
コマンドを使用して不要なパッケージを削除すると、installonly
とマークされたインストール済みパッケージが削除されていました。しかし、dnf(8)
man ページのドキュメントには、installonly
パッケージは dnf autoremove
操作から除外されるという情報が記載されていました。
この更新により、次の修正が提供されました。
-
dnf(8)
man ページのドキュメントに、installonly
パッケージはdnf autoremove
から除外されない旨が記載されました。 -
複数の
installonly
パッケージが dnf autoremove 操作に含まれている場合、DNF
がインストール履歴からパッケージのインストール理由を正しく推測するようになりました。
その結果、dnf autoremove
コマンドの動作が man ページのドキュメントと整合するようになり、コマンドがパッケージのインストール理由を考慮するようになりました。
該当する場合: dnf autoremove`insists on removing the required packages, mark these packages as `dnf mark install
<package>
dnf-automatic
systemd
サービスがセキュリティー更新の適用に失敗しなくなる
以前は、dnf-automatic-install
systemd
サービスを使用してセキュリティー修正だけを適用すると、samba-client-libs
パッケージの自動アップグレードが失敗していました。この更新により、dnf-automatic が DNF ツールと同じ方法でセキュリティー更新を適用するようになりました。その結果、dnf-automatic
サービスがセキュリティー更新の適用に失敗しなくなりました。
dnf remove --duplicates が
ゼロ以外の終了コードとエラーメッセージで終了しなくなりました。
以前は、重複パッケージがシステムに存在しないときに dnf remove --duplicates
コマンドを実行すると、dnf がゼロ以外の終了コードで終了し、標準エラー出力 (stderr
) に No duplicated packages found for removal.
というエラーが表示されていました。この更新により、dnf が 0 で終了するようになり、stderr に何も書き込まれなくなりました。古いバージョンの installonly
パッケージがインストールされていなければ、dnf remove --oldinstallonly
コマンドでも同じ問題が修正されます。
dnf remove-n は、
一致する RPM 名を持つパッケージのみを削除するようになりました。
以前は、あるパッケージをインストールし、RPM Provides ディレクティブでそのパッケージの名前を持つ別のパッケージをインストールした場合、dnf remove-n
コマンドの一度目の呼び出しで前者のパッケージが削除されていました。このコマンドをもう一度呼び出すと、後者のパッケージが削除されていました。
この更新により、dnf remove-n
コマンドが一致する RPM 名を持つパッケージのみを削除するようになり、RPM Provides を考慮しなくなりました。その結果、dnf remove-n
を 1 回呼び出すだけで、一致するすべてのパッケージを削除できるようになりました。
`dnf reinstall` が、パッケージを再インストールする際にリポジトリーのコストを考慮するようになる
以前は、複数のリポジトリーで利用可能なパッケージを再インストールする場合に、コストが最も低いリポジトリーからパッケージが再インストールされませんでした。この更新により、パッケージの name-epoch-version-release-architecture 識別子が同じである場合、DNF
ツールがすべてのリポジトリーのパッケージを依存関係ソルバーに提供するようになりました。その結果、dnf reinstall
コマンドはリポジトリーのコストを考慮するようになりました。
dnf-system-upgrade
は、セキュアな HTTPS リンクを使用してドキュメントを指すようになりました。
以前は、dnf-system-upgrade
サービスのドキュメントでは、安全ではない HTTP リンクを使用してドキュメントにアクセスしていました。今回の更新により、URL がセキュアな HTTPS スキーマを使用するようになりました。
Jira:RHEL-13053[1]
同じパッケージのインストールおよびアップグレードを含む RPM トランザクションの繰り返しのロールバックで、dnf history rollback
が正しく実行されるようになりました。
以前は、同じパッケージのインストールとアップグレードを含む RPM トランザクションに対して繰り返しのロールバックを実行すると、dnf history rollback
コマンドが偽のトランザクションを実行しようとしていました。最新のトランザクションへのロールバックではロールバックするものがないため、このトランザクションは何も実行されず失敗していました。
今回の更新により、同じバージョンの 2 つの RPM トランザクション間の差異計算が、libdnf
ライブラリーで修正されました。その結果、現時点で最新の RPM トランザクションを指す dnf history rollback
が正しく Nothing to do.
を出力するようになりました。
microdnf
が、提供する RPM シンボルと競合するパッケージの再インストールに失敗しなくなりました
以前は、microdnf
パッケージマネージャーを使用してパッケージを再インストールすると、RPM トランザクションが失敗していました。今回の更新により、再インストールされるパッケージが、そのパッケージも競合する RPM シンボルを提供する RPM トランザクションを、libdnf
が作成するようになりました。その結果、microdnf
は、提供する RPM シンボルと競合するパッケージを再インストールできるようになりました。
Jira:RHEL-1454[1]
システムのインストール時に、Anaconda キックスタートスクリプトの解釈がハングしなくなりました
以前は、Anaconda キックスタートスクリプトを使用してシステムをインストールすると、そのスクリプトの解釈がランダムにハングしていました。今回の更新により、libdnf
メモリー管理を行うことで、利用可能なパッケージの数を増やした後にクエリーを適用できるようになりました。その結果、リポジトリーを有効化した後に libdnf
ライブラリーは例外を出力しないため、システムのインストールはハングしなくなりました。
Jira:RHEL-27657[1]
DNF(8) に、最初のミラーリングが失敗した場合に dnf makecache --timer
がミラーリングをそれ以上試行しないことに関する情報が記載される
以前は、DNF(8) man ページに、最初のミラーリングが失敗した場合に dnf makecache --timer
コマンドがリポジトリーミラーリスト内のミラーリングをそれ以上試行しないという情報が記載されていませんでした。この更新により、ドキュメントが更新され、この情報が記載されるようになりました。
6.5. シェルおよびコマンドラインツール
pkla-compact
バイナリーは、polkit が logind-session-monitor
イベントで呼び出されたときに実行されます。
以前は、polkit アクションの認可の再検証は、ログイン、ログアウト、セッション状態の変更など、すべてのユーザーの logind-session-monitor
イベントによってトリガーされていました。各 CheckAuthorization 要求は、システムにそのようなファイルが存在しない場合でも、polkit-pkla-compat
バイナリーを実行してレガシー .pkla
設定ファイルをチェックします。これにより、polkit デーモンによる CPU 使用率が増加します。
現在、polkit アクションに関連する logind-session
の変更のみが監視されます。セッションの状態が変化すると、セッションに関連付けられた polkit オブジェクトが再検証 (CheckAuthorization) をトリガーします。更新を成功させるには、gnome-shell (log out to login screen and re-login
または reboot
) を再起動する必要があります。
polkit-pkla-compat
バイナリーはソフト依存関係になりました。その結果、/etc/polkit-1/localauthority
、/etc/polkit-1/localauthority.conf.d
、/var/lib/polkit-1/localauthority
および各ディレクトリーに .pkla
ファイルが存在しない場合にのみ、polkit-pkla-compat
バイナリーをアンインストールすることで CPU の負荷を軽減できます。
Jira:RHEL-39063[1]
不足している Sieve スクリプトに対する Dovecot の
安定性の向上
以前は、dovecot は
オプションの sieve スクリプトを適切に追跡していませんでした。その結果、不足しているスクリプトのパスのハッシュグループが別のスクリプトのハッシュグループと一致した場合、メールの配信中に LDA プロセスがクラッシュする可能性があります。
この修正により、これらのスクリプトの比較と処理が修正されたため、不足しているオプションのスクリプトを処理するときに dovecot がクラッシュしなくなりました。
Jira:RHEL-37160[1]
nvram
コマンドの print-config
オプションでセグメンテーション違反は発生しません
以前は、nvram
コマンドを print-config
オプション付きで実行すると、セグメンテーション違反が発生していました。セグメンテーション違反は、コードが varlen
インデックスに存在するデータの制限を超えてメモリーにアクセスしようとしたため発生していました。varlen
インデックスは、ユーザーが提供する文字列の長さです。
この更新では、データの長さが varlen
インデックスを超えるかどうか確認する条件が追加されました。これにより、制限を超えてメモリーにアクセスすることが防止され、セグメンテーション違反は発生しません。
Jira:RHEL-23624[1]
nvram --nvram-size
コマンドでセグメンテーション違反は発生しません
以前は、nvram-size
コマンドがデフォルトのサイズ値を超えると、セグメンテーション違反が発生していました。
nvram: WARNING: expected 268435456 bytes, but only read 15360!
この修正により、無限 while ループを回避してセグメンテーション違反を防ぐために、nvram-size
のチェック条件が追加されました。
Jira:RHEL-23619[1]
ReaR は、URL 内の IPv6 アドレスを囲む角括弧を期待どおりに解釈するようになりました。
以前は、OUTPUT_URL
および BACKUP_URL
内の角括弧が正しく解釈されませんでした。ホスト名の代わりに IPv6 アドレスを指定する場合は、アドレスを角括弧で囲む必要があります。たとえば、localhost の場合は [::1] です。括弧が正しく解釈されなかったため、sshfs://
または nfs://
URL で IPv6 アドレスを使用することができませんでした。
その結果、ユーザーが BACKUP_URL
または OUTPUT_URL
で角括弧で囲まれた IPv6 アドレスを使用して sshfs://
または nfs://
スキームを使用した場合、ReaR は次のようなエラーメッセージを表示して途中で中止しました。
ERROR: Invalid scheme '' in BACKUP_URL
この更新により、ReaR は sshfs://
および nfs://
URL を解析するときに角括弧をシェルのメタ文字として解釈しないように修正されました。これで、sshfs://
または nfs://
スキームを使用する BACKUP_URL
および OUTPUT_URL
で、括弧で囲まれた IPv6 アドレスを使用できるようになりました。以下に例を示します。
OUTPUT_URL=nfs://[2001:db8:ca2:6::101]/root/REAR
この修正が実装される前は、引用符とバックスラッシュ文字を使用してバグを回避することができました。次に例を示します。
OUTPUT_URL="nfs://\[2001:db8:ca2:6::101\]/root/REAR"
注意: 回避策を使用している場合は、更新プログラムを適用した後にバックスラッシュ文字を削除してください。
6.6. ネットワーク
定期的に更新される大きなルーティングテーブルを NetworkManager が処理しても、CPU 使用率がほとんど上昇しなくなる
以前は、外部ルーティングデーモンが数千を超えるルートを含む大きな IPv6 テーブルを更新すると、NetworkManager の CPU 使用率が 100% 近くまで増加していました。これにより、システム全体のパフォーマンスとネットワーク設定が遅くなることがありました。この問題は、NetworkManager ソースコードを更新して、少数のプロトコルを除くルーティングプロトコルのルート変更を無視することで修正されました。その結果、前述の状況でも CPU 使用率がほとんど上昇しなくなりました。
Jira:RHEL-26195[1]
接続がアクティブ化されても ipv6.ip6-privacy
の値が変更されなくなる
以前は、ipv6.ip6-privacy
パラメーターにグローバルデフォルト値が設定されていない場合、その値は /proc/sys/net/ipv6/conf/default/use_tempaddr
ファイルの値に戻されていました。最近加えられた NetworkManager ソースコードへの変更により、代わりに /proc/sys/net/ipv6/conf/IFNAME/use_tempaddr
ファイルから読み取られた値に誤ってフォールバックするようになっていました。その結果、IPv6 アドレスの生成が変更され、接続がアクティブ化されると、ipv6.ip6-privacy
の値が変更されることがありました。この問題は、元の動作に戻すことで修正されました。その結果、接続がアクティブ化されても、ipv6.ip6-privacy
の値が変更されなくなりました。
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]
6.7. カーネル
Linux Falcon Sensor の eBPF
プログラムがロード時にカーネルパニックを引き起こす
以前は、Linux Falcon Sensor がユーザーモードで使用していた eBPF
プログラムによってカーネルパニックが発生していました。その結果、RHEL v9.4 の一部のカーネルは、そのようなプログラムをロードするときに影響を受けました。
この更新により、問題は修正され、eBPF
プログラムは RHEL v9.5 カーネル上で正常に実行されるようになりました。
Jira:RHEL-34937[1]
VMD が有効になっている場合、RHEL は以前は NVMe ディスクを認識できなかった
ドライバーをリセットまたは再アタッチすると、Volume Management Device (VMD) ドメインは以前はソフトリセットされませんでした。その結果、ハードウェアはデバイスを適切に検出して列挙できませんでした。この更新により、特にサーバーをリセットするときや仮想マシンを操作するときに、VMD が有効になっているオペレーティングシステムが NVMe ディスクを正しく認識するようになりました。
Bugzilla:2128610[1]
6.8. ファイルシステムおよびストレージ
multipathd は
応答しない代わりにメッセージを表示するようになりました
以前は、multipathd show maps topology
コマンドまたはマルチパスデバイスなしで他のコマンドを実行すると、コマンドがハングしてタイムアウトし、他の応答がありませんでした。この更新により、multipathd
コマンドは、ハングやタイムアウトが発生することなく、返す出力がない場合に ok を
表示するようになりました。
Jira:RHEL-44569[1]
multipath は
パスをネイティブの multipathd
NVMe デバイスに正しく関連付けるようになりました。
以前は、multipath
コマンドは正しいパスを表示する代わりに、名前空間 1 を持つネイティブ multipathd
NVMe デバイスを、パス内の最初の定義された名前空間として表示していました。この修正により、マルチパスは
ネイティブの multipathd
NVMe デバイスをリストする際にパスを正しく一致させるようになりました。その結果、マルチパス
を使用してネイティブの multipathd
NVMe デバイスを表示するときに、パスの名前空間 ID が NVMe デバイスの名前空間 ID と一致する正しいパスが表示されます。
Jira:RHEL-28068[1]
/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]
6.9. 高可用性およびクラスター
grep
ユーティリティーにパイプした場合に pcs
出力がラップされなくなりました
以前は、'pcs' 出力が別のプロセスにパイプされた場合、出力幅のデフォルトが 80 文字に設定されていました。これにより、grep
ユーティリティーを使用して出力内の特定の行を簡単に検索できませんでした。今回の変更により、pcs
は grep
にパイプされたときに出力をラップしなくなりました。
pcsd
プロセスが、必ず適切かつ迅速に停止するようになりました
以前は、pcsd
プロセスの作成方法が原因で、プロセス終了時にデッドロックが生じることがありました。その場合、プロセスは systemd
タイムアウトの後にしか終了しませんでした。今回の修正により、プロセス作成方法が変更され、プロセス停止時にデッドロックが発生しなくなりました。そのため、pcsd
は短時間で正常に停止します。
SBD オプションの pcs
検証
以前は、pcs stonith sbd enable
コマンドで SBD を有効にし、無効な SBD オプションの値を指定すると、SBD の誤設定が発生していました。pcs
コマンドラインインターフェイスが更新され、SBD オプションの値が検証されるようになりました。無効な値の場合、pcs
はエラーを報告し、SBD 設定を作成または更新しません。
Booth あ~日とレーターノードから Booth 設定を削除する機能
以前は、pcs booth destroy
コマンドを実行して Booth 設定を Booth アービトレーターノードから削除すると、エラーが発生していました。これは、コマンドがクラスターの一部ではないノードから Booth 設定を削除しなかったために発生していました。現在は、Booth アービトレーターから Booth 設定を削除できるようになりました。
pcs
は、フェンシングレベルが 9 を超えるフェンシングトポロジーを検証しなくなりました
Pacemaker クラスターリソースマネージャーは、9 より大きいフェンシングトポロジーレベルを無視します。9 より大きいレベルを設定すると、フェンシングが失敗する可能性があります。今回の更新により、pcs
コマンドラインインターフェイスで 1 から 9 の値のフェンシングレベルを設定できるようになり、フェンシングトポロジーが正しく機能するようになりました。
CIB マネージャーのサイズが、非同期クライアントからの要求のたびに無制限に増大しなくなりました。
以前は、CIB マネージャーが非同期クライアントから要求を受信すると、少量のメモリーが漏洩していました。これにより、CIB マネージャープロセスのサイズが徐々に増大していました。今回の修正により、非同期クライアントの関連メモリーが解放され、CIB マネージャープロセスのサイズが無制限に増大しなくなりました。
crm_node -i
コマンドがノード ID を正しく解析するようになりました
以前は、crm_node -i
および同等の crm_node --cluster-id
コマンドが、予想どおりにローカルノードのクラスター ID を表示するのではなく、"Node is not known to cluster" というメッセージを表示することがありました。この修正により、ノード ID が適切に解析され、コマンドが意図したとおりに動作するようになりました。
6.10. コンパイラーおよび開発ツール
GCC ツールセット 13: GCC は、ベクトル化を有効にした IBM POWER9、リトルエンディアンでコードを正しくコンパイルできるようになりました。
以前は、ベクトル化を有効にして IBM POWER9 の Little Endian でコードをコンパイルすると、GCC コンパイラーによって誤ったコードが生成されました。エクスパンダー内のレジスター転送言語 (RTL) パターンが修正され、コードが正しくコンパイルされるようになりました。
Jira:RHEL-45190[1]
glibc
ダイナミックリンカーは、カスタム malloc
実装からの TLS アクセスを使用するアプリケーションによる再入可能 malloc
呼び出しを防止します。
一部のアプリケーションでは、初期実行 TLS の代わりにグローバル動的スレッドローカルストレージ (TLS) を使用するカスタム malloc
動的メモリー割り当て実装が提供されます。この更新前は、グローバル動的 TLS を使用するバンドルされた malloc
呼び出しを持つアプリケーションでは、アプリケーションの malloc
サブシステムへのリエントラント呼び出しが発生する可能性がありました。その結果、スタックの枯渇または内部データ構造の予期しない状態により、アプリケーションの malloc
呼び出しがクラッシュしました。この更新により、glibc
動的リンカーはカスタム malloc
実装からの TLS アクセスを検出するようになりました。malloc
呼び出し中に TLS アクセスが検出されると、TLS 処理中のそれ以降の呼び出しはスキップされ、再入可能な malloc
呼び出しは防止されます。
TLS データは、ELF コンストラクタからの dlopen()
呼び出しによって上書きされなくなりました。
以前は、dlopen()
関数が ELF コンストラクターから呼び出される特定のケースでは、glibc
ダイナミックリンカーはスレッドローカルストレージ (TLS) の初期化ステータスを正しく追跡していませんでした。その結果、TLS データはアプリケーションによって変更された後、元の値に戻されました。この更新により、ダイナミックリンカーは個別のフラグを使用して、各共有オブジェクトの TLS 初期化を追跡します。その結果、ELF コンストラクターからの dlopen()
関数の呼び出しによって TLS データが予期せず上書きされることがなくなりました。
Perftools が LTO デバッグ情報の処理に失敗しなくなる
以前は、binutils
コレクションの Binary File Descriptor (BFD) ライブラリー (バイナリーファイルからデバッグ情報を読み取るためにパフォーマンスツールによって使用されるライブラリー) が、リンク時最適化 (LTO) が有効な GCC コンパイラーによって生成されたデバッグ情報を処理できませんでした。その結果、LTO デバッグ情報を含むファイルを調べるときに、perftools がエラーメッセージを表示し、正しく実行できませんでした。BFD ライブラリーが更新され、LTO が有効なコンパイル中に生成されたデバッグ情報を処理するようになりました。また、影響を受ける perftools がそのようなデバッグ情報を正常に処理するようになりました。
Jira:RHEL-43758[1]
6.11. Identity Management
ipa-replica-manage
コマンドは、強制レプリケーション中に nsslapd-ignore-time-skew
設定をリセットしなくなりました。
以前は、設定された値に関係なく、ipa-replica-manage
force-sync
コマンドは nsslapd-ignore-time-skew
設定を off
にリセットしていました。この更新により、強制レプリケーション中に nsslapd-ignore-time-skew
設定が上書きされなくなりました。
Jira:RHEL-52300[1]
ipa idrange-add
コマンドが、すべての IdM サーバーで Directory Server を再起動する必要があることを警告するようになる
以前は、ipa idrange-add
コマンドは、新しい範囲の作成後、すべての IdM サーバーで Directory Server (DS) サービスを再起動する必要があることを管理者に警告しませんでした。その結果、管理者は DS サービスを再起動せずに、新しい範囲に属する UID または GID を持つ新しいユーザーまたはグループを作成することがありました。ユーザーやグループを追加しても、新しいユーザーやグループに SID が割り当てられませんでした。この更新により、すべての IdM サーバーで DS を再起動する必要があるという警告がコマンド出力に追加されました。
Jira:RHELDOCS-18201[1]
certmonger
が、非表示のレプリカ上の KDC 証明書を正しく更新するようになりました。
以前は、証明書の有効期限が近づいたときに、certmonger
が非表示のレプリカ上の KDC 証明書の更新に失敗していました。これは、更新プロセスで非表示でないレプリカのみがアクティブな KDC として考慮されたために発生していました。この更新により、非表示のレプリカがアクティブな KDC として扱われ、certmonger
がこれらのサーバー上で KDC 証明書を正常に更新するようになりました。
Jira:RHEL-39477[1]
AD 管理者は IdM レプリカを展開できるようになりました
以前は、RHEL Identity Management (IdM) レプリカのインストール中に、提供された Kerberos プリンシパルに必要な権限があるかどうかのチェックは、ユーザー ID オーバーライドのチェックまで拡張されませんでした。その結果、必要な権限を持つ ID オーバーライドを持つ AD 管理者の認証情報を使用してレプリカを展開しようとしたときに、レプリカ接続チェックが失敗しました。
この更新では、必要な権限を持つプリンシパルの ID オーバーライドがあるかどうかのチェックが追加されました。その結果、IdM 管理者として機能するように設定された AD 管理者の認証情報を使用してレプリカをデプロイできるようになりました。
この修正は ansible-freeipa
にも適用されることに注意してください。
ローカルユーザーキャッシュ用の shadow-utils
と sss_cache
の統合が無効になっています
/etc/shadow
などのローカルファイルからユーザー情報を取得し、/etc/groups
からのグループ情報をグループ化する SSSD 暗黙的 files
プロバイダードメインが、デフォルトで無効になりました。ただし、shadow-utils
の統合は完全に無効化されていなかったため、ローカルユーザーを追加または削除するときに sss_cache
が呼び出されました。不要なキャッシュ更新により、一部のユーザーにパフォーマンスの問題が発生しました。この更新により、shadow-utils
と sss_cache
の統合が完全に無効化され、不要なキャッシュ更新によって発生するパフォーマンスの問題が発生しなくなりました。
Jira:RHEL-56352, Jira:RHELPLAN-100639
Directory Server は nsslapd-idletimeout
を無視しなくなりました
以前は、Directory Manager 以外のユーザーによって接続が開かれた場合、Directory Server は nsslapd-idletimeout
値を無視し、指定された時間が経過しても接続を閉じませんでした。この更新により、Directory Server は設定されたアイドル時間に達すると期待どおりに接続を閉じるようになります。
Jira:RHEL-17511[1]
検索操作で大規模なグループがより速く返されるようになりました
以前は、大規模な静的グループの検索で、uniquemember
属性を持つ 等価 一致コンポーネントを含むフィルター (例: '(uniquemember=uid=foo,ou=people,<suffix>)')
を使用すると、検索が遅くなり、CPU を大量に消費していました。この更新により、検索フィルターの評価中に、Directory Server はメンバー識別名 (DN) がソートされる内部構造を使用するようになり、大規模なグループの検索が高速化され、CPU の負荷が軽減されます。
Jira:RHEL-49454[1]
1 レベルのスコープ検索でサブ接尾辞が返されなくなりました。
以前は、-s
オプションを 1
に設定して ldapsearch
コマンドを実行すると、検索結果に -b
オプションで指定されたエントリーのサブ接尾辞が含まれていませんでした。この更新により、1 レベルのスコープ検索でエントリーの直下の子エントリーが正常に返されるようになりました。
参照整合性プラグインがサーバー障害を引き起こさなくなりました
以前は、遅延チェックで参照整合性プラグインを使用すると、チェックを処理したスレッドがシャットダウン時に解放されたデータ構造にアクセスし、サーバー障害が発生する可能性がありました。この更新により、プラグインは、遅延チェックスレッドが停止し、障害が発生しなくなるまでデータ構造を解放しなくなりました。
dscreate ds-root
コマンドは相対パスを受け入れるようになりました
以前は、非ルートユーザーとしてインスタンスを作成し、相対パスを含む bin_dir
引数値を指定しようとした場合、相対パスが defaults.inf
ファイルに書き込まれ、インスタンスの作成に失敗していました。この更新により、bin_dir
引数値として相対パスを指定すると、インスタンスが正常に作成されるようになりました。
LDIF ファイルのオフラインインポートが正しく実行されるようになりました
以前は、オフラインインポートの前にキャッシュの自動調整操作はトリガーされませんでした。その結果、ldif2db
スクリプトでインポート操作を実行すると、速度が低下しました。この更新により、Directory Server は ldif2db
操作の前にキャッシュの自動チューニングをトリガーし、インポートパフォーマンスが向上します。
dsconf schema matchingrules list
コマンドは、新しい inchainMatch
マッチングルールを表示するようになりました。
以前は、inchainMatch
がマッチング構文なしで登録されていたため、dsconf
ユーティリティーは、サポートされている inchainMatch
マッチングルールをマッチングルールのリストに表示しませんでした。この更新により、inchainMatch
の構文が定義され、dsconf schema matchingrules list
コマンドを実行すると、inchainMatch
がリストに表示されます。
IdM クライアントインストーラーは、ldap.conf
ファイルで TLS CA 設定を指定しなくなる
以前は、IdM クライアントインストーラーは ldap.conf
ファイルで TLS CA 設定を指定していました。この更新により、OpenLDAP はデフォルトのトラストストアを使用し、IdM クライアントインストーラーは ldap.conf
ファイルに TLS CA 設定をセットアップしません。
6.12. Web コンソール
Cockpit-machines が
USB ホストデバイスを正しく削除するようになりました
Cockpit-machines
アドオンは、実行中の仮想マシンからの USB ホストデバイスの削除を正しく処理しませんでした。その結果、RHEL Web コンソールで [削除] を
クリックすると、削除が成功する代わりに、次のエラーメッセージが表示されました。
Danger alert: Host device could not be removed
この更新により、USB ホストデバイスの削除が修正され、RHEL Web コンソールを介して仮想マシンから USB ホストデバイスを正しく削除できるようになりました。
6.13. Red Hat Enterprise Linux システムロール
ノード属性の鍵と値のペアの複数セットの実装が、他のクラスター設定コンポーネントと一致するようになりました
ha_cluster
RHEL システムロールは、各設定項目の鍵と値のペアを 1 つだけサポートします。以前は、ノード属性のセットを複数設定すると、それらのセットが 1 セットにマージされていました。この更新により、ロールは定義した最初のセットのみを使用し、他のセットは無視するようになりました。この動作は、鍵と値のペア構造を使用する他の設定コンポーネントに対して、ロールが鍵と値のペアのセットを複数実装する方法と一致するようになりました。
NetworkManager
サービスと NetworkManager
プラグイン間のプロパティーの競合が発生しなくなる
以前は、特にワイヤレスインターフェイスの変更によりネットワークパッケージの更新が利用可能になったときに、NetworkManager
サービスを再起動するためのユーザーの同意が network
RHEL システムロールによって要求されませんでした。その結果、NetworkManager
サービスと NetworkManager
プラグインの間で競合が発生する可能性がありました。または、NetworkManager
プラグインが正しく実行されませんでした。この問題は、NetworkManager
サービスの再起動にユーザーが同意するかどうかを network
RHEL システムロールに確認させることで修正されました。その結果、前述の状況で、NetworkManager
サービスと NetworkManager
プラグインの間にプロパティーの競合が発生しなくなりました。
RHEL 9 および RHEL 10 ベータ版 UEFI 管理ノード上の GRUB2 は、パスワードを正しく要求します。
以前は、UEFI セキュアブート機能を使用して RHEL 9 を実行する管理対象ノード上の /boot/efi/EFI/redhat/user.cfg
ファイルに、bootloader
RHEL システムロールによってパスワード情報が誤って配置されていました。正しい場所は /boot/grub2/user.cfg
ファイルでした。その結果、管理対象ノードを再起動してブートローダーエントリーを変更したときに、GRUB2 がパスワードの入力を要求しませんでした。この更新により、ソースコード内で user.cfg のパスを /boot/grub2/ に設定することで問題が修正されました。UEFI セキュアブート管理対象ノードで OS を再起動してブートローダーエントリーを変更したときに、GRUB2 によってパスワードの入力が求められます。
imuxsock
入力タイプの 名前
パラメーターを設定することはできません
以前は、ログ記録
RHEL システムロールによって、imuxsock
入力タイプの名前パラメーターが誤って設定されていました。その結果、この入力タイプは name
パラメーターをサポートしておらず、管理対象ノード上の rsyslog
ユーティリティーは、次のエラーを出力しました …パラメーター 'name' が不明です - 設定ファイルにタイプミスがありますか?…
。この更新により、RHEL システムロール のログ記録
が修正され、name
パラメーターが imuxsock
入力タイプに関連付けられなくなります。
既存の Stratis プールを持つシステムで ストレージ
RHEL システムロールを実行すると、期待どおりに動作します。
以前は、ストレージ
RHEL システムロールは既存のデバイスとデバイスフォーマットを処理できませんでした。これにより、Stratis 形式が Playbook で指定された設定に準拠しているかどうかを確認するときに、既存の Stratis プールを持つシステムでロールが失敗しました。その結果、Playbook はエラーで失敗しましたが、Stratis プール自体は破損したり変更されたりしませんでした。この更新により、ストレージ
RHEL システムロールが、ラベル付けをサポートしていない Stratis デバイスやその他の形式でも正しく動作するようになります。その結果、既存の Stratis プールを持つシステムで Playbook を実行しても失敗しなくなりました。
Jira:RHEL-29874[1]
podman
を使用して Quadlet 定義ネットワークを削除すると、カスタム NetworkName
ディレクティブに関係なく機能します。
ネットワークを削除するときに、podman
RHEL システムロールは、ネットワーク名に systemd- + Quadlet ファイルの名前構文を使用していました。その結果、Quadlet ファイルに異なる NetworkName
ディレクティブが含まれている場合、削除は失敗します。この更新により、podman
ソースコードが更新され、削除するネットワークの名前として Quadlet ファイル名 + そのファイルの NetworkName
ディレクティブが使用されるようになりました。その結果、podman
RHEL システムロールを使用して Quadlet ファイルで定義されたネットワークを削除することは、Quadlet ファイル内のカスタム NetworkName
ディレクティブの有無にかかわらず機能します。
ストレージ
RHEL システムロールは再びべき等性を持つ
ストレージ
RHEL システムロールは、既存のデバイスのサイズを誤って計算する場合があります。その結果、同じ Playbook を変更せずに再度実行すると、ロールはエラーなしで通過するのではなく、すでに正しいサイズになっているデバイスのサイズ変更を試行するようになりました。この更新では、サイズの計算が修正されました。その結果、ロールはデバイスのサイズが Playbook で指定されているサイズにすでに設定されていることを正しく識別し、サイズを変更しなくなりました。
Quadlet ユニットファイル内のネットワークユニットが適切にクリーンアップされるようになりました
podman
RHEL システムロールは、Quadlet ユニットファイルの [Network]
セクションで定義されたネットワークユニットを正しく管理していませんでした。その結果、ネットワークユニットは停止および無効化されず、それらのユニットが適切にクリーンアップされないため、後続の実行は失敗します。この更新により、podman は
停止や削除など [Network]
ユニットを管理するようになりました。その結果、Quadlet ユニットファイル内の [Network]
ユニットが適切にクリーンアップされます。
podman
RHEL システムロールは必要に応じて新しいシークレットを作成します
podman
RHEL システムロールは、podman_secrets
ロール変数の skip_existing: true
オプションを使用した場合に、同じ名前のシークレットがすでに存在するかどうかを誤ってチェックしませんでした。その結果、そのオプションを使用した場合、ロールは新しいシークレットを作成しませんでした。この更新により、skip_existing: true を
使用する場合に既存のシークレットを確認するように podman
RHEL システムロールが修正されます。その結果、ロールは、新しいシークレットが存在しない場合に適切に作成します。逆に、skip_existing: true を
使用すると、同じ名前のシークレットは作成されません。
適切なユーザーに対しては、リンガー機能をキャンセルできます
kube ファイルまたは Quadlet ファイルから設定項目の指示リストを処理するときに、podman
RHEL システムロールはリスト全体に関連付けられたユーザー ID を誤って使用していました。リンガーファイル名をコンパイルするために、リスト項目に関連付けられたユーザー ID を使用しませんでした。その結果、linger ファイルが作成されなかったため、必要に応じて podman
RHEL システムロールは実際のユーザーの linger 機能をキャンセルできませんでした。この更新により、podman は
正しいユーザー名を使用して linger ファイル名を作成します。その結果、適切なユーザーに対しては、残留機能をキャンセルできるようになります。
podman
RHEL システムロールはホストディレクトリーの所有権を再度設定できます
以前は、podman
RHEL システムロールは、ホストディレクトリーの所有権を設定するときに、ユーザーとともに become
キーワードを使用していました。その結果、ロールは所有権を適切に設定できませんでした。この更新により、podman
RHEL システムロールは、通常のユーザーでは become
を使用しなくなります。代わりに、root
ユーザーを使用します。その結果、podman は
ホストディレクトリーの所有権を設定できます。
このバグ修正を補完するために、次のロール変数が podman
RHEL システムロールに追加されました。
-
podman_subuid_info
(ディクショナリー):/etc/subuid
ファイルからロールが使用する情報を公開します。この情報は、ホストディレクトリーの所有者情報を適切に設定するために必要です。 -
podman_subgid_info
(ディクショナリー):/etc/subgid
ファイルからロールが使用する情報を公開します。この情報は、ホストディレクトリーのグループ情報を適切に設定するために必要です。
新しく追加された変数の詳細は、/usr/share/doc/rhel-system-roles/podman/
ディレクトリー内のリソースを参照してください。
podman
RHEL システムロールが subgid
値を正しく検索するようになる
従属グループ ID (subgid
) は、非ルートユーザーに割り当てられるグループ ID 値の範囲です。これらの値を使用すると、ホストシステムと比較してコンテナー内で異なるグループ ID を持つプロセスを実行できます。以前は、podman
RHEL システムロールは、ユーザー名ではなくグループ名を使用して サブギッド
値を誤って検索していました。その結果、ユーザー名とグループ名の違いにより、podman は
サブギッド
値を検索できませんでした。この更新により、podman が
サブギッド
値を正しく検索するように修正され、このシナリオで問題が発生しなくなります。
sshd
RHEL システムロールは、2 番目の sshd
サービスを正しく設定できます。
sshd
RHEL システムロールを実行して管理対象ノード上の 2 番目の sshd
サービスを設定すると、sshd_config_file
ロール変数を指定しなかった場合、エラーが発生しました。その結果、Playbook は失敗し、sshd
サービスが正しく設定されなくなります。この問題を解決するために、メイン設定ファイルの導出が改善されました。また、この問題を回避するために 、/usr/share/doc/rhel-system-roles/sshd/
ディレクトリー内のドキュメントリソースがより明確になりました。その結果、上記のシナリオで説明したように 2 番目の sshd
サービスを設定すると、期待どおりに動作します。
ブートローダー
RHEL システムロールは、必要に応じて不足している /etc/default/GRUB
設定ファイルを生成します。
以前は、ブートローダー
RHEL システムロールでは、/etc/default/GRUB
設定ファイルが存在することが想定されていました。場合によっては、たとえば OSTtree システムでは、/etc/default/GRUB が
見つからないことがあります。その結果、そのロールは予期せず失敗しました。この更新により、ロールは必要に応じてデフォルトのパラメーターを使用して不足しているファイルを生成します。
Cockpit
RHEL システムロールは、ワイルドカードパターンに一致するすべての Cockpit
関連パッケージをインストールします。
以前は、Cockpit
RHEL システムロールを通じて使用される dnf
モジュールは、Cockpit
関連のすべてのパッケージをインストールしませんでした。その結果、要求されたパッケージの一部はインストールされませんでした。この更新により、Cockpit
RHEL システムロールのソースコードが変更され、アスタリスクワイルドカードパッケージ名と除外するパッケージのリストを使用して dnf
モジュールを直接使用するようになりました。その結果、ロールはワイルドカードパターンに一致するすべての要求されたパッケージを正しくインストールします。
rhc_auth
にアクティベーションキーが含まれている場合、rhc
システムロールが登録済みシステムで失敗しなくなる
以前は、rhc_auth
パラメーターで指定されたアクティベーションキーを使用して登録済みシステムで Playbook ファイルを実行すると、エラーが発生していました。この問題は解決されています。rhc_auth
パラメーターにアクティベーションキーが提供されていても、すでに登録されているシステムで Playbook ファイルを実行できるようになりました。
6.14. 仮想化
大量の vCPU と仮想ディスクを持つ仮想マシンに障害が発生しなくなりました。
以前は、RHEL 仮想マシンに大量の vCPU および仮想ディスクを割り当てると、仮想マシンが起動に失敗する可能性がありました。今回の更新により、問題が修正され、これらのケースで仮想マシンが正常に機能するようになりました。
Jira:RHEL-32990[1]
NBD を使用した TLS 接続を介した仮想マシンストレージの移行が正しく機能する
以前は、TLS 接続上で Network Block Device (NBD)プロトコルを使用して仮想マシン(VM)とそのストレージデバイスを移行する場合、TLS ハンドシェイクのデータ競合により移行が正常に実行されるように見えていました。ただし、宛先 VM の QEMU プロセスが応答しなくなり、さらなる対話が行われる可能性がありました。
今回の更新で問題が修正され、仮想マシンの移行に TLS 接続上で NBD プロトコルを使用すると正しく機能するようになりました。
インストーラーには、VM に RHEL をインストールするために予期されるシステムディスクが表示される
以前は、virtio-scsi
デバイスを使用して VM に RHEL をインストールする場合、device-mapper-multipath
のバグにより、これらのデバイスがインストーラーに表示されない可能性がありました。したがって、インストール中に、シリアルセットを持つデバイスとシリアルセットを持たないデバイスがある場合、multipath
コマンドはすべてのデバイスがシリアルを持つと主張していました。このため、インストーラーは、VM に RHEL をインストールするための予期されたシステムディスクを見つけることができませんでした。
今回の更新により、multipath
はシリアルのないデバイスを World Wide Identifier (WWID) を持たないものとして正しく設定し、無視します。インストール時に、multipath
は multipathd
がマルチパスデバイスのバインドに使用するデバイスのみを要求し、インストーラーは VM に RHEL をインストールするために予期されるシステムディスクを表示します。
Bugzilla:1926147[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
デバイスをアタッチできるようになりました。
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 以降が必要であることに注意してください。
postcopy 仮想マシンの移行を再開すると、正しく機能するようになりました。
以前は、仮想マシン(VM)のポストコピー移行を実行すると、移行の RECOVER フェーズ中にプロキシーネットワークに障害が発生した場合、仮想マシンが応答しなくなり、移行を再開できませんでした。代わりに、recovery コマンドに以下のエラーが表示されます。
error: Requested operation is not valid: QEMU reports migration is still running
今回の更新により、この問題は修正され、上記の状況で poscopy 移行が正しく再開されるようになりました。
virtio-win
ドライバーを再インストールしても、ゲストの DNS 設定がリセットされなくなる
以前、Windows ゲストオペレーティングシステムを使用する仮想マシンでは、ネットワークインターフェイスカード (NIC) の virtio-win
ドライバーを再インストールまたはアップグレードすると、ゲストの DNS 設定がリセットされていました。その結果、Windows ゲストのネットワーク接続が失われる場合がありました。
この更新により、上記の問題が修正されました。したがって、virtio-win
の最新バージョンを再インストールまたはアップグレードすると、問題は発生しなくなります。ただし、virtio-win
の以前のバージョンからアップグレードしても問題は解決されず、Windows ゲストで DNS リセットが引き続き発生する可能性があることに注意してください。
Jira:RHEL-1860[1]
6.15. サポート性
既存のアーカイブの sos clean
が失敗しなくなる
以前は、sos
コードのリグレッションにより、tarball のルートディレクトリーが誤って検出され、データの消去が妨げられていたため、sos clean
を実行しても既存のアーカイブを消去できませんでした。その結果、既存の sosreport tarball に対して sos clean
を実行しても、tarball の内容がクリーンアップされませんでした。この更新により、並べ替えられた tarball コンテンツ内のルートディレクトリーを適切に検出する実装が追加されました。その結果、sos clean
が既存の sosreport tarball に対して機密データの難読化を正しく実行するようになりました。
sos がユーザーの .ssh
設定を収集しなくなる
以前は、sos
ユーティリティーがデフォルトでユーザーから .ssh
設定を収集していました。その結果、このアクションにより、automount ユーティリティーを使用してマウントされたユーザーのシステムが破損していました。この更新により、sos
ユーティリティーが .ssh
設定を収集しなくなりました。
6.16. コンテナー
Netavark は DNS TCP クエリーの解決に失敗しなくなりました
以前は、Podman ネットワークでコンテナーを実行すると、ホストシステム上または Podman ネットワークを使用しないコンテナー内では機能しているにもかかわらず、一部のドメイン名が解決されませんでした。この更新により、Netavark は TCP DNS クエリーをサポートするようになり、問題は修正されました。
第7章 テクノロジープレビュー
ここでは、Red Hat Enterprise Linux 9 で利用可能なテクノロジープレビューのリストを提示します。
テクノロジープレビューに対する Red Hat のサポート範囲の詳細は、テクノロジープレビューのサポート範囲 を参照してください。
7.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 インストールなど) は、キックスタートファイル内で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]
7.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]
OpenSSL クライアントは、テクノロジープレビューとして QUIC プロトコルを使用できます。
OpenSSL は、テクノロジープレビューとして OpenSSL バージョン 3.2.2 にリベースすることで、クライアント側で QUIC トランスポート層ネットワークプロトコルを使用できるようになります。
Jira:RHELDOCS-18935[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]
7.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]
7.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]
7.5. インフラストラクチャーサービス
TuneD 用のソケット API がテクノロジープレビューとして利用可能になる
UNIX ドメインソケットを通じて TuneD を制御するためのソケット API がテクノロジープレビューとして利用可能になりました。ソケット API は D-Bus API と 1 対 1 でマッピングされ、D-Bus が利用できない場合に代替通信方法を提供します。ソケット API を使用すると、TuneD デーモンを制御してパフォーマンスを最適化したり、さまざまなチューニングパラメーターの値を変更したりできます。ソケット API はデフォルトでは無効になっていますが、tuned-main.conf
ファイルで有効にできます。
7.6. ネットワーク
パケットオフロードモードでの UDP カプセル化がテクノロジープレビューとして利用可能になる
IPsec パケットオフロードを使用すると、ワークロードを軽減するために、カーネルが IPsec カプセル化プロセス全体を NIC にオフロードできます。この更新により、パケットオフロードモード時に ipsec
トンネルの User Datagram Protocol (UDP) カプセル化をサポートすることで、パケットオフロードが改善されました。
Jira:RHEL-30141[1]
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], Bugzilla:2110561, Bugzilla:2222914, Jira:RHEL-6564, Bugzilla:2123542
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]
7.7. カーネル
Soft-iWARP ドライバーがテクノロジープレビューとして利用可能になる
Soft-iWARP(siw) は、Linux 用のソフトウェア、インターネットワイドエリア RDMA プロトコル (iWARP)、カーネルドライバーです。soft-iWARP は、TCP/IP ネットワークスタックで iWARP プロトコルスイートを実装します。このプロトコルスイートはソフトウェアで完全に実装されており、特定のリモートダイレクトメモリーアクセス (RDMA) ハードウェアを必要としません。Soft-iWARP を使用すると、標準のイーサネットアダプターを備えたシステムが iWARP アダプターまたは他のシステムに接続でき、すでに Soft-iWARP がインストールされている別のシステムに接続できます。
Bugzilla:2023416[1]
SGX がテクノロジープレビューとして利用可能
Software Guard Extensions (SGX) は、ソフトウェアコードおよび公開および修正からのデータを保護する Intel® テクノロジーです。RHEL カーネルは、SGX v1 および v1.5 の機能を部分的に提供します。バージョン 1 では、Flexible Launch Control メカニズムを使用するプラットフォームで SGX テクノロジーを使用できるようになります。バージョン 2 では、Enclave Dynamic Memory Management (EDMM) が追加されています。主な変更には以下のものがあります。
- 一旦初期化されたエンクレーブに属する通常のエンクレーブページの EPCM 権限を変更します。
- 一旦初期化されたエンクレーブに通常のエンクレーブページを動的に追加します。
- より多くのスレッドを収容できるように一旦初期化されたエンクレーブを拡張します。
- 初期化されたエンクレーブから通常のページと TCS ページを削除します。
Bugzilla:1660337[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]
7.8. ファイルシステムおよびストレージ
NVMe-oF Discovery Service 機能が完全にサポートされるようになりました
NVMe-oF Discovery Service 機能 (NVMexpress.org Technical Proposals (TP) 8013 および 8014 で定義) は、Red Hat Enterprise Linux 9.0 でテクノロジープレビューとして導入されました。この機能は完全にサポートされるようになりました。これらの機能をプレビューするには、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]
7.9. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
新しい nodejs:20
モジュールストリームがテクノロジープレビューとして利用可能に
新しいモジュールストリームの nodejs:20
がテクノロジープレビューとして利用できるようになりました。今後の更新では、完全にサポートされる Node.js 20 の長期サポート (LTS) バージョンが提供される予定です。
RHEL 9.3 に含まれる Node.js 20
は、RHEL 9.1 以降で利用可能な Node.js 18
に比べて、多数の新機能、バグ修正、セキュリティー修正、およびパフォーマンスの改善を提供します。
主な変更点は、以下のとおりです。
-
V8
JavaScript エンジンがバージョン 12.4 にアップグレードされました。 -
V8 Maglev
コンパイラーは、利用可能なアーキテクチャー (AMD および Intel 64 ビットアーキテクチャーと 64 ビット ARM アーキテクチャー) でデフォルトで有効になりました。 -
Maglev は、
短命の CLI プログラムのパフォーマンスを向上させます。 -
npm
パッケージマネージャーがバージョン 9.8.0 にアップグレードされました。 -
ノード --watch
モードは現在安定していると見なされます。監視
モードでは、監視対象ファイルの変更によりNode.js
プロセスが再起動されます。 -
WebSocket
のブラウザー互換実装は現在安定していると見なされ、デフォルトで有効になっています。その結果、外部依存関係なしで Node.js への WebSocket クライアントが利用できるようになります。 -
Node.js には、
package.json
からのスクリプトを実行するための実験的な機能が含まれるようになりました。この機能を使用するには、node --run <script-in-package.json>
コマンドを実行します。
nodejs:20
モジュールストリームをインストールするには、以下を使用します。
# dnf module install nodejs:22
nodejs:18
ストリームからアップグレードする場合は、後のストリームへの切り替え を参照してください。
nodejs
Application Streams のサポート期間の詳細は、Red Hat Enterprise Linux Application Streams のライフサイクル を参照してください。
7.10. コンパイラーおよび開発ツール
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]
7.11. 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 ゾーンの可用性に影響を与える可能性があります。
HSM サポートはテクノロジープレビューとして利用可能
ハードウェアセキュリティーモジュール (HSM) のサポートが、テクノロジープレビューとして Identity Management (IdM) で利用できるようになりました。IdM CA および KRA のキーペアと証明書を HSM に保存できます。これにより、秘密鍵マテリアルに物理的なセキュリティーが追加されます。
IdM は、HSM のネットワーク機能を利用してマシン間でキーを共有し、レプリカを作成します。HSM は、ほとんどの IPA 操作に目に見える影響を与えることなく、追加のセキュリティーを提供します。低レベルのツールを使用する場合、証明書とキーは異なる方法で処理されますが、ほとんどのユーザーにとってこれはシームレスです。
既存の CA または KRA を HSM ベースのセットアップに移行することはサポートされていません。HSM 上のキーを使用して CA または KRA を再インストールする必要があります。
次のものが必要です:
- サポートされている HSM
- HSM PKCS #11 ライブラリー
- 利用可能なスロット、トークン、トークンのパスワード
HSM にキーが保存されている CA または KRA をインストールするには、トークン名と PKCS #11 ライブラリーへのパスを指定する必要があります。以下に例を示します。
ipa-server-install -r EXAMPLE.TEST -U --setup-dns --allow-zone-overlap --no-forwarders -N --auto-reverse --random-serial-numbers -–token-name=HSM-TOKEN --token-library-path=/opt/nfast/toolkits/pkcs11/libcknfast.so --setup-kra
Jira:RHELDOCS-17465[1]
LMDB データベースタイプは、Directory Server でテクノロジープレビューとして利用できます。
Lightning Memory-Mapped Database (LMDB) は、サポートされていないテクノロジープレビューとして Directory Server で利用できます。
現在、LMDB を使用してインスタンスを移行またはインストールするには、コマンドラインのみを使用できます。
既存のインスタンスを Berkeley Database (BDB) から LMDB に移行するには、nsslapd-backend-implement
パラメーター値を mdb
に設定する dsctl instance_name dblib bdb2mdb
コマンドを使用します。このコマンドでは古いデータはクリーンアップされないことに注意してください。nsslapd-backend-implement を
bdb
に戻すことで、データベースタイプを元に戻すことができます。
- Important
- 既存のインスタンスを BDB から LMDB に移行する前に、データベースをバックアップしてください。詳細は、Directory Server のバックアップを 参照してください。
LMDB を使用して新しいインスタンスを作成するには、次のいずれかの方法を使用できます。
-
対話型インストーラーで、mdb または bdb のどちらを使用するかを選択する 行に
mdb を
設定します。詳細は、対話型インストーラーを使用したインスタンスの作成 を参照してください。 -
.inf
ファイルの [slapd] セクションでdb_lib = mdb
を設定します。詳細は、Directory Server インスタンスのインストール用の.inf
ファイルの作成を 参照してください。
Directory Server は、次の新しい設定パラメーターを含む cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config
エントリーの下に LMDB 設定を保存します。
nsslapd-mdb-max-size は、
データベースの最大サイズをバイト単位で設定します。重要:
nsslapd-mdb-max-size が、
すべての目的のデータを保存するのに十分な大きさであることを確認してください。ただし、データベースファイルはメモリーマップされるため、パラメーターサイズが大きすぎてパフォーマンスに影響を与えないようにする必要があります。-
nsslapd-mdb-max-readers は、
同時に開くことができる読み取り操作の最大数を設定します。Directory Server はこの設定を自動調整します。 -
nsslapd-mdb-max-dbs は、
メモリーマップされたデータベースファイル内に含めることができる名前付きデータベースインスタンスの最大数を設定します。
新しい LMDB 設定に加えて、nsslapd-db-home-directory
データベース設定パラメーターを引き続き使用できます。
混合実装の場合、レプリケーショントポロジーに BDB レプリカと LMDB レプリカを含めることができます。
Jira:RHELDOCS-19061[1]
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]
IdM から IdM への移行がテクノロジープレビューとして利用可能に
IdM から IdM への移行は、テクノロジープレビューとして Identity Management で利用できます。新しい ipa-migrate
コマンドを使用して、SUDO ルール、HBAC 範囲、ホスト、サービスなど、IdM 固有のデータをすべて別の IdM サーバーに移行できます。これは、たとえば、IdM を開発環境またはステージング環境から実稼働環境に移行する場合や、2 つの本番サーバー間で IdM データを移行する場合に役立ちます。
Jira:RHELDOCS-18408[1]
7.12. デスクトップ
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]
7.13. Web コンソール
RHEL Web コンソールで WireGuard 接続を管理できるようになりました
RHEL 9.4 以降では、RHEL Web コンソールを使用して WireGuard VPN 接続を作成および管理できます。なお、WireGuard テクノロジーとその Web コンソール統合は、どちらもサポート対象外のテクノロジープレビューです。
Jira:RHELDOCS-17520[1]
7.14. 仮想化
入れ子仮想マシンの作成
入れ子 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、および SEV-SNP
RHEL 9 は、テクノロジープレビューとして、KVM ハイパーバイザーを使用する AMD EPYC ホストマシンに、セキュア暗号化仮想化 (SEV) 機能を提供します。仮想マシンで有効になっている場合は、SEV が仮想マシンのメモリーを暗号化して、ホストから仮想マシンへのアクセスを防ぎます。これにより、仮想マシンのセキュリティーが向上します。
さらに、強化された SEV (Encrypted State) バージョンの SEV (SEV-ES) もテクノロジープレビューとして提供されます。SEV-ES は、仮想マシンの実行が停止すると、すべての CPU レジスターの内容を暗号化します。これにより、ホストが仮想マシンの CPU レジスターを変更したり、そこから情報を読み取ったりできなくなります。
RHEL 9.5 以降では、Secure Nested Paging (SEV-SNP) 機能もテクノロジープレビューとして提供されます。他の利点の中でも、SNP はメモリー整合性保護を改善することで SEV を強化します。これにより、データの再生やメモリーの再マッピングなどのハイパーバイザーベースの攻撃を防ぐことができます。
SEV および SEV-ES は、第 2 世代の AMD EPYC CPU (コードネーム Rome) 以降のみで動作することに注意してください。同様に、SEV-SNP は第 4 世代 AMD EPYC CPU (コード名 Genoa) 以降でのみ動作します。また、RHEL 9 には SEV、SEV-ES、SEV-SNP 暗号化が含まれていますが、SEV、SEV-ES、SEV-SNP のセキュリティーアテステーションとライブマイグレーションは含まれていないことに注意してください。
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 は、仮想化環境やクラウド環境、特に強力な SecureBoot ケイパビリティーが必要な機密仮想マシンで使用できます。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]
7.15. クラウド環境の 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]
7.16. コンテナー
composefs
ファイルシステムがテクノロジープレビューとして利用可能になる
composefs
はコンテナーストレージのデフォルトのバックエンドです。composefs
が使用する主要なテクノロジーは次のとおりです。
- カーネルインターフェイスとしての OverlayFS
- マウント可能なメタデータツリー用の拡張読み取り専用ファイルシステム (EROFS)
-
下位ファイルシステムからの
fs-verity
機能 (オプション)
composefs
の主な利点:
-
メタデータとデータの分離。
composefs
は永続的なデータを保存しません。基礎となるメタデータとデータファイルは、ext4
、xfs
、btrfs
などの有効な下位 Linux ファイルシステムに保存されます。 -
* 共有ストレージを使用して複数の
composefs
をマウントします。 - * 複数のコンテナーイメージがメモリーを共有できるように、データファイルがページキャッシュ内で共有されます。
-
* コンテンツファイルの
fs-verity
検証をサポートしています。
podman-machine
コマンドはサポート対象外です。
仮想マシンを管理するための podman-machine
コマンドは、テクノロジープレビューとしてのみ利用可能です。代わりに、コマンドラインから直接 Podman を実行してください。
Jira:RHELDOCS-16861[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]
zstd:chunked
で圧縮されたイメージのプッシュとプルはテクノロジープレビューとして利用可能です。
zstd:chunked
圧縮がテクノロジープレビューとして利用できるようになりました。
第8章 非推奨の機能
非推奨のデバイスは完全にサポートされています。つまり、非推奨のデバイスはテストおよび保守されています。デバイスが非推奨になっても、Red Hat Enterprise Linux 9 内でのサポート状況は変わりません。ただし、非推奨のデバイスは、次のメジャーバージョンのリリースではサポートされない可能性が高く、最新または今後のメジャーバージョンの新規 RHEL デプロイメントには推奨されません。
特定のメジャーリリースにおける非推奨機能の最新情報は、そのメジャーリリースの最新版のリリースノートを参照してください。サポート期間の詳細は、Red Hat Enterprise Linux のライフサイクル および Red Hat Enterprise Linux アプリケーションストリームのライフサイクル を参照してください。
パッケージが非推奨となり、使用の継続が推奨されない場合があります。特定の状況下では、製品からパッケージが削除されることがあります。その場合には、製品のドキュメントで、非推奨となったパッケージと同様、同一、またはより高度な機能を提供する最近のパッケージが指定され、詳しい推奨事項が記載されます。
RHEL 8 には存在するが RHEL 9 では 削除 された機能は、RHEL 9 を導入する際の考慮事項 を参照してください。
8.1. インストーラーおよびイメージの作成
非推奨のキックスタートコマンド
以下のキックスタートコマンドが非推奨になりました。
-
timezone --ntpservers
-
timezone --nontp
-
logging --level
-
%packages --excludeWeakdeps
-
%packages --instLangs
-
%anaconda
-
pwpolicy
-
nvdimm
特定のオプションだけがリスト表示されている場合は、基本コマンドおよびその他のオプションは引き続き利用でき、非推奨ではないことに注意してください。キックスタートファイルで非推奨のコマンドを使用すると、ログに警告が出力されます。inst.ksstrict
起動オプションを使用して、非推奨のコマンド警告をエラーにすることもできます。
Bugzilla:1899167[1]
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
を使用し、通常の手順を続行してドライバー更新ディスクからドライバーを適用します。その結果、システムはドライバーの更新バージョンをロードし、それをインストール環境で使用できるようになります。
8.2. セキュリティー
脆弱性スキャンアプリケーションにおける OVAL の廃止
OpenSCAP スイートによって処理される宣言型セキュリティーデータを提供する Open Vulnerability Assessment Language (OVAL) データ形式は非推奨であり、将来のメジャーリリースで削除される予定です。Red Hat は、OVAL の後継である Common Security Advisory Framework (CSAF) 形式で宣言型セキュリティーデータを引き続き提供します。
Jira:RHELDOCS-17532[1]
libgcrypt
が非推奨となる
libgcrypt
パッケージによって提供される Libgcrypt 暗号化ライブラリーは非推奨であり、将来のメジャーリリースで削除される可能性があります。代わりに、RHEL コア暗号化コンポーネントの 記事 (Red Hat ナレッジベース) に記載されているライブラリーを使用してください。
Jira:RHELDOCS-17508[1]
DSA および SEED アルゴリズムが NSS で非推奨となる
DSA 署名アルゴリズムは NIST によって作成され、現在は NIST によって完全に非推奨となっており、ネットワークセキュリティーサービス (NSS) 暗号化ライブラリーでも非推奨となっています。代わりに、RSA、ECDSA、SLH-DSA、ML-DSA、FN-DSA などのアルゴリズムを使用することもできます。
韓国情報保護振興院 (KISA) によって作成され、以前はアップストリームで無効化されていた SEED アルゴリズムは、ネットワークセキュリティーサービス (NSS) 暗号化ライブラリーでは非推奨となっています。
Jira:RHELDOCS-18555[1]
引数なしでの update-ca-trust
の使用が非推奨となる
以前は、コマンド update-ca-trust は、
入力された引数に関係なく、システム認証局 (CA) ストアを更新していました。この更新では、CA ストアを更新するための extract
サブコマンドが導入されました。--output
引数を使用して、CA 証明書を抽出する場所を指定することもできます。以前のバージョンの RHEL との互換性のため、-o
または --help
以外の引数を指定して、あるいは引数を指定せずに update-ca-trust を
入力して CA ストアを更新することは、RHEL 9 の期間中は引き続きサポートされますが、次のメジャーリリースでは削除されます。update-ca-trust extract
への呼び出しを更新します。
Jira:RHEL-54695[1]
Stunnel クライアントの信頼されたルート証明書ファイルを指す CAfile
が非推奨となる
Stunnel がクライアントモードで設定されている場合、CAfile
ディレクティブは、BEGIN TRUSTED CERTIFICATE
形式の信頼されたルート証明書を含むファイルを指すことができます。このメソッドは非推奨となり、今後のメジャーバージョンで削除される可能性があります。将来のバージョンでは、stunnel は、
BEGIN TRUSTED CERTIFICATE
形式をサポートしていない関数に CAfile
ディレクティブの値を渡します。したがって、CAfile =/etc/pki/tls/certs/ca-bundle.trust.crt
を使用する場合は、場所を CAfile =/etc/pki/tls/certs/ca-bundle.crt
に変更します。
Jira:RHEL-52317[1]
DSA および SEED アルゴリズムが NSS で非推奨となる
デジタル署名アルゴリズム (DSA) は、米国 National Institute of Standards and Technology (NIST) によって作成され、現在は NIST によって完全に非推奨となっており、ネットワークセキュリティーサービス (NSS) 暗号化ライブラリーでも非推奨となっています。代わりに、RSA、ECDSA、SHB-DSA、ML-DSA、FN-DSA などのアルゴリズムを使用することもできます。
韓国情報保護振興院 (KISA) によって作成され、以前はアップストリームで無効化されていた SEED アルゴリズムは、NSS 暗号化ライブラリーでは非推奨となっています。
Jira:RHELDOCS-19004[1]
pam_ssh_agent_auth
が非推奨に
pam_ssh_agent_auth
パッケージは非推奨であり、将来のメジャーリリースで削除される可能性があります。
Jira:RHELDOCS-18312[1]
OpenSSL の SHA-1 で SECLEVEL=2
が非推奨となる
SECLEVEL=2
での SHA-1 アルゴリズムの使用は OpenSSL では非推奨であり、将来のメジャーリリースで削除される可能性があります。
Jira:RHELDOCS-18701[1]
OpenSSL ENGINE API が Stunnel で非推奨となる
Stunnel での OpenSSL ENGINE API の使用は非推奨であり、将来のメジャーリリースで削除される予定です。最も一般的な用途は、openssl-pkcs11
パッケージを通じて PKCS#11 を使用するハードウェアセキュリティートークンにアクセスすることです。代わりに、新しい OpenSSL プロバイダー API を使用する pkcs11-provider を
使用できます。
Jira:RHELDOCS-18702[1]
OpenSSL エンジンは非推奨です
OpenSSL エンジンは非推奨であり、近い将来に削除される予定です。エンジンを使用する代わりに、pkcs11-provider を
代わりに使用できます。
Jira:RHELDOCS-18703[1]
oscap-anaconda-addon
が非推奨に
oscap-anaconda-addon
パッケージは非推奨となり、今後のメジャーリリースで削除される予定です。
scap-workbench
が非推奨になる
scap-workbench
パッケージが非推奨となり、今後のメジャーリリースで削除される予定です。
Jira:RHELDOCS-18985[1]
scap-workbench
が非推奨になる
scap-workbench
パッケージが非推奨となるscap-workbench グラフィカルユーティリティーは、単一のローカルシステムまたはリモートシステム上で設定および脆弱性スキャンを実行するように設計されています。代わりに、oscap
コマンドを使用してローカルシステムの設定コンプライアンスをスキャンし、oscap-ssh
コマンドを使用してリモートシステムをスキャンすることもできます。詳細は、設定コンプライアンススキャン を参照してください。
Jira:RHELDOCS-19028[1]
oscap-anaconda-addon
が非推奨に
グラフィカルインストールを使用してベースライン準拠の RHEL システムをデプロイする手段を提供していた oscap-anaconda-addon
が非推奨となりました。代わりに、RHEL Image Builder OpenSCAP 統合を使用して事前に強化されたイメージを作成する ことで、特定の標準に準拠した RHEL イメージを構築できます。
Jira:RHELDOCS-19029[1]
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 の将来のバージョンで削除される可能性があります。
8.3. サブスクリプションの管理
いくつかの subscription-manager
モジュールは非推奨になりました
Red Hat サブスクリプションサービスの顧客エクスペリエンスが簡素化され、Red Hat Hybrid Cloud Console と Simple Content Access によるアカウントレベルのサブスクリプション管理に移行したため、次のモジュールは非推奨となり、将来のメジャーリリースで削除される予定です。
-
addons
-
attach
-
自動アタッチ
-
import
-
remove
-
redeem
-
role
-
service-level
-
syspurpose addons
-
使用方法
これらの移行に関する詳細は、Red Hat のサブスクリプションサービスの Red Hat Hybrid Cloud Console への移行の 記事を参照してください。
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
を含めます。
8.4. ソフトウェア管理
DNF debug
プラグインは非推奨となりました
dnf debug-dump
コマンドと dnf debug-restore
コマンドを含む DNF debug
プラグインは非推奨となり、次の RHEL メジャーリリースで dnf-plugins-core
パッケージから削除されます。
Jira:RHELDOCS-18592[1]
libreport
のサポートは廃止されました
libreport
ライブラリーのサポートは非推奨となり、次の RHEL メジャーリリースで DNF から削除されます。
Jira:RHELDOCS-18593[1]
8.5. シェルおよびコマンドラインツール
perl (Mail::Sender)
モジュールは非推奨になりました
perl (Mail::Sender)
モジュールは非推奨となり、次のメジャーリリースでは代替品なしで削除されます。その結果、net-snmp-perl
パッケージの checkbandwidth
スクリプトは、ホストまたはインターフェイスの帯域幅の高レベル/低レベルに達したときにメールアラートを送信しなくなります。
Jira:RHELDOCS-18959[1]
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]
8.6. インフラストラクチャーサービス
クライアントサイドおよびサーバーサイドの DHCP パッケージがが非推奨になる
Internet Systems Consortium (ISC) は、2022 年末をもって ISC DHCP のメンテナンスを終了することを発表しました。そのため、Red Hat は、RHEL 9 でのクライアントサイドおよびサーバーサイドの DHCP パッケージの使用を非推奨とし、今後の RHEL メジャーバージョンでは配布しないことを決定しました。ユーザーは、dhcpcd
や ISC Kea
などの利用可能な代替手段への移行を準備する必要があります。
Jira:RHELDOCS-17135[1]
インフラストラクチャーサービスではさまざまなパッケージが非推奨になりました
以下のパッケージは RHEL 9 では非推奨となり、今後の RHEL メジャーバージョンでは配布されません。
-
sendmail
-
libotr
-
mod_security
-
spamassassin
-
redis
-
dhcp
-
xsane
Jira:RHEL-22385[1]
8.7. ネットワーク
Soft-iWARP ドライバーが非推奨になりました。
RHEL 9 は、サポート対象外のテクノロジープレビューとして Soft-iWARP ドライバーを提供します。RHEL 9.5 以降では、このドライバーは非推奨となり、RHEL 10 で削除されます。
Jira:RHELDOCS-18699[1]
dhcp-client
パッケージが非推奨になる
以前は、dhcp-client
パッケージの DHCP クライアントを使用するように、RHEL 9 の NetworkManager を設定することができました。しかし、dhclient
ユーティリティーを使用するオプションは現在非推奨になっています。使用すると、NetworkManager の起動時に警告が表示されます。前述のように NetworkManager を設定するには、内部の DHCP ライブラリーに切り替えてください。RHEL 10 では、dhcp-client
パッケージは利用できなくなり、dhclient
ユーティリティーを使用するように設定されたアプリケーションは、代わりに内部の DHCP ライブラリーを使用するようになります。
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]
8.8. カーネル
RHEL 9 で ATM カプセル化が非推奨になりました
非同期転送モード (ATM) カプセル化により、ATM アダプテーションレイヤー 5(AAL-5) のレイヤー 2(ポイントツーポイントプロトコル、イーサネット) またはレイヤー 3(IP) 接続が可能になります。Red Hat は、RHEL 7 以降 ATM NIC ドライバーのサポートを提供していません。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]
8.9. ファイルシステムおよびストレージ
NVMe デバイスのサポートは lsscsi
パッケージから廃止されました。
Non-volatile Memory Express (NVMe) デバイスのサポートは非推奨となり、将来の RHEL メジャーリリースでは lsscsi
パッケージから削除される予定です。代わりに、nvme-cli
、lsblk
、blkid
などのネイティブツールを使用してください。
Jira:RHELDOCS-19068[1]
NVMe デバイスのサポートは sg3_utils
パッケージから廃止されました
Non-Volatile Memory Express (NVMe) デバイスのサポートは非推奨となり、将来の RHEL メジャーリリースでは sg3_utils
パッケージから削除される予定です。代わりにネイティブツール (nvme-cli
) を使用できます。
Jira:RHELDOCS-19069[1]
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 コマンドを使用して引き続きアクセスできます。
8.10. 高可用性およびクラスター
非推奨の高可用性機能
以下の機能は、Red Hat Enterprise Linux 9.5 で非推奨となり、次のメジャーリリースで削除されます。これらの機能を使用してシステムを設定しようとすると、pcs
コマンドラインインターフェイスによって警告が表示されます。
-
順序の制約における
score
パラメーターの設定 -
バンドルでの
rkt
コンテナーエンジンの使用 -
upstart
およびnagios
リソースのサポート -
Pacemaker ルールを設定するための
monthdays
、weekdays
、weekyears
、yearsdays
、およびmoon
の日付指定オプション -
Pacemaker ルールを設定するための
yearsdays
とmoon
の期間オプション
Resilient Storage Add-On が非推奨になりました。
Red Hat Enterprise Linux (RHEL) Resilient Storage Add-On が非推奨になりました。Resilient Storage Add-On は、Red Hat Enterprise Linux 10 および RHEL 10 以降のリリースではサポートされなくなります。RHEL Resilient Storage Add-On は、以前のバージョンの RHEL (7、8、9) で、および各バージョンのメンテナンスサポートライフサイクル中は引き続きサポートされます。
Jira:RHELDOCS-19022[1]
8.11. 動的プログラミング言語、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
8.12. コンパイラーおよび開発ツール
Grafana、PCP、grafana-pcp
では Redis が
Valkey
に置き換えられます。
Redis
キーバリューストアは非推奨となり、RHEL の次のメジャーバージョンでは Valkey
に置き換えられます。その結果、Grafana
、PCP、および grafana-pcp
プラグインは、RHEL 10 では Redis
ではなく Valkey を
使用してデータを保存します。
Jira:RHELDOCS-18207[1]
llvm-doc
の HTML コンテンツが非推奨となる
llvm-doc
パッケージの HTML コンテンツは、将来の RHEL リリースで削除され、llvm.org のオンラインドキュメントを指す単一の HTML ファイルに置き換えられます。ネットワークにアクセスできない llvm-doc
のユーザーは、LLVM ドキュメントにアクセスするための別の方法が必要になります。
Jira:RHELDOCS-19013[1]
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]
8.13. Identity Management
pam_console
モジュールが非推奨となる
RHEL 9.5 では、pam_console
モジュールが非推奨となり、今後のリリースで削除される予定です。pam_console
モジュールは、物理コンソールまたは端末にログインしたユーザーにファイル権限と認証機能を付与し、コンソールのログイン状態とユーザーの存在に基づいてこれらの権限を調整します。pam_console
の代わりに、systemd-logind
システムサービスを使用することもできます。設定の詳細は、logind.conf (5) の
man ページを参照してください。
Jira:RHELDOCS-18158[1]
BDB バックエンドが 389-ds-base
で非推奨となる
389-ds-base
で使用される Berkeley Database (BDB) バージョンを実装する libdb
ライブラリーは、RHEL 9.0 では非推奨になりました。その結果、Directory Server は BDB バックエンドを非推奨にしました。BDB のサポートは、Directory Server の将来のメジャーバージョンでは削除されます。
代わりに、Directory Server はテクノロジープレビューとして利用可能な Lightning Memory-Mapped Database (LMDB) を使用してインスタンスを作成できるようになりました。
Jira:RHELDOCS-19064[1]
sss_ssh_knownhostsproxy
ツールは廃止されました
sss_ssh_knownhostsproxy
は非推奨となり、RHEL 10 ではより効率的なツールに置き換えられます。sss_ssh_knownhostsproxy は
、RHEL 9 では下位互換性のために保持され、RHEL 10 では削除されます。ssh KnownHostsCommand
オプションのサポートは、今後のリリースで追加される予定です。
Jira:RHELDOCS-19115[1]
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
ユーザー情報のキャッシュと同期を復元するには、シンボリックリンクを作成して、
shadow-utils
とsssd_cache
の統合を有効にします。# ln -s /usr/sbin/sss_cache /usr/sbin/sss_cache_shadow_utils
Jira:RHELPLAN-100639[1], Jira:RHEL-56352
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]
8.14. デスクトップ
Totem メディアプレーヤーは廃止されました
Totem メディアプレーヤーは RHEL 9.5 で非推奨となり、将来のメジャーリリースでは削除される予定です。
Jira:RHELDOCS-19050[1]
power- プロファイル s-daemon は
廃止されました
GNOME で電源モード設定を提供する power- プロファイル s-daemon
パッケージは非推奨となり、将来のメジャーリリースで削除される予定です。
GNOME の電源モード設定の代わりに Tuned を使用できます。power- プロファイル s-dameon
の代替として、tuned-ppd
API 変換デーモンを使用できます。
Jira:RHELDOCS-19093[1]
gedit
が非推奨となる
Red Hat Enterprise Linux のデフォルトのグラフィカルテキストエディターである gedit は
非推奨となり、将来のメジャーリリースで削除される予定です。代わりに、GNOME テキストエディターを使用してください。
Jira:RHELDOCS-19149[1]
Qt 5 ライブラリーは非推奨になりました
Qt 5 ライブラリーは非推奨となり、将来のメジャーリリースで削除される予定です。Qt 5 ライブラリーは、新しい機能とより優れたサポートを備えた Qt 6 ライブラリーに置き換えられました。
詳細は、Qt 6 への移植 を参照してください。
Jira:RHELDOCS-19133[1]
WebKitGTK は非推奨になりました
WebKitGTK Web ブラウザーエンジンは非推奨となり、将来のメジャーリリースで削除される予定です。
その結果、WebKitGTK に依存するアプリケーションを構築できなくなります。Firefox 以外のデスクトップアプリケーションでは、Web コンテンツを表示できなくなりました。RHEL 10 では代替の Web ブラウザーエンジンは提供されていません。
Jira:RHELDOCS-19171[1]
Evolution は廃止されました
Evolution は、統合されたメール、カレンダー、連絡先管理、および通信機能を提供する GNOME アプリケーションです。アプリケーションとそのプラグインは非推奨となり、将来のメジャーバージョンで削除される予定です。Flathub などのサードパーティーソースで代替品を見つけることができます。
Jira:RHELDOCS-19147[1]
フェスティバルは廃止されました
Festival 音声合成機能は廃止され、将来のメジャーバージョンでは削除される予定です。
代わりに、Espeak NG 音声合成装置を使用することもできます。
Jira:RHELDOCS-19139[1]
Eye of GNOME が削除されました
Eye of GNOME (eog
) イメージビューアーアプリケーションは RHEL 10 で削除されました。
代わりに、Loupe アプリケーションを使用することもできます。
Jira:RHELDOCS-19135[1]
チーズは廃止されました
Cheese カメラアプリケーションは非推奨となり、将来のメジャーバージョンでは削除される予定です。
代わりに、スナップショットアプリケーションを使用することもできます。
Jira:RHELDOCS-19137[1]
devhelp が非推奨になりました。
devhelp は、API ドキュメントを参照および検索するためのグラフィカル開発者ツールであり、今後のメジャーバージョンで削除される予定です。特定のアップストリームプロジェクトで API ドキュメントをオンラインで確認できるようになりました。
Jira:RHELDOCS-19154[1]
GTK 3 に基づく gtkmm
が非推奨になりました。
gtkmm
は、GTK グラフィカルツールキットの C++ インターフェイスです。GTK 3 に基づく gtkmm
バージョンは、すべての依存関係で非推奨となり、将来のメジャーバージョンでは削除される予定です。RHEL 10 で gtkmm
にアクセスするには、GTK 4 に基づいて gtkmm
バージョンに移行します。
Jira:RHELDOCS-19143[1]
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]
TigerVNC が非推奨になりました
TigerVNC リモートデスクトップソリューションが非推奨になりました。これは、今後の RHEL メジャーリリースで削除され、別のリモートデスクトップソリューションに置き換えられます。
TigerVNC は、RHEL 9 で Virtual Network Computing (VNC) プロトコルのサーバーおよびクライアント実装を提供します。
次のパッケージは非推奨です。
-
tigervnc
-
tigervnc-icons
-
tigervnc-license
-
tigervnc-selinux
-
tigervnc-server
-
tigervnc-server-minimal
-
tigervnc-server-module
Connections アプリケーション (gnome-connections
) は代替の VNC クライアントとして引き続きサポートされますが、VNC サーバーは提供されません。
Jira:RHELDOCS-17782[1]
8.15. グラフィックインフラストラクチャー
PulseAudio デーモンが非推奨となる
PulseAudio デーモンとそのパッケージ pulseaudio
および alsa-plugins-pulseaudio は
非推奨となり、将来のメジャーリリースで削除される予定です。
PulseAudio クライアントライブラリーとツールは非推奨ではないことに注意してください。この変更は、システム上で実行されるオーディオデーモンにのみ影響します。
代わりに、RHEL 9.0 以降のデフォルトのオーディオデーモンでもある PipeWire オーディオシステムを使用することもできます。PipeWire は PulseAudio API の実装も提供します。
Jira:RHELDOCS-19080[1]
Motif が非推奨になりました
アップストリームの Motif コミュニティーでの開発は非アクティブであるため、Motif ウィジェットツールキットは RHEL で非推奨になりました。
開発バリアントおよびデバッグバリアントを含む、以下の Motif パッケージが非推奨になりました。
-
motif
-
openmotif
-
openmotif21
-
openmotif22
さらに、motif-static
パッケージが削除されました。
Red Hat は、GTK ツールキットを代替として使用することを推奨します。GTK は Motif と比較してメンテナンス性が高く、新機能を提供します。
Jira:RHELPLAN-98983[1]
8.16. Red Hat Enterprise Linux システムロール
podman
RHEL システムロールの非推奨変数: container_image_user
および container_image_password
container_image_user
および container_image_password
変数は非推奨です。RHEL の将来のメジャーリリースでは、これらの変数は削除されます。代わりに、podman_registry_username
および podman_registry_password
変数を使用できます。
詳細は、/usr/share/doc/rhel-system-roles/podman/
ディレクトリー内のリソースを参照してください。
Jira:RHELDOCS-18803[1]
RHEL 9 ノードでチームを設定すると、network
システムロールが非推奨の警告を表示します。
ネットワークチーミング機能は、RHEL 9 では非推奨になりました。その結果、RHEL 8 制御ノードで network
RHEL システムロールを使用して RHEL 9 ノードでネットワークチームを設定すると、非推奨についての警告が表示されます。
8.17. 仮想化
iPXE に関連する NIC デバイスドライバーは RHEL 9 で非推奨になりました
Internet Preboot eXecution Environment (iPXE) ファームウェアは、マシンをリモートで起動する必要がある環境でよく使用される、ネットワーク経由の各種起動オプションを提供します。これには、多数のデバイスドライバーも含まれています。以下は非推奨としてマークされており、RHEL 10 リリースで削除されます。
-
完全な
ipxe-roms
サブ RPM パッケージ ipxe-bootimgs-x86
サブ RPM パッケージからのデバイスドライバーを含むバイナリーファイル:-
/usr/share/ipxe/ipxe-i386.efi
-
/usr/share/ipxe/ipxe-x86_64.efi
-
/usr/share/ipxe/ipxe.dsk
-
/usr/share/ipxe/ipxe.iso
-
/usr/share/ipxe/ipxe.lkrn
-
/usr/share/ipxe/ipxe.usb
-
代わりに、iPXE はプラットフォームファームウェアに依存して、ネットワークブート用の NIC ドライバーを提供するようになりました。/usr/share/ipxe/ipxe-snponly-x86_64.efi
および /usr/share/ipxe/undionly.kpxe
iPXE バイナリーファイルは ipxe-bootimgs
パッケージの一部であり、プラットフォームファームウェアが提供する NIC ドライバーを使用します。
SHA1 ベースの署名を使用した SecureBoot イメージ検証が非推奨になりました
UEFI (PE/COFF) 実行ファイルでの SHA1 ベースの署名を使用した SecureBoot イメージ検証の実行は非推奨になりました。代わりに、Red Hat は、SHA-2 アルゴリズムまたはそれ以降に基づく署名を使用することを推奨します。
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
8.18. コンテナー
Podman v5.0 の非推奨化
RHEL 9.5 では、Podman v5.0 で以下が非推奨となりました。
-
containers.conf
ファイルに保存されているシステム接続とファームの情報が読み取り専用になりました。システム接続とファームの情報は、Podman のみが管理するpodman.connections.json
ファイルに保存されます。Podman は、[engine.service_destinations]
や[farms]
セクションなどの古い設定オプションを引き続きサポートします。必要に応じて手動で接続またはファームを追加できますが、podman system connection rm コマンドを使用して containers.conf ファイルから接続を削除することはできません。 -
slirp4netns
ネットワークモードが非推奨となり、RHEL の今後のメジャーリリースで削除される予定です。pasta
ネットワークモードは、ルートレスコンテナーのデフォルトのネットワークモードです。 - ルートレスコンテナーの cgroups v1 は非推奨であり、RHEL の将来のメジャーリリースで削除される予定です。
Jira:RHELDOCS-19021[1]
runc
コンテナーランタイムは非推奨になりました
runc
コンテナーランタイムは非推奨であり、RHEL の将来のメジャーリリースで削除される予定です。デフォルトのコンテナーランタイムは runC です。
Jira:RHELDOCS-19012[1]
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]
8.19. 非推奨のパッケージ
このセクションでは、非推奨となり、将来バージョンの 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
- aajohan-comfortaa-fonts
- adwaita-gtk2-theme
- adwaita-qt5
- anaconda-user-help
- ant-javamail
- apr-util-bdb
- aspnetcore-runtime-7.0
- aspnetcore-targeting-pack-6.0
- aspnetcore-targeting-pack-7.0
- atkmm
- atlas
- atlas-devel
- atlas-z14
- atlas-z15
- authselect-compat
- autoconf-latest
- autoconf271
- 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
- babl
- bind9.18-libs
- bitmap-fangsongti-fonts
- bnx2
- bnx2fc
- bnx2i
- bogofilter
- Box2D
- brasero-nautilus
- cairomm
- cheese
- cheese-libs
- clucene-contribs-lib
- clucene-core
- clutter
- clutter-gst3
- clutter-gtk
- cnic
- cogl
- compat-hesiod
- compat-locales-sap
- compat-locales-sap-common
- compat-openssl11
- compat-paratype-pt-sans-fonts-f33-f34
- compat-sap-c++-12
- compat-sap-c++-13
- containernetworking-plugins
- containers-common-extra
- culmus-aharoni-clm-fonts
- culmus-caladings-clm-fonts
- culmus-david-clm-fonts
- culmus-drugulin-clm-fonts
- culmus-ellinia-clm-fonts
- culmus-fonts-common
- culmus-frank-ruehl-clm-fonts
- culmus-hadasim-clm-fonts
- culmus-miriam-clm-fonts
- culmus-miriam-mono-clm-fonts
- culmus-nachlieli-clm-fonts
- culmus-simple-clm-fonts
- culmus-stamashkenaz-clm-fonts
- culmus-stamsefarad-clm-fonts
- culmus-yehuda-clm-fonts
- curl-minimal
- daxio
- dbus-glib
- dbus-glib-devel
- devhelp
- devhelp-libs
- dhcp-client
- dhcp-common
- dhcp-relay
- dhcp-server
- dotnet-apphost-pack-6.0
- dotnet-apphost-pack-7.0
- dotnet-hostfxr-6.0
- dotnet-hostfxr-7.0
- dotnet-runtime-6.0
- dotnet-runtime-7.0
- dotnet-sdk-6.0
- dotnet-sdk-7.0
- dotnet-targeting-pack-6.0
- dotnet-targeting-pack-7.0
- dotnet-templates-6.0
- dotnet-templates-7.0
- double-conversion
- efs-utils
- enchant
- enchant-devel
- eog
- evince
- evince-libs
- evince-nautilus
- evince-previewer
- evince-thumbnailer
- evolution
- evolution-bogofilter
- evolution-data-server-ui
- evolution-data-server-ui-devel
- evolution-devel
- evolution-ews
- evolution-ews-langpacks
- evolution-help
- evolution-langpacks
- evolution-mapi
- evolution-mapi-langpacks
- evolution-pst
- evolution-spamassassin
- festival
- festival-data
- festvox-slt-arctic-hts
- firefox
- firefox
- firefox-x11
- flite
- flite-devel
- fltk
- flute
- firewire-core
- fontawesome-fonts
- gc
- gcr-base
- 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
- ghc-srpm-macros
- ghostscript-x11
- git-p4
- gl-manpages
- glade
- glade-libs
- glibmm24
- gnome-backgrounds
- gnome-backgrounds-extras
- gnome-common
- gnome-logs
- gnome-photos
- gnome-photos-tests
- gnome-screenshot
- gnome-session-xsession
- gnome-shell-extension-panel-favorites
- gnome-shell-extension-updates-dialog
- gnome-terminal
- gnome-terminal-nautilus
- gnome-themes-extra
- gnome-tweaks
- gnome-video-effects
- google-noto-cjk-fonts-common
- google-noto-sans-cjk-ttc-fonts
- google-noto-sans-khmer-ui-fonts
- google-noto-sans-lao-ui-fonts
- google-noto-sans-thai-ui-fonts
- gspell
- gtksourceview4
- gtk2
- gtk2-devel
- gtk2-devel-docs
- gtk2-immodule-xim
- gtk2-immodules
- gtkmm30
- gtksourceview4
- gubbi-fonts
- gvfs-devel
- ha-openstack-support
- hexchat
- hesiod
- highcontrast-icon-theme
- http-parser
- ibus-gtk2
- initial-setup
- initial-setup-gui
- inkscape
- inkscape-docs
- inkscape-view
- iptables-devel
- iptables-libs
- iptables-nft
- iptables-nft-services
- iptables-utils
- iputils-ninfod
- ipxe-roms
- jakarta-activation2
- jboss-jaxrs-2.0-api
- jboss-logging
- jboss-logging-tools
- jdeparser
- julietaula-montserrat-fonts
- kacst-art-fonts
- kacst-book-fonts
- kacst-decorative-fonts
- kacst-digital-fonts
- kacst-farsi-fonts
- kacst-fonts-common
- kacst-letter-fonts
- kacst-naskh-fonts
- kacst-office-fonts
- kacst-one-fonts
- kacst-pen-fonts
- kacst-poster-fonts
- kacst-qurn-fonts
- kacst-screen-fonts
- kacst-title-fonts
- kacst-titlel-fonts
- khmer-os-battambang-fonts
- khmer-os-bokor-fonts
- khmer-os-content-fonts
- khmer-os-fasthand-fonts
- khmer-os-freehand-fonts
- khmer-os-handwritten-fonts
- khmer-os-metal-chrieng-fonts
- khmer-os-muol-fonts
- khmer-os-muol-fonts-all
- khmer-os-muol-pali-fonts
- khmer-os-siemreap-fonts
- kmod-kvdo
- lasso
- libabw
- libadwaita-qt5
- libbase
- libblockdev-kbd
- libcanberra-gtk2
- libcdr
- libcmis
- libdazzle
- libdb
- libdb-devel
- libdb-utils
- libdmx
- libepubgen
- libetonyek
- libexttextcat
- libfonts
- libformula
- libfreehand
- libgdata
- libgdata-devel
- libgnomekbd
- libiscsi
- libiscsi-utils
- liblangtag
- liblangtag-data
- liblayout
- libloader
- libmatchbox
- libmspub
- libmwaw
- libnsl2
- libnumbertext
- libodfgen
- liborcus
- libotr
- libpagemaker
- libpmem
- libpmem-debug
- libpmem-devel
- libpmem2
- libpmem2-debug
- libpmem2-devel
- libpmemblk
- libpmemblk-debug
- libpmemblk-devel
- libpmemlog
- libpmemlog-debug
- libpmemlog-devel
- libpmemobj
- libpmemobj++-devel
- libpmemobj++-doc
- libpmemobj-debug
- libpmemobj-devel
- libpmempool
- libpmempool-debug
- libpmempool-devel
- libpng15
- libpst-libs
- libqxp
- LibRaw
- 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-voikko
- libreoffice-wiki-publisher
- libreoffice-writer
- libreoffice-x11
- libreoffice-xsltfilter
- libreofficekit
- librepository
- librevenge
- librevenge-gdb
- libserializer
- libsigc++20
- libsigsegv
- libsmbios
- libsoup
- libsoup-devel
- libstaroffice
- libstemmer
- libstoragemgmt-smis-plugin
- libteam
- libuser
- libuser-devel
- libvisio
- libvisual
- libwpd
- libwpe
- libwpe-devel
- libwpg
- libwps
- libxcrypt-compat
- libxklavier
- libXp
- libXp-devel
- libXScrnSaver
- libXScrnSaver-devel
- libXxf86dga
- libXxf86dga-devel
- libzmf
- lklug-fonts
- lohit-gurmukhi-fonts
- lpsolve
- man-pages-overrides
- mcpp
- memkind
- mesa-libGLw
- mesa-libGLw-devel
- mlocate
- mod_auth_mellon
- mod_jk
- mod_security
- mod_security-mlogc
- mod_security_crs
- motif
- motif-devel
- mythes
- mythes-bg
- mythes-ca
- mythes-cs
- mythes-da
- mythes-de
- mythes-el
- mythes-en
- mythes-eo
- mythes-es
- mythes-fr
- mythes-ga
- mythes-hu
- mythes-it
- mythes-lv
- mythes-nb
- mythes-nl
- mythes-nn
- mythes-pl
- mythes-pt
- mythes-ro
- mythes-ru
- mythes-sk
- mythes-sl
- mythes-sv
- mythes-uk
- navilu-fonts
- nbdkit-gzip-filter
- neon
- NetworkManager-initscripts-updown
- nginx
- nginx-all-modules
- nginx-core
- nginx-filesystem
- nginx-mod-devel
- nginx-mod-http-image-filter
- nginx-mod-http-perl
- nginx-mod-http-xslt-filter
- nginx-mod-mail
- nginx-mod-stream
- nispor
- nscd
- nvme-stas
- opal-firmware
- opal-prd
- opal-utils
- openal-soft
- openchange
- openscap-devel
- openscap-python3
- openslp-server
- overpass-fonts
- paktype-naqsh-fonts
- paktype-tehreer-fonts
- pam_ssh_agent_auth
- pangomm
- pentaho-libxml
- pentaho-reporting-flow-engine
- perl-AnyEvent
- perl-B-Hooks-EndOfScope
- perl-Class-Accessor
- perl-Class-Data-Inheritable
- perl-Class-Singleton
- perl-Class-Tiny
- perl-Crypt-OpenSSL-Bignum
- perl-Crypt-OpenSSL-Random
- perl-Crypt-OpenSSL-RSA
- perl-Date-ISO8601
- perl-DateTime
- perl-DateTime-Format-Builder
- perl-DateTime-Format-ISO8601
- perl-DateTime-Format-Strptime
- perl-DateTime-Locale
- perl-DateTime-TimeZone
- perl-DateTime-TimeZone-SystemV
- perl-DateTime-TimeZone-Tzfile
- perl-DB_File
- perl-Devel-CallChecker
- perl-Devel-Caller
- perl-Devel-LexAlias
- perl-Digest-SHA1
- perl-Dist-CheckConflicts
- perl-DynaLoader-Functions
- perl-Encode-Detect
- perl-Eval-Closure
- perl-Exception-Class
- perl-File-chdir
- perl-File-Copy-Recursive
- perl-File-Find-Object
- perl-File-Find-Rule
- perl-HTML-Tree
- perl-Importer
- perl-Mail-AuthenticationResults
- perl-Mail-DKIM
- perl-Mail-Sender
- perl-Mail-SPF
- perl-MIME-Types
- perl-Module-Implementation
- perl-Module-Pluggable
- perl-namespace-autoclean
- perl-namespace-clean
- perl-Net-CIDR-Lite
- perl-Net-DNS
- perl-NetAddr-IP
- perl-Number-Compare
- perl-Package-Stash
- perl-Package-Stash-XS
- perl-PadWalker
- perl-Params-Classify
- perl-Params-Validate
- perl-Params-ValidationCompiler
- perl-Perl-Destruct-Level
- perl-Ref-Util
- perl-Ref-Util-XS
- perl-Scope-Guard
- perl-Specio
- perl-Sub-Identify
- perl-Sub-Info
- perl-Sub-Name
- perl-Switch
- perl-Sys-CPU
- perl-Sys-MemInfo
- perl-Test-LongString
- perl-Test-Taint
- perl-Variable-Magic
- perl-XML-DOM
- perl-XML-RegExp
- perl-XML-Twig
- pinfo
- pki-jackson-annotations
- pki-jackson-core
- pki-jackson-databind
- pki-jackson-jaxrs-json-provider
- pki-jackson-jaxrs-providers
- pki-jackson-module-jaxb-annotations
- pki-resteasy-client
- pki-resteasy-core
- pki-resteasy-jackson2-provider
- pki-resteasy-servlet-initializer
- plymouth-theme-charge
- pmdk-convert
- pmempool
- podman-plugins
- poppler-qt5
- postgresql-test-rpm-macros
- power-profiles-daemon
- pulseaudio-module-x11
- python-botocore
- python-gflags
- python-netifaces
- python-pyroute2
- python-qt5-rpm-macros
- python3-bind
- python3-chardet
- python3-lasso
- python3-libproxy
- python3-netifaces
- python3-nispor
- python3-py
- python3-pycdlib
- python3-pycurl
- python3-pyqt5-sip
- python3-pyrsistent
- python3-pysocks
- python3-pytz
- python3-pywbem
- python3-qt5
- python3-qt5-base
- python3-requests+security
- python3-requests+socks
- python3-scour
- python3-toml
- python3-tomli
- python3-tracer
- python3-wx-siplib
- python3.11
- python3.11-cffi
- python3.11-charset-normalizer
- python3.11-cryptography
- python3.11-devel
- python3.11-idna
- python3.11-libs
- python3.11-lxml
- python3.11-mod_wsgi
- python3.11-numpy
- python3.11-numpy-f2py
- python3.11-pip
- python3.11-pip-wheel
- python3.11-ply
- python3.11-psycopg2
- python3.11-pycparser
- python3.11-PyMySQL
- python3.11-PyMySQL+rsa
- python3.11-pysocks
- python3.11-pyyaml
- python3.11-requests
- python3.11-requests+security
- python3.11-requests+socks
- python3.11-scipy
- python3.11-setuptools
- python3.11-setuptools-wheel
- python3.11-six
- python3.11-tkinter
- python3.11-urllib3
- python3.11-wheel
- python3.12-PyMySQL+rsa
- qgnomeplatform
- 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
- raptor2
- rasqal
- redis
- redis-devel
- redis-doc
- redland
- rpmlint
- runc
- saab-fonts
- sac
- scap-workbench
- sendmail
- sendmail-cf
- sendmail-doc
- setxkbmap
- sgabios
- sgabios-bin
- sil-scheherazade-fonts
- spamassassin
- speech-tools-libs
- suitesparse
- sushi
- team
- teamd
- thai-scalable-fonts-common
- thai-scalable-garuda-fonts
- thai-scalable-kinnari-fonts
- thai-scalable-loma-fonts
- thai-scalable-norasi-fonts
- thai-scalable-purisa-fonts
- thai-scalable-sawasdee-fonts
- thai-scalable-tlwgmono-fonts
- thai-scalable-tlwgtypewriter-fonts
- thai-scalable-tlwgtypist-fonts
- thai-scalable-tlwgtypo-fonts
- thai-scalable-umpush-fonts
- thunderbird
- tigervnc
- tigervnc-icons
- tigervnc-license
- tigervnc-selinux
- tigervnc-server
- tigervnc-server-minimal
- tigervnc-server-module
- tracer-common
- ucs-miscfixed-fonts
- usb_modeswitch
- usb_modeswitch-data
- usbredir-server
- webkit2gtk3
- webkit2gtk3-devel
- webkit2gtk3-jsc
- webkit2gtk3-jsc-devel
- wpebackend-fdo
- wpebackend-fdo-devel
- xmlsec1-gcrypt
- xmlsec1-gcrypt-devel
- xmlsec1-gnutls
- xmlsec1-gnutls-devel
- xorg-x11-drivers
- xorg-x11-drv-dummy
- xorg-x11-drv-evdev
- xorg-x11-drv-fbdev
- xorg-x11-drv-libinput
- xorg-x11-drv-v4l
- xorg-x11-drv-vmware
- xorg-x11-drv-wacom
- xorg-x11-drv-wacom-serial-support
- xorg-x11-server-common
- xorg-x11-server-utils
- xorg-x11-server-Xdmx
- xorg-x11-server-Xephyr
- xorg-x11-server-Xnest
- xorg-x11-server-Xorg
- xorg-x11-server-Xvfb
- xorg-x11-utils
- xorg-x11-xbitmaps
- xorg-x11-xinit
- xorg-x11-xinit-session
- xsane
- xsane-common
- xxhash
- xxhash-libs
- yelp
- yelp-libs
- yp-tools
- ypbind
- ypserv
- zhongyi-song-fonts
第9章 既知の問題
ここでは、Red Hat Enterprise Linux 9.5 の既知の問題について説明します。
9.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 が確認に失敗します。その結果、管理者ユーザーアカウントがなくても、システムをインストールできてしまう可能性があります。
この問題を回避するには、管理者ユーザーアカウントを設定するか、ルートパスワードを設定して、ルートアカウントのロックを解除します。その結果、インストール済みシステムで管理タスクを実行できます。
新しい 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 & Host Name に移動します。
- 無効にするネットワークデバイスを選択します。
- Configure をクリックします。
- General タブで、Connect automatically with priority チェックボックスをオフにします。
- Save をクリックします。
Bugzilla:2115783[1]
キックスタートインストールでネットワーク接続の設定に失敗する
Anaconda は、NetworkManager API を通じてのみキックスタートネットワーク設定を実行します。Anaconda は、%pre
キックスタートセクションの後にネットワーク設定を処理します。その結果、キックスタート %pre
セクションの一部のタスクがブロックされます。たとえば、%pre
セクションからのパッケージのダウンロードは、ネットワーク設定が利用できないため失敗します。
この問題を回避するには、以下を実行します。
-
たとえば、
%pre
スクリプトの一部としてnmcli
ツールを使用して、ネットワークを設定します。 -
インストーラーの起動オプションを使用して、
%pre
スクリプト用にネットワークを設定します。
その結果、%pre
セクションのタスクにネットワークを使用できるようになり、キックスタートインストールプロセスが完了します。
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]
署名されたコンテナーから ISO を構築できません
GPG または単純な署名付きコンテナーから ISO ディスクイメージを作成しようとすると、次のようなエラーが発生します。
manifest - failed Failed Error: cannot run osbuild: running osbuild failed: exit status 1 2024/04/23 10:56:48 error: cannot run osbuild: running osbuild failed: exit status 1
これは、システムがイメージソース署名を取得できないために発生します。この問題を回避するには、コンテナーイメージから署名を削除するか、派生したコンテナーイメージをビルドします。たとえば、署名を削除するには、次のコマンドを実行します。
$ sudo skopeo copy --remove-signatures containers-storage:registry.redhat.io/rhel9-beta/rhel-bootc:9.4 containers-storage:registry.redhat.io/rhel9-beta/rhel-bootc:9.4 $ sudo podman run \ --rm \ -it \ --privileged \ --pull=newer \ --security-opt label=type:unconfined_t \ -v /var/lib/containers/storage:/var/lib/containers/storage \ -v ~/images/iso:/output \ quay.io/centos-bootc/bootc-image-builder \ --type iso --local \ registry.redhat.io/rhel9-beta/rhel-bootc:9.4
派生コンテナーイメージを構築し、それに単純な GPG 署名を追加しないようにするには、コンテナーイメージの署名 製品ドキュメントを参照してください。
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>
Jira:RHELDOCS-18720[1]
レスキューモードでの SELinux の自動再ラベル付けにより、再起動ループが発生する可能性がある
レスキュー
モードでファイルシステムにアクセスすると、次回の起動時に SELinux によってファイルシステムの自動再ラベル付けがトリガーされ、SELinux が 許可
モードで実行されるまで継続されます。その結果、システムは /.autorelabel
ファイルを削除できないため、レスキュー
モードを終了した後に再起動の無限ループに陥る可能性があります。
回避策として、次回の起動時にカーネルコマンドラインに enforcing=0 を
追加して、permissive
モードに切り替えます。システムは、レスキュー
モードでファイルシステムにアクセスするときにこの問題が発生する可能性があることを通知する予防措置として警告メッセージを表示します。
9.2. セキュリティー
PKCS #11 トークンが生の RSA または RSA-PSS 署名の作成をサポートしているかどうかを OpenSSL が検出しない
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]
OpenSSL は X.509 v1 証明書を作成しなくなりました
RHEL 9.5 で導入された OpenSSL TLS ツールキット 3.2.1 では、openssl
CA ツールを使用して X.509 バージョン 1 形式の証明書を作成できなくなりました。X.509 v1 形式は現在の Web 要件を満たしていません。
OpenSSH は認証前にタイムアウトを記録しなくなる
OpenSSH は、$IP port $PORT
の認証前のタイムアウトをログに記録しません。Fail2Ban 侵入防止デーモンや同様のシステムが、これらのログ記録を mdre-ddos
正規表現で使用し、このタイプの攻撃を試みるクライアントの IP を禁止しなくなったため、これは重要かもしれません。現在、この問題に対する既知の回避策はありません。
デフォルトの 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 権限に関連する問題も修正されます。
9.3. ソフトウェア管理
インストールプロセスが応答しなくなることがある
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
を使用して作成されたリポジトリーに依存する要件と他のツールの違いにより、重複したコピーを生成します。
9.4. シェルおよびコマンドラインツール
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]
9.5. インフラストラクチャーサービス
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
ライブラリーを使用できません。
9.6. ネットワーク
Bluetooth デバイスがサスペンドモードから復帰後に正常に動作しない
システムがサスペンドまたは再開すると、RTL8852BE
Wi-Fi カードは正常に機能しません。その結果、再開プロセス中にオーディオが中断されたり、サスペンドモードから再開した後にオーディオが正常に機能しなくなったりすることがあります。回避策として、RHEL wifi ドライバーを更新する必要があります。
Jira:RHEL-24414[1]
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]
PF リセット中の DPLL の安定性
デジタルフェーズロックループ (DPLL) システムでは、初期化されていないミューテックスの使用や、特に物理機能 (PF) リセット中のピン位相調整の誤った処理など、いくつかの問題が発生しました。これらの問題により、DPLL とピン設定の管理が不安定になり、データ状態の一貫性がなくなり、接続の管理が不十分になりました。
この問題を解決するために、ミューテックスが適切に初期化され、PF リセット中にピン位相調整、DPLL データ、および接続状態を更新するメカニズムが修正されました。その結果、DPLL システムは正確な位相調整と一貫した接続状態によりリセット時に確実に動作するようになり、クロック同期の全体的な安定性が向上しました。
Jira:RHEL-36283[1]
9.7. カーネル
カーネルページサイズに依存する顧客アプリケーションは、ページサイズカーネルを 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
) ユーティリティーは、64 ビット ARM CPU のカーネルヘッダーが、ページサイズが 4 キロバイトのカーネルと 64 キロバイトのカーネルの両方で動作することを認識しません。その結果、dkms
は、カーネルの更新時に kernel-64k-devel
パッケージがインストールされていない場合、正しくコンパイルされたドライバーでプログラムが失敗した理由に関して誤った警告を出します。この問題を回避するには、kernel-headers
パッケージをインストールします。このパッケージは、両タイプの ARM CPU アーキテクチャー用のヘッダーファイルを含むもので、dkms
とその要件に特化したものではありません。
Jira:RHEL-25967[1]
9.8. ファイルシステムおよびストレージ
デバイスマッパーマルチパスは 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 シリーズの 10/25/40/50GbE、FCOE コントローラーは、RHV を実行しているシステムで 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]
RHEL インストーラーは、iSCSI デバイスを aarch64 の起動デバイスとして自動的に検出または使用しません。
aarch64 で実行している RHEL インストーラーに iscsi_ibft
カーネルモジュールがないと、ファームウェアで定義された iSCSI デバイスの自動検出ができなくなります。これらのデバイスはインストーラーに自動的に表示されず、GUI を使用して手動で追加した場合はブートデバイスとして選択できません。回避策として、インストーラーを起動するときにカーネルコマンドラインで "inst.nonibftiscsiboot" パラメーターを追加し、GUI 経由で iSCSI デバイスを手動で接続します。その結果、インストーラーは、接続されている iSCSI デバイスを起動可能として認識し、インストールを期待どおりに完了できます。
詳細は、KCS ソリューション を参照してください。
Jira:RHEL-56135[1]
9.9. 高可用性およびクラスター
IPsrcaddr
リソースの IPv6 アドレスの重複ルートエントリーの削除
Red Hat Enterprise Linux 9.4 以前では、IPsrcaddr
リソースの IPv6 アドレスを指定すると、サブネットにメトリックが使用されると、IPsrcaddr
リソースエージェントが別のメトリックを持つ重複ルートを作成していました。たとえば、これは、NetworkManager が IPv6 サブネットに別の IP アドレスを作成した場合に生じます。この状況では、IP アドレスに複数の一致があったため、IPsrcaddr
リソースの起動に失敗していました。Red Hat Enterprise Linux 9.5 以降、IPsrcaddr
リソースエージェントは、利用可能な場合に既存のルートのメトリックを指定し、2 番目のルートは作成されません。ただし、このアップグレードの前に IPv6 アドレスを使用する IPaddr2
IPv6 リソースを作成した場合は、システムを再起動して重複するルートエントリーを削除する必要があります。
Jira:RHEL-32265[1]
9.10. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
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 モードを切り替えることができます。
Git
で所有権が安全でない可能性のあるリポジトリーからのクローン作成や取得が失敗する
リモートコード実行を防ぎ、CVE-2024-32004 の影響を軽減するために、Git
でのローカルリポジトリーのクローン作成に対して、より厳格な所有権チェックが導入されました。この更新により、所有権が安全でない可能性があるローカルリポジトリーが、Git
で不審なものとして扱われるようになりました。
その結果、ユーザーが git-daemon
を通じてローカルにホストされているリポジトリーからクローン作成を試行する際に、そのユーザーがリポジトリーの所有者でない場合、Git
が不審な所有権に関するセキュリティー警告を返し、リポジトリーからのクローン作成または取得が失敗するようになりました。
この問題を回避するには、次のコマンドを実行して、リポジトリーを明示的に安全としてマークします。
git config --global --add safe.directory /path/to/repository
Jira:RHELDOCS-18435[1]
9.11. Identity Management
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 ユーザーがログインできない可能性がある
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]
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]
9.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 ヘルプアプリケーション
9.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]
9.14. Web コンソール
RHEL Web コンソールの VNC コンソールが ARM64 で正しく動作しない
現在、ARM64 アーキテクチャー上の RHEL Web コンソールに仮想マシン (VM) をインポートし、VNC コンソールでその仮想マシンと対話しようとすると、コンソールが入力に反応しません。
さらに、ARM64 アーキテクチャーの Web コンソールで仮想マシンを作成すると、VNC コンソールに入力の最後の行が表示されません。
Jira:RHEL-31993[1]
9.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 のインストールにも影響することに注意してください。
Jira:RHELDOCS-17719[1]
mssql
RHEL システムロールが、AD 統合を使用して Microsoft SQL Server を設定できない
Microsoft SQL Server サービスは、Active Directory (AD) との統合に必要な adutil
ツールを提供しません。したがって、RHEL 9 管理対象ノードでこのシナリオを設定するために mssql
RHEL システムロールを使用することはできません。回避策はありません。この RHEL システムロールは、RHEL 9 で AD 統合なしで Microsoft SQL Server を設定する場合にのみ使用できます。
Jira:RHELDOCS-17720[1]
9.16. 仮想化
https または ssh 経由での仮想マシンのインストールに失敗する場合がある
現在、virt-install
ユーティリティーは、https または ssh 接続を介して ISO ソースからゲストオペレーティングシステム (OS) をインストールしようとすると失敗します。たとえば、virt-install --cdrom https://example/path/to/image.iso
を使用します。仮想マシンを作成する代わりに、上述の操作は internal error: process exited while connecting to monitor
というメッセージが表示されて予期せず終了します。
同様に、https または ssh URL、あるいは Download OS
機能を使用した場合、RHEL 9 Web コンソールを使用したゲストオペレーティングシステムのインストールが失敗し、Unknown driver 'https'
エラーが表示されます。
この問題を回避するには、ホストに qemu-kvm-block-curl
および qemu-kvm-block-ssh
をインストールして、https および ssh プロトコルのサポートを有効にします。別の接続プロトコルまたは別のインストールソースを使用することもできます。
仮想マシンで NVIDIA ドライバーを使用すると Wayland が無効になる
現在、NVIDIA ドライバーは Wayland グラフィカルセッションと互換性がありません。これにより、NVIDIA ドライバーを使用する RHEL ゲストオペレーティングシステムは、Wayland を自動的に無効にし、代わりに Xorg セッションを読み込みます。これは主に以下のシナリオで生じます。
- NVIDIA GPU デバイスを RHEL 仮想マシンに渡す場合
- NVIDIA vGPU 仲介デバイスを RHEL 仮想マシンに割り当てる場合
現在、この問題に対する回避策はありません。
Jira:RHELPLAN-117234[1]
Milan
仮想マシンの CPU タイプは、AMD Milan システムで利用できないことがある
一部の AMD Milan システムでは、Enhanced REP MOVSB (erms
) および Fast Short REP MOVSB (fsrm
) 機能フラグがデフォルトで BIOS で無効になっています。したがって、Milan
CPU タイプは、これらのシステムで利用できない可能性があります。さらに、機能フラグ設定が異なる Milan ホスト間の仮想マシンのライブマイグレーションが失敗する可能性があります。これらの問題を回避するには、ホストの BIOS で erms
および fsrm
を手動で有効にします。
Bugzilla:2077767[1]
フェイルオーバー設定のある hostdev
インターフェイスは、ホットアンプラグされた後にホットプラグすることはできない
フェイルオーバー設定の hostdev
ネットワークインターフェイスを実行中の仮想マシン (VM) から削除した後、現在、インターフェイスを同じ実行中の VM に再接続することはできません。現在、この問題に対する回避策はありません。
フェイルオーバー VF を使用した VM のコピー後のライブマイグレーションが失敗する
現在、VM が仮想機能 (VF) フェイルオーバー機能が有効になっているデバイスを使用している場合、実行中の仮想マシン (VM) のコピー後移行の試行は失敗します。この問題を回避するには、コピー後の移行ではなく、標準の移行タイプを使用します。
ライブマイグレーション中にホストネットワークが VF と VM に ping できない
設定済みの仮想機能 (VF) で仮想マシン (仮想 SR-IOV ソフトウェアを使用する仮想マシンなど) のライブマイグレーションを行う場合、仮想マシンのネットワークは他のデバイスに表示されず、ping
などのコマンドで仮想マシンに到達できません。ただし、移行が終了すると、問題は発生しなくなります。
AVX を無効にすると、仮想マシンが起動できなくなる
Advanced Vector Extensions (AVX) をサポートする CPU を使用するホストマシンで、現在、AVX を明示的に無効にして VM を起動しようとすると失敗し、代わりに VM でカーネルパニックが発生します。現在、この問題に対する回避策はありません。
Bugzilla:2005173[1]
ネットワークインターフェイスのリセット後に Windows VM が IP アドレスの取得に失敗する
ネットワークインターフェイスの自動リセット後に、Windows 仮想マシンが IP アドレスの取得に失敗することがあります。その結果、VM はネットワークに接続できません。この問題を回避するには、Windows デバイスマネージャーでネットワークアダプタードライバーを無効にしてから再度有効にします。
vCPU をホットプラグした後、Windows Server 2016 VM が動作を停止することがある
現在、Windows Server 2016 ゲストオペレーティングシステムで実行中の仮想マシン (VM) に vCPU を割り当てると、VM が予期せず終了したり、応答しなくなったり、再起動したりするなど、さまざまな問題が発生する可能性があります。現在、この問題に対する回避策はありません。
NVIDIA パススルーデバイスを備えた VM での冗長エラーメッセージ。
RHEL 9.2 以降のオペレーティングシステムを搭載した Intel ホストマシンを使用している場合、パススルー NVDIA GPU デバイスを備えた仮想マシン (VM) で、次のエラーメッセージが頻繁に記録されます。
Spurious APIC interrupt (vector 0xFF) on CPU#2, should never happen.
ただし、このエラーメッセージは VM の機能には影響しないため、無視してかまいません。詳細は、Red Hat ナレッジベース を参照してください。
Bugzilla:2149989[1]
ホストで OVS サービスを再起動すると、実行中の VM でネットワーク接続がブロックされることがある
ホストで Open vSwitch (OVS) サービスが再起動またはクラッシュすると、このホストで実行されている仮想マシン (VM) はネットワークデバイスの状態を回復できません。その結果、仮想マシンがパケットを完全に受信できなくなる可能性があります。
この問題は、virtio
ネットワークスタックで圧縮された virtqueue 形式を使用するシステムのみに影響します。
この問題を回避するには、virtio
ネットワークデバイス定義で packed=off
パラメーターを使用して、圧縮された virtqueue を無効にします。圧縮された virtqueue を無効にすると、状況によっては、ネットワークデバイスの状態を RAM から回復できます。
中断されたコピー後の VM 移行の回復が失敗することがある
仮想マシン (VM) のコピー後の移行が中断された後、同じ受信ポートですぐに再開されると、移行は Address already in use
のエラーで失敗する可能性があります。
この問題を回避するには、コピー後の移行を再開する前に少なくとも 10 秒待つか、移行の回復のために別のポートに切り替えます。
AMD EPYC CPU で NUMA ノードマッピングが正しく機能しない
QEMU は、AMD EPYC CPU の NUMA ノードマッピングを正しく処理しません。これにより、NUMA ノード設定を使用する場合、これらの CPU を持つ仮想マシン (VM) のパフォーマンスに悪影響が及ぶ可能性があります。さらに、VM は起動時に以下のような警告を表示します。
sched: CPU #4's llc-sibling CPU #3 is not on the same node! [node: 1 != 0]. Ignoring dependency. WARNING: CPU: 4 PID: 0 at arch/x86/kernel/smpboot.c:415 topology_sane.isra.0+0x6b/0x80
この問題を回避するには、NUMA ノード設定に AMD EPYC CPU を使用しないでください。
VM 移行中の NFS 障害により、移行が失敗してソース仮想マシンのコアダンプが発生する
現在、仮想マシン (VM) の移行中に NFS サービスまたはサーバーがシャットダウンした場合、ソース VM の QEMU は、実行を再開したときに NFS サーバーに再接続できません。その結果、移行に失敗し、ソース VM でコアダンプが開始されます。現在、使用可能な回避策はありません。
PCIe ATS デバイスが Windows 仮想マシンで動作しない
Windows ゲストオペレーティングシステムを使用して仮想マシン (VM) の XML 設定で PCIe アドレス変換サービス (ATS) デバイスを設定しても、ゲストが仮想マシンの起動後に ATS デバイスを有効にしません。これは、Windows が現在 virtio
デバイス上の ATS をサポートしていないためです。
詳細は、Red Hat ナレッジベース を参照してください。
virsh blkiotune --weight
コマンドが正しい cgroup I/O コントローラー値を設定できない
現在、virsh blkiotune --weight
コマンドを使用して VM weight を設定しても、期待どおりに機能しません。このコマンドは、cgroup I/O コントローラーインターフェイスファイルに正しい io.bfq.weight
値を設定できません。現時点では回避策はありません。
NVIDIA A16 GPU を使用して仮想マシンを起動すると、ホスト GPU が動作を停止する場合がある
現在、NVIDIA A16 GPU パススルーデバイスを使用する仮想マシンを起動すると、ホストシステム上の NVIDIA A16 GPU 物理デバイスが動作を停止する場合があります。
この問題を回避するには、ハイパーバイザーを再起動し、GPU デバイスの reset_method
を bus
に設定します。
# echo bus > /sys/bus/pci/devices/<DEVICE-PCI-ADDRESS>/reset_method # cat /sys/bus/pci/devices/<DEVICE-PCI-ADDRESS>/reset_method bus
詳細は、Red Hat ナレッジベースの記事 を参照してください。
Jira:RHEL-7212[1]
ストレージエラーが原因で Windows 仮想マシンが応答しなくなる可能性がある
Windows ゲストオペレーティングシステムを使用する仮想マシン (VM) では、I/O 負荷が高いときにシステムが応答しなくなることがあります。このような場合、システムは viostor Reset to device, \Device\RaidPort3, was issued
エラーをログに記録します。現在、この問題に対する回避策はありません。
Jira:RHEL-1609[1]
特定の PCI デバイスを搭載した Windows 10 仮想マシンが起動時に応答しなくなることがある
現在、Windows 10 ゲストオペレーティングシステムを使用する仮想マシン (VM) は、ローカルディスクバックエンドを備えた virtio-win-scsi
PCI デバイスが仮想マシンにアタッチされている場合、起動中に応答しなくなる可能性があります。この問題を回避するには、multi_queue
オプションを有効にして仮想マシンを起動します。
Jira:RHEL-1084[1]
メモリーバルーンデバイスセットが設定された Windows 11 仮想マシンが再起動中に予期せず終了することがある
現在、Windows 11 ゲストオペレーティングシステムとメモリーバルーンデバイスを使用する仮想マシン (VM) の再起動が、DRIVER POWER STAT FAILURE
ブルースクリーンエラーで失敗する場合があります。現在、この問題に対する回避策はありません。
Jira:RHEL-935[1]
virtio バルーンドライバーが Windows 10 仮想マシンで動作しない場合がある
特定の状況下では、virtio-balloon ドライバーが Windows 10 ゲストオペレーティングシステムを使用する仮想マシン (VM) 上で正しく動作しません。その結果、そのような仮想マシンは割り当てられたメモリーを効率的に使用できない可能性があります。現在、この問題に対する回避策はありません。
Windows 仮想マシンの virtio ファイルシステムのパフォーマンスは最適ではない
現在、Windows ゲストオペレーティングシステムを使用する仮想マシン (VM) 上で virtio ファイルシステム (virtiofs) が設定されている場合、仮想マシン内の virtiofs のパフォーマンスは、Linux ゲストを使用する仮想マシンよりも大幅に低下します。現在、この問題に対する回避策はありません。
Jira:RHEL-1212[1]
Windows 仮想マシンのストレージデバイスのホットアンプラグが失敗する可能性がある
Windows ゲストオペレーティングシステムを使用する仮想マシン (VM) で、仮想マシンの実行中にストレージデバイスを削除すると (デバイスのホットアンプラグとも呼ばれる)、失敗する場合があります。その結果、ストレージデバイスは仮想マシンにアタッチされたままになり、ディスクマネージャーサービスが応答しなくなる可能性があります。現在、この問題に対する回避策はありません。
CPU を Windows 仮想マシンにホットプラグするとシステム障害が発生する可能性がある
Huge Page が有効になっている Windows 仮想マシンに最大数の CPU をホットプラグすると、ゲストオペレーティングシステムが次の Stop エラー でクラッシュする場合があります。
PROCESSOR_START_TIMEOUT
現在、この問題に対する回避策はありません。
Windows 仮想マシンの virtio
ドライバーの更新が失敗する可能性がある
Windows 仮想マシン (VM) で KVM 準仮想化 (virtio
) ドライバーを更新すると、更新によりマウスが動作しなくなり、新しくインストールされたドライバーが署名されない可能性があります。この問題は、virtio-win.iso
ファイルの一部である virtio-win-guest-tools
パッケージからインストールして、virtio
ドライバーを更新する際に発生します。
この問題を回避するには、Windows Device Manager を使用して virtio
ドライバーを更新します。
Jira:RHEL-574[1]
vhost-kernel
を使用する仮想マシンで TX キューのサイズを変更できない
現在、virtio
ネットワークドライバーのバックエンドとして vhost-kernel
を使用する KVM 仮想マシンでは、TX キューサイズをセットアップすることができません。したがって、TX キューにはデフォルト値の 256 しか使用できず、仮想マシンのネットワークスループットを最適化できない可能性があります。現在、この問題に対する回避策はありません。
Jira:RHEL-1138[1]
仮想マシンは、AMD EPYC モデルの spec_rstack_overflow
パラメーターの 脆弱性
ステータスを誤って報告しています。
ホストを起動すると、spec_rstack_overflow
パラメーターの脆弱性は検出されません。ログのパラメーターを照会すると、次のメッセージが表示されます。
# cat /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow Mitigation: Safe RET
同じホスト上で仮想マシンを起動すると、仮想マシンは spec_rstack_overflow
パラメーターの脆弱性を検出します。ログのパラメーターをクエリーすると、次のメッセージが表示されます。
# cat /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow Vulnerable: Safe RET, no microcode
ただし、これは誤った警告メッセージであり、仮想マシン内の /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow
ファイルのステータスは無視できます。
Jira:RHEL-17614[1]
仮想マシンが AMD SRSO の脆弱性を誤って報告する
AMD Zen 3 および 4 の CPU アーキテクチャーを搭載した RHEL 9 ホスト上で実行している RHEL 9.4 仮想マシン (VM) は、投機的リターンスタックオーバーフロー (SRSO) 攻撃に対する脆弱性を誤って報告します。
# lscpu | grep rstack
Vulnerability Spec rstack overflow: Vulnerable: Safe RET, no microcode
この問題は cpuid
フラグの欠落によって発生し、次の条件下では仮想マシンで脆弱性は実際に完全に軽減されます。
-
ホストには、ここで説明されているように、更新された
linux-firmware
パッケージがあります (cve-2023-20569)。 -
ホストカーネルでは緩和策が有効になっており、これがデフォルトの動作です。緩和策が有効になっている場合は、ホスト上の
lscpu
コマンド出力にSafe RET
が表示されます。
Jira:RHEL-26152[1]
e1000e
または igb
モデルインターフェイスのステータスが down
の場合でも、リンクステータスは仮想マシン上に up
と表示されます。
仮想マシンを起動する前に、e1000
または igb
モデルのネットワークインターフェイスのイーサネットリンクのステータスを down
に設定します。設定したにもかかわらず、仮想マシンの起動後、ネットワークインターフェイスは up
ステータスを維持します。これは、イーサネットリンクのステータスを down
に設定し、仮想マシンを停止して再起動すると、自動的に up
に設定されるためです。その結果、ネットワークインターフェイスの正しい状態が維持されません。回避策として、次のコマンドを使用して、仮想マシン内のネットワークインターフェイスのステータスを down
に設定します。
# ip link set dev eth0 down
または、仮想マシンの実行中にこのネットワークインターフェイスを削除して再度追加してみることもできます。
SeaBIOS が 4096 バイトのセクターサイズのディスクから起動できない
SeaBIOS を使用して、論理または物理セクターサイズが 4096 バイトのディスクから仮想マシン (VM) を起動すると、起動ディスクが使用可能として表示されず、仮想マシンの起動が失敗します。このようなディスクから仮想マシンを起動するには、SeaBIOS ではなく UEFI を使用します。
AMD SEV-SNP を搭載した仮想マシンで Kdump が失敗する
現在、Secure Nested Paging (SNP) 機能を備えた AMD Secure Encrypted Virtualization (SEV) を使用する RHEL 9 仮想マシン (VM) では kdump が失敗します。現在、この問題に対する回避策はありません。
Jira:RHEL-10019[1]
Hyper-V Enlightenment を有効にすると、CPU の最適化が改善されないことがあります。
Windows ゲストオペレーティングシステムを使用する仮想マシン(VM)では、Hyper-V Enlightenment を有効にしても、仮想マシンの CPU 使用率が向上しないことがあります。現在、この問題に対する回避策はありません。
Jira:RHEL-17331[1]
9.17. クラウド環境の RHEL
Nutanix AHV で LVM を使用する RHEL 9 仮想マシンのクローンを作成または復元すると、ルート以外のパーティションが表示されなくなる
Nutanix AHV ハイパーバイザーをホストとする仮想マシン (VM) で RHEL 9 ゲストオペレーティングシステムを実行する場合、スナップショットから VM を復元するか VM をクローンすると、ゲストが論理ボリューム管理 (LVM) を使用している場合は VM 内の非ルートパーティションを消失させることがあります。これにより、以下の問題が発生します。
- スナップショットから仮想マシンを復元すると、仮想マシンは起動できず、緊急モードに入ります。
- クローンを作成して作成した仮想マシンは起動できず、緊急モードに入ります。
これらの問題を回避するには、仮想マシンの緊急モードで以下を行います。
-
以下の LVM システムデバイスファイルを削除します:
rm/etc/lvm/devices/system.devices
-
LVM デバイス設定を再作成します:
vgimportdevices -a
- 仮想マシンを再起動します。
これにより、クローン化または復元された VM を正しく起動できます。
または、問題が発生しないようにするには、VM のクローンを作成する前、または VM のスナップショットを作成する前に、次の手順を実行します。
-
/etc/lvm/lvm.conf
ファイルのuse_devicesfile = 0
行のコメントを外します - 仮想マシンを再起動します。
Bugzilla:2059545[1]
ESXi で RHEL 9 ゲストをカスタマイズすると、ネットワークの問題が発生することがある
現在、VMware ESXi ハイパーバイザーでの RHEL 9 ゲストオペレーティングシステムのカスタマイズは、NetworkManager キーファイルでは正しく機能しません。その結果、ゲストがそのようなキーファイルを使用している場合、IP アドレスやゲートウェイなどのネットワーク設定が正しくなくなります。
詳細と回避策は、VMware ナレッジベース を参照してください。
Bugzilla:2037657[1]
cloud-init
によってプロビジョニングされ、NFSv3 マウントエントリーで設定された場合、Azure で RHEL インスタンスが起動しない
現在、仮想マシンが cloud-init
ツールによってプロビジョニングされ、仮想マシンのゲストオペレーティングシステムで /etc/fstab
ファイルに NFSv3 マウントエントリーがある場合、Microsoft Azure クラウドプラットフォームで RHEL 仮想マシンの起動に失敗します。現在、この問題に対する回避策はありません。
Bugzilla:2081114[1]
VMware ホストの RHEL 仮想マシンで静的 IP を設定できない
現在、VMware ホストで RHEL を仮想マシンのゲストオペレーティングシステムとして使用すると、DatasourceOVF 機能は正しく機能しません。これにより、cloud-init
ユーティリティーを使用して、仮想マシンのネットワークを静的 IP に設定し、仮想マシンを再起動すると、仮想マシンのネットワークが DHCP に変更されます。
この問題を回避するには、VMware のナレッジベース を参照してください。
kmemleak
オプションが有効になっていると、大規模な仮想マシンがデバッグカーネルで起動できない場合がある
RHEL 9 仮想マシンをデバッグカーネルで起動しようとすると、マシンカーネルが kmemleak=on
引数を使用している場合、次のエラーで起動が失敗することがあります。
Cannot open access to console, the root account is locked. See sulogin(8) man page for more details. Press Enter to continue.
この問題は主に、ブートシーケンスに多くの時間を費やす大規模な仮想マシンに影響します。
この問題を回避するには、マシン上の /etc/fstab
ファイルを編集し、追加のタイムアウトオプションを /boot
および /boot/efi
マウントポイントに追加します。以下に例を示します。
UUID=e43ead51-b364-419e-92fc-b1f363f19e49 /boot xfs defaults,x-systemd.device-timeout=600,x-systemd.mount-timeout=600 0 0 UUID=7B77-95E7 /boot/efi vfat defaults,uid=0,gid=0,umask=077,shortname=winnt,x-systemd.device-timeout=600,x-systemd.mount-timeout=600 0 2
Jira:RHELDOCS-16979[1]
9.18. サポート性
IBM Power Systems (Little Endian) で sos report
を実行するとタイムアウトする
数百または数千の CPU を搭載した IBM Power Systems (Little Endian) で sos report
コマンドを実行すると、/sys/devices/system/cpu
ディレクトリーの膨大なコンテンツを収集する際のプロセッサープラグインはデフォルトのタイムアウトである 300 秒に達します。回避策として、それに応じてプラグインのタイムアウトを増やします。
- 1 回限りの設定の場合は、次を実行します。
# sos report -k processor.timeout=1800
-
永続的な変更を行うには、
/etc/sos/sos.conf
ファイルの[plugin_options]
セクションを編集します。
[plugin_options] # Specify any plugin options and their values here. These options take the form # plugin_name.option_name = value #rpm.rpmva = off processor.timeout = 1800
値の例は 1800 に設定されています。特定のタイムアウト値は、特定のシステムに大きく依存します。プラグインのタイムアウトを適切に設定するには、次のコマンドを実行して、タイムアウトなしで 1 つのプラグインを収集するために必要な時間を最初に見積もることができます。
# time sos report -o processor -k processor.timeout=0 --batch --build
Bugzilla:1869561[1]
9.19. コンテナー
古いコンテナーイメージ内で systemd を実行すると動作しない
古いコンテナーイメージ (例:centos:7
) で systemd を実行しても動作しません。
$ podman run --rm -ti centos:7 /usr/lib/systemd/systemd Storing signatures Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted [!!!!!!] Failed to mount API filesystems, freezing.
この問題を回避するには、以下のコマンドを使用します。
# mkdir /sys/fs/cgroup/systemd # mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd # podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd
Jira:RHELPLAN-96940[1]
ルートファイルシステムはデフォルトでは拡張されない
cloud-init
を含まないベースコンテナーイメージを使用して、bootc-image-builder
を使用して AMI または QCOW2 コンテナーイメージを作成すると、起動時にルートファイルシステムのサイズがプロビジョニングされた仮想ディスクのフルサイズまで動的に拡張されません。
この問題を回避するには、次の利用可能なオプションのいずれかを適用します。
-
イメージに
cloud-init
を含めます。 - コンテナーイメージにカスタムロジックを含めて、ルートファイルシステムを拡張します。次に例を示します。
/usr/bin/growpart /dev/vda 4 unshare -m bin/sh -c 'mount -o remount,rw /sysroot && xfs_growfs /sysroot'
-
/var/lib/containers
などのセカンダリーファイルシステムに追加のスペースを使用するためのカスタムロジックを含めます。
デフォルトでは、物理ルートストレージは /sysroot
パーティションにマウントされます。
付録A コンポーネント別のチケットリスト
参考のために、Bugzilla および JIRA チケットのリストをこのドキュメントに記載します。リンクをクリックすると、チケットを説明したこのドキュメントのリリースノートにアクセスできます。
付録B 改訂履歴
0.0-0
DAY MONTH 2024, Gabriela Fialová (gfialova@redhat.com)
- Red Hat Enterprise Linux 9.5 ベータ版リリースノートをリリース。