第5章 RHEL 8.2.0 リリース
5.1. 新機能
ここでは、Red Hat Enterprise Linux 8.2 に追加された新機能および主要な機能強化を説明します。
5.1.1. インストーラーおよびイメージの作成
システムを登録し、RHEL サブスクリプションを割り当て、Red Hat CDN からインストールする機能
RHEL 8.2 では、パッケージのインストール前に、システムを登録し、RHEL サブスクリプションを割り当て、Red Hat コンテンツ配信ネットワーク (CDN) からインストールすることができます。インタラクティブな GUI インストールと、自動キックスタートインストールが、この機能をサポートしています。次の利点があります。
- サイズの小さい Boot ISO イメージファイルを使用することで、サイズの大きい Binary DVD ISO イメージファイルをダウンロードする必要がなくなります。
- CDN は最新のパッケージを使用するため、インストール直後に、完全にサブスクライブされた、最新のシステムになります。インストール後にパッケージの更新をインストールする必要はありません。
- 登録は、パッケージのインストール前に実行されるため、インストールプロセスが短く、簡素化されます。
- Red Hat Insights の統合サポートが利用可能です。
(BZ#1748281)
インストール時にシステムを Red Hat Insights に登録する機能
RHEL 8.2 では、インストール時にシステムを Red Hat Insights に登録することができます。インタラクティブな GUI インストールと、自動キックスタートインストールが、この機能をサポートしています。
次の利点があります。
- 事業運営に影響が及ぶ前に、問題を特定し、優先順位を付け、解決することが容易になります。
- 予測分析により、プロアクティブにセキュリティー、パフォーマンス、可用性、および安定性に対する脅威を特定して修復します。
- お使いの環境における問題と予定外のダウンタイムを回避します。
Image Builder では、Azure イメージを作成するために cloud-init サポートが利用できるようになりました。
今回の機能強化により、Image Builder で作成された Azure イメージで cloud-init サポートが利用できるようになりました。その結果、顧客に対し、迅速なプロビジョニング付きのオンプレミスイメージの作成、およびカスタムデータの追加機能が利用可能になりました。
新しいキックスタートコマンドを追加: rhsm
および zipl
このリリースでは、次のキックスタートコマンドが追加されました。
-
rhsm
:rhsm
コマンドを使用して、インストール中にシステムを Red Hat に登録します。 -
zipl
:zipl
コマンドを使用して、IBM Z システムでzipl
設定を指定します。
(BZ#1972214)
5.1.2. ソフトウェア管理
User-Agent
ヘッダー文字列に /etc/os-release
ファイルから読み込んだ情報を含むようになりました。
今回の機能強化により、通常は DNF が作成する HTTP リクエストに含まれる User-Agent
ヘッダー文字列が、/etc/os-release
ファイルから読み込む情報に拡張されました。
詳細は、man ページの dnf.conf (5)
の user_agent
を参照してください。
すべての dnf-automatic.timer
タイマーユニットが、デフォルトでリアルタイムクロックを使用するようになりました。
従前は、dnf-automatic.timer
タイマーユニットはモノトニッククロックを使用していました。これにより、システムの起動後の予期せぬアクティベーションが生じていました。今回の更新で、タイマーユニットが午前 6 時から午前 7 時の間に実行されるようになりました。この時間帯にシステムがオフになっている場合、タイマーユニットはシステムの起動後 1 時間以内にアクティベートされます。
createrepo_c
ユーティリティーが、そのメタデータに認められない制御文字を含むパッケージをスキップするようになりました。
有効な XML を確保するために、パッケージメタデータには、以下の例外を除き、制御文字を含めることはできません。
- 水平タブ
- 改行文字
- キャリッジリターン文字
今回の更新で、createrepo_c
ユーティリティーが新たに作成されたリポジトリーで認められない制御文字を含むメタデータをパッケージに含まなくなり、次のエラーメッセージを返すようになりました。
C_CREATEREPOLIB: Critical: Cannot dump XML for PACKAGE_NAME (PACKAGE_SUM): Forbidden control chars found (ASCII values <32 except 9, 10 and 13)
5.1.3. シェルおよびコマンドラインツール
opencv
がバージョン 3.4.6 にリベースされました。
opencv
パッケージがアップストリームバージョン 3.4.6 にアップグレードされました。以下は、主な変更点です。
-
OPENCV_OPENCL_BUILD_EXTRA_OPTIONS
およびOPENCV_OPENCL_DEVICE_MAX_WORK_GROUP_SIZE
などの新しい Open CL パラメーターのサポートが追加されました。 -
objdetect
モジュールが QR コード検出アルゴリズムに対応するようになりました。 -
MatSize::dims
またはVideoCapture::getBackendName
などの複数の新規メソッドが追加されました。 -
drawFrameAxes
またはgetVersionMajor
などの新規関数が複数追加されました。 -
SSSE3 命令の使用時に GaussianBlur 関数、
v_load_deinterleave
およびv_store_interleave
組み込み関数の改善機能など、さまざまなパフォーマンスが改善されました。
5.1.4. インフラストラクチャーサービス
graphviz-python3
が CRB リポジトリーで配布されるようになりました。
今回の更新で、graphviz-python3
パッケージが RHEL 8 に追加されました。このパッケージは、Python から Graphviz グラフ描画ソフトウェアを使用するのに必要なバインディングを提供します。
graphviz-python3
パッケージは、サポート対象外の CodeReady Linux Builder リポジトリー (CRB) で配布されている点に留意してください。
tuned
がバージョン 2.13.0 にリベースされました。
tuned
パッケージがアップストリームバージョン 2.13.0 にアップグレードされました。主な機能強化は、次のとおりです。
- アーキテクチャーに依存したチューニングフレームワークが追加されました。
- 複数の include ディレクティブのサポートが追加されました。
-
sap-hana
、latency-performance
、およびrealtime
プロファイルのチューニングが更新されました。
powertop
がバージョン 2.11 にリベースされました。
powertop
パッケージがバージョン 2.11 にアップグレードされました。これは、以下の主要な変更を提供するものです。
- EHL、TGL、ICL/ICX プラットフォームのサポート
(BZ#1716721)
BIND が GeoLite Legacy GeoIP に代わって .GeoIP2 に対応するようになりました。
BIND では、GeoLite Legacy GeoIP ライブラリーに対応しなくなりました。今回の更新で、GeoLite Legacy GeoP が GeoIP2 に置き換えられました。これは、libmaxminddb
データ形式で提供されます。
新しい形式では、設定変更が必要になる場合があること、また、この形式では、以下のレガシー GeoIP アクセス制御リスト (ACL) 設定をサポートしないことに留意してください。
- geoip netspeed
- geoip org
- ISO 3166 Alpha-3 国名コード
(BZ#1564443)
stale-answer
が、DDoS 攻撃の場合に古いキャッシュレコードを提供するようになりました。
以前は、分散型サービス拒否 (DDoS) 攻撃により、権威サーバーが SERVFAIL エラーで失敗していました。今回の更新で、stale-answer
機能が新しいレスポンスを取得するまで期限切れのレコードを提供するようになりました。
serve-stale
機能を有効または無効にするには、次のいずれかを使用します。
- 設定ファイル
- リモート制御チャンネル (rndc)
BIND がバージョン 9.11.13 にリベースされました。
bind
パッケージが、バージョン 9.11.13 にアップグレードされました。以下は、主な変更点です。
-
tcp-highwater
統計情報変数が追加されました。この変数は、実行時に記録された同時 TCP クライアントの最大数を表示します。 -
SipHash-2-4
ベースの DNS Cookies (RFC 7873) アルゴリズムが追加されました。 -
minimal-responses
設定オプションがどのように設定されているかに関わらず、プライミングクエリーをルーティングするためのグルーアドレスが返されます。 -
named-checkconf
コマンドが、DNS64
ネットワーク接頭辞の有効性を確保するようになりました。 -
trusted-keys
およびmanaged-keys
ステートメントが両方とも同じ名前に設定されている場合、RFC 5011 ごとの自動ロールオーバーに失敗することがなくなりました。代わりに、警告メッセージがログに記録されます。 -
dig
およびnslookup
ユーティリティーにおける国際化ドメイン名 (IDN) について、処理が端末で実行されない場合 (スクリプトで実行されるなどの場合) 、デフォルトで無効になりました。dig
における IDN 処理は、+idnin
および+idnout
オプションを使用して切り替えることができます。
5.1.5. セキュリティー
RHEL 8 に DISA STIG プロファイルが追加されました。
セキュリティー技術実装ガイド (Security Technical Implementation Guide (STIG)) は、DISA (Defense Information Systems Agency) が発行する一連のベースライン推奨事項で、この推奨事項なしでは脆弱となる可能性のある情報システムおよびソフトウェアのセキュリティーを強化します。今回のリリースには、このセキュリティーポリシーのプロファイルおよびキックスタートファイルが含まれます。今回の機能強化により、Red Hat Enterprise Linux 8 のシステムにおけるコンプライアンスの確認、システムの修正、および DISA STIG に準拠するシステムのインストールが可能になります。
crypto-policies
がカスタマイズ可能になりました。
今回の更新で、あらゆるポリシーレベルの特定のアルゴリズムまたはプロトコルを調整することや、現在のシステム全体の暗号化ポリシーとして新しい完全なポリシーファイルを設定することができるようになりました。これにより、管理者はさまざまなシナリオごとに必要に応じて、システム全体の暗号化ポリシーをカスタマイズできます。
RPM パッケージは、それらが提供するポリシーを /usr/share/crypto-policies/policies
ディレクトリーに保存する必要があります。/etc/crypto-policies/policies
ディレクトリーには、ローカルのカスタムポリシーが含まれます。
詳細は、man ページの update-crypto-policies(8)
の Custom Policies
セクション、および man ページの update-crypto-policies(8)
の Crypto Policy Definition Format
セクションを参照してください。
(BZ#1690565)
SCAP セキュリティーガイドが ACSC Essential Eight に対応するようになりました。
scap-security-guide
パッケージで、Australian Cyber Security Centre (ACSC) Essential Eight 準拠のプロファイルと、これに対応するキックスタートファイルを利用できるようになりました。今回の機能強化により、このセキュリティーベースラインに準拠するシステムをインストールできるようになりました。さらに、ACSC が定義する、この最小セキュリティー制御の仕様を使用してセキュリティーコンプライアンスと修正を確認するために OpenSCAP スイートを利用することができます。
コンテナーのセキュリティースキャンおよびコンプライアンススキャンを行う oscap-podman
が利用できるようになりました。
この openscap
パッケージの更新により、コンテナーのセキュリティースキャンおよびコンプライアンススキャン用に新しいユーティリティーが導入されました。oscap-podman
ツールが、RHEL 7 におけるコンテナーおよびコンテナーイメージのスキャンを提供する oscap-docker
ユーティリティーと同等のものを提供します。
(BZ#1642373)
setroubleshoot
が execmem
アクセス拒否を分析して、これに反応できるようになりました。
今回の更新で、新しい setroubleshoot
プラグインが導入されました。このプラグインは execmem
のアクセス拒否 (AVC) を分析し、適切なアドバイスを提供できます。その結果、setroubleshoot
は、アクセスが許可される場合にはブール値の切り替えを示唆でき、ブール値でアクセスを許可できない場合には問題を報告できるようになりました。
(BZ#1649842)
新しいパッケージ、setools-gui
および setools-console-analyses
RHEL 7 に含まれていた setools-gui
パッケージが、RHEL 8 に導入されています。グラフィカルツールは、とりわけ特殊な SELinux ポリシーを持つマルチレベルシステムで関係やデータフローを検査する際に役立ちます。setools-gui
パッケージの apol
グラフィカルツールで、SELinux ポリシーの要素を検査し、分析することができます。setools-console-analyses
パッケージのツールを使用すると、ドメイン移行と SELinux ポリシー情報のフローを分析できます。
SELinux の制限のあるユーザーが、ユーザーセッションサービスを管理できるようになりました。
以前は、制限のあるユーザーはユーザーセッションサービスを管理できませんでした。その結果、systemctl --user
コマンドまたは busctl --user
コマンドを実行することや、RHEL Web コンソールで作業することができませんでした。今回の更新で、制限のあるユーザーがユーザーセッションを管理できるようになりました。
lvmdbusd
サービスが SELinux で制限されました。
lvmdbusd
サービスが D-Bus API を論理ボリュームマネージャー (LVM) に提供します。以前は、lvmdbusd
デーモンは、lvm_t
の SELinux ポリシーが定義されていても、lvm_t
コンテキストに移行することができませんでした。これにより、lvmdbusd
デーモンは unconfined_service_t
ドメインで実行され、SELinux は lvmdbusd
を非制限としてラベル付けしていました。今回の更新で、lvmdbusd
実行ファイルが定義済みの lvm_exec_t
コンテキストを持つようになり、強制モードの SELinux で lvmdbusd
を正常に使用できるようになりました。
semanage
が、SCTP ポートと DCCP ポートのリッスンと変更をサポートするようになりました。
以前は、semanage port
では、リッスンおよび変更ができるのは TCP ポートと UDP ポートのみでした。今回の更新で、SCTP および DCCP プロトコルのサポートが semanage port
に追加されています。これにより、管理者は、両マシンが SCTP 経由で通信できるかどうかを確認し、SCTP 機能を完全に有効にして SCTP ベースのアプリケーションを正常にデプロイできるようになりました。
(BZ#1563742)
semanage export
が、permissive ドメインに関連するカスタマイゼーションを表示するようになりました。
今回の更新で、semanage
ユーティリティー (SELinux の policycoreutils
パッケージの一部) が permissive ドメインに関連するカスタマイゼーションを表示できるようになりました。システム管理者が、semanage export
コマンドを使用して、マシン間で許容ローカル変更を転送できるようになりました。
(BZ#1417455)
udica
が、SELinux の拒否から生成された新しい許可ルールを既存のコンテナーポリシーに追加できるようになりました。
udica
ユーティリティーにより生成されたポリシーの下で動作するコンテナーが SELinux の拒否をトリガーする場合、udica
がポリシーを更新できるようになりました。新しいパラメーター -a
または --append-rules
を使用して AVC ファイルからルールを追加できます。
新しい SELinux タイプが追加され、サービスが制限のある状態で実行できるようになりました。
今回の更新では、新しい SELinux タイプが導入され、unconfined_service_t
ドメインで実行するのではなく、以下のサービスが SELinux Enforcing モードで制限のあるサービスとして実行できるようなりました。
-
lldpd
がlldpad_t
として実行されるようになりました。 -
rrdcached
が rrdcached_t
として実行されるようになりました。 -
stratisd
がstratisd_t
として実行されるようになりました。 -
timedatex
がtimedatex_t
として実行されるようになりました。
(BZ#1726246, BZ#1726255, BZ#1726259, BZ#1730204)
Clevis で、所定の LUKS デバイス用のポリシーをリスト表示できます。
今回の更新で、clevis luks list
コマンドが、所定の LUKS デバイス用の PBD ポリシーをリスト表示するようになりました。これにより、使用中の Clevis ピンやピン設定 (Tang サーバーアドレス、tpm2
ポリシーの詳細、SSS しきい値など) に関する情報を簡単に見つけることができます。
Clevis で、キーのステータスを報告し、期限切れのキーを再バインドする新しいコマンドが提供されます。
clevis luks report
コマンドで、特定のバインディングのキーがローテーションを要するかどうかを報告させることが簡単にできるようになりました。Tang サーバーにおける通常のキーローテーションにより、Network-Bound Disk Encryption (NBDE) デプロイメントのセキュリティーが強化されるため、クライアントは期限切れのキーの検出を提供する必要があります。キーの有効期限が切れると、Clevis は clevis luks regen
コマンドを使用して現在のキーで期限切れのキースロットを再バインドするよう推奨します。これにより、キーローテーションのプロセスが大幅に簡素化されます。
(BZ#1564559, BZ#1564566)
Clevis が、LUKS デバイスの特定のスロットをバインドするために使用されるパスフレーズを抽出できるようになりました。
Clevis ポリシーベースの復号化フレームワークに対する今回の更新で、LUKS デバイスの特定のスロットをバインドするために使用されるパスフレーズを抽出できるようになりました。以前は、LUKS インストールパスフレーズが消去されると、Clevis は、再暗号化、ユーザーパスフレーズを使用した新しいキースロットの有効化、管理者が sss
しきい値を変更する必要がある場合の Clevis の再バインドなどの、LUKS 管理タスクを実行できませんでした。今回の更新で、特定のスロットをバインドするために使用されるパスフレーズを示す clevis luks pass
コマンドが導入されています。
(BZ#1436780)
Clevis ではシステムの起動時に複数の LUKS デバイスを復号化するサポートを改善されました。
clevis
パッケージが更新され、システムの起動時に複数の LUKS 暗号化デバイスを復号するサポートが改善されました。この機能が改善される前は、管理者がシステム設定に複雑な変更を加えて、起動時に Clevis が複数のデバイスを適切に復号化できるようにする必要がありました。今回のリリースでは、clevis luks bind
コマンドを使用して復号化を設定し、dracut -fv --regenerate-all
コマンドで initramfs を更新できます。
詳細は ポリシーベースの複号を使用して暗号化ボリュームの自動アンロックの設定 を参照してください。
openssl-pkcs11
が 0.4.10 にリベースされました。
openssl-pkcs11
パッケージがアップストリームバージョン 0.4.10 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。openssl-pkcs11
パッケージでは、エンジンインターフェイスを介した PKCS #11 モジュールへのアクセスが提供されます。新しいバージョンで導入された主な変更点は以下のとおりです。
- ECDSA 秘密鍵の読み込み時に秘密鍵に対応する公開鍵オブジェクトが利用できない場合、エンジンは一致する証明書 (ある場合) から公開鍵を読み込みます。
-
openssl-pkcs11
エンジンは所定の PKCS #11 URI に一致するすべてのトークンを検索するため、一般的な PKCS #11 URI (pkcs11:type=public
など) を使用できます。 - システムは、単一デバイスが URI 検索と一致する場合にのみ PIN でのログインを試みます。これにより、PIN を一致するすべてのトークンに提供することで、認証の失敗を防ぎます。
-
デバイスへのアクセス時に、
openssl-pkcs11
エンジンが、RSA メソッド構造にRSA_FLAG_FIPS_METHOD
フラグを付けるようになりました。FIPS モードでは、OpenSSL は、RSA メソッド構造でフラグを設定する必要があります。エンジンは、デバイスが FIPS で認定されているかどうかを検出できないことに留意してください。
(BZ#1745082)
rsyslog
が 8.1911.0 にリベースされました。
rsyslog
ユーティリティーがアップストリームバージョン 8.1911.0 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。以下は、主な機能強化のリストです。
-
新しい
omhttp
モジュールを使用すると、HTTP REST インターフェイスを介してメッセージを送信できます。 - ファイル入力モジュールが強化され、安定性、エラー報告、およびトランケーション検出が改善されています。
-
あらゆるアクションで使用できる新しい
action.resumeIntervalMax
パラメーターにより、再試行間隔の増加に特定の値の上限を付けることができます。 -
TLS の新しい
StreamDriver.PermitExpiredCerts
オプションは、証明書が期限切れの場合でも接続を許可します。 - 設定された外部ファイルのコンテンツに基づいて、出力を一時停止および再開できるようになりました。これは、反対側が常にメッセージを許可するが、すべてのメッセージを処理できない場合には断りなくドロップするという状況で有用です。
- ファイル出力モジュールのエラー報告が改善され、実際のファイル名と、エラーの原因に関する詳細情報が含まれるようになりました。
- ディスクキューがマルチスレッドを実行するようになり、パフォーマンスが向上します。
-
さらに厳格な TLS 操作モードを設定できます。
extendedKeyUsage
証明書フィールドを確認するモードと、CN/SAN
証明書フィールドをより厳格に確認するモードがあります。
(BZ#1740683)
rsyslog
で、HTTP REST インターフェイスを介して通信するための omhttp
プラグインが提供されるようになりました。
rsyslog
パッケージの今回の更新で、Ceph ストレージプラットフォーム、Amazon Simple Storage Service (Amazon S3)、Grafana Loki などの、Representational State Transfer (REST) API を使用するサービスと互換性のある出力を生成する新しい omhttp
プラグインを使用できるようになりました。この新しい HTTP 出力モジュールでは、設定可能な REST パスおよびメッセージ形式、複数のバッチ形式のサポート、圧縮、および TLS 暗号化が提供されます。
詳細は、rsyslog-doc
パッケージでシステムにインストールされた /usr/share/doc/rsyslog/html/configuration/modules/omhttp.html
ファイルを参照してください。
rsyslog
の omelasticsearch
が rebindinterval
に対応するようになりました。
rsyslog
パッケージの今回の更新で、omelasticsearch
モジュールにおける定期的な再接続の時間の設定がサポートされるようになりました。このパラメーターをシナリオに応じて設定すると、Elasticsearch ノードのクラスターにレコードを送信する場合のパフォーマンスを向上させることができます。rebindinterval
パラメーターの値は、rsyslog
が接続を閉じてから新しい接続を確立するまでにノードに送信された操作の数を示します。デフォルト値の -1
は、rsyslog
が接続を再確立していないことを意味します。
rsyslog
mmkubernetes
がメタデータキャッシュの有効期限を提供するようになりました。
rsyslog
パッケージの今回の更新で、メタデータキャッシュの有効期限を設定するために、mmkubernetes
モジュールの 2 つのパラメーターを新しく使用できるようになりました。これにより、削除された Kubernetes オブジェクトは、mmkubernetes
静的キャッシュから確実に削除されます。cacheentryttl
パラメーターの値は、キャッシュエントリーの最大期間 (秒単位) を示します。cacheexpireinterval
パラメーターの値は、次のとおりです。
-
キャッシュ有効期限チェックを無効にする場合は
-1
-
キャッシュ有効期限チェックを有効にする場合は
0
- 定期的なキャッシュ有効期限チェック (秒単位) の場合は、0 よりも大きい数
audit
がバージョン 3.0-0.14 にリベースされました。
audit
パッケージがアップストリームバージョン 3.0-0.14 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。主要な変更点は次のとおりです。
- syslog プラグインのフィールドを解釈するオプションが追加されました。
-
30-ospp-v42.rules
ファイルが、さらに細分されました。 -
サンプルルールが
/usr/share/audit/sample-rules/
ディレクトリーに移動しました。 - リモートロギング用の Audit KRB5 トランスポートモードが修正されました。
Audit に、カーネル v5.5-rc1 の多くの改善点が含まれるようになりました。
Linux カーネルに対する今回の追加には、Audit サブシステムに関連し、バージョン 4.18 と 5.5-rc1 の間に導入された、多くの機能強化、バグ修正、およびクリーンアップが含まれます。以下のリストは、重要な変更点を抜粋したものです。
-
フィルタリングで
exe
フィールドの使用を拡大 - v3 名前空間機能のサポート
- リモートファイルシステムでのフィルタリングの改善
-
gid
フィルタールールの修正 - メモリー解放後の使用における破損およびメモリーリークの修正
- イベントレコードの関連付けの改善
-
fanoticy
インターフェイス、Audit 設定オプション、および syscall インターフェイスのクリーンアップ - Extended Verification Module (EVM) の戻り値の修正
- 複数のレコード形式の修正とクリーンアップ
- 仮想ファイルシステム (VFS) 監査の簡素化および修正
(BZ#1716002)
fapolicyd
が 0.9.1-2 にリベースされました。
RHEL アプリケーションのホワイトリスト化を提供する fapolicyd
パッケージが、アップストリームバージョン 0.9.1-2 にアップグレードされました。主なバグ修正と機能強化は、以下のとおりです。
- プロセス ID が修正されました。
- サブジェクト部分とオブジェクト部分が、ルールで厳密に配置されるようになりました。いずれの部分もコロンで区切られており、必要なパーミッション (execute, open, any) が含まれています。
- サブジェクト属性とオブジェクト属性が統合されています。
新しいルールの形式は以下のとおりです。
DECISION PERMISSION SUBJECT : OBJECT
以下に例を示します。
allow perm=open exe=/usr/bin/rpm : all
sudo
が 1.8.29-3.el8 にリベースされました。
sudo
パッケージがアップストリームバージョン 1.8.29-3 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。新しいバージョンで導入された主な変更点は以下のとおりです。
-
sudo
が、利用可能な場合には、標準出力や標準エラー出力ではなく、ユーザー端末に Pluggable Authentication Module (PAM) メッセージを書き出すようになりました。これにより、ファイルおよびパイプに送信された PAM 出力とコマンドの出力の混乱が回避されます。 -
LDAP および SSSD からの
notBefore
およびnotAfter
オプションが、sudo -l
command コマンドで、正常に動作、表示するようになりました。 -
cvtsudoers
コマンドが、LDIF からsudoers
および JSON 形式への変換時に LDAP Data Interchange Format (LDIF) 以外の入力を拒否するようになりました。 -
sudoers
の新しいlog_allowed
およびlog_denied
設定を使用すると、許可されたコマンドと拒否されたコマンドのロギングおよび監査を無効にできます。 -
runas_spec
仕様にグループが一切存在しない場合であっても、sudo
で-g
オプションを使用して、ターゲットユーザーグループに一致するグループを指定できるようになりました。以前は、グループがターゲットユーザーのプライマリーグループと一致する場合にのみ、これを実行できました。 -
sudo
でsssd.conf
のipa_hostname
の値にホスト名を一致させることを妨げていたバグを修正しました。 -
Runas
仕様がALL
キーワードでのroot
アクセスを認めていない場合にsudo
ユーザーが root としてコマンドを実行できるという脆弱性が修正されました (CVE-2019-14287)。 -
ALL キーワードを使用するなど、許容
sudoers
エントリーに対する不明なユーザーおよびグループ ID の使用が無効になりました。runas_allow_unknown_id
設定で有効にできます (CVE-2019-19232)。
pam_namespace
モジュールで tmpfs
の追加マウントオプションを指定可能になりました。
/etc/security/namespace.conf
設定ファイルでは、さまざまなオプションが利用できるようになりました。setuid ビットの効果を無効にする nosuid
マウントオプション。実行可能ファイルの実行を無効にする noexec
マウントオプション。ならびにマウントされた tmpfs
ファイルシステムでファイルが文字列またはブロックデバイスとして解釈されるのを防ぐ nodev
マウントオプション。
その他のマウントオプションは、tmpfs(5)
man ページで指定されています。
(BZ#1252859)
pam_faillock
が、faillock.conf
設定ファイルから設定を読み込めるようになりました。
プラグ可能な認証モジュール (PAM) の一部である pam_faillock
モジュールが、/etc/security/faillock.conf
に位置する設定ファイルから設定を読み込めるようになりました。これにより、faillock.conf
ファイルを編集するだけで、認証失敗時にアカウントのロックアウトを設定し、この機能にユーザープロファイルを提供し、さまざまな PAM 設定を処理することが簡単にできるようになります。
5.1.6. ネットワーク
ユーザー空間のアプリケーションが、カーネルで選択した netns
ID を取得できるようになりました。
ユーザー空間のアプリケーションは、カーネルに新しい netns
ID を選択するよう要求し、これをネットワーク名前空間に割り当てることができます。今回の機能強化により、ユーザーはカーネルに RTM_NETNSID
netlink
メッセージを送信するときに、NLM_F_ECHO
フラグを指定できるようになりました。これで、カーネルが netlink
メッセージをユーザーに送り戻します。このメッセージには、カーネルが選択した値に設定された netns
ID が含まれています。その結果、ユーザー空間アプリケーションには、カーネルが選択した netlink
ID を識別するための信頼できるオプションが追加されました。
(BZ#1763661)
firewalld
がバージョン 0.8 にリベースされました。
firewalld
パッケージが、バージョン 0.8 に更新されました。以下は、主な変更点です。
-
この
firewalld
のバージョンには、バージョン 0.7.0 以降のすべてのバグ修正が含まれます。 -
firewalld
がnftables
サブシステムへのlibnftables
JSON インターフェイスを使用するようになりました。これにより、ルールアプリケーションのパフォーマンスおよび信頼性が向上します。 -
サービス定義では、新しい
helper
要素がmodule
を置き換えます。 - このバージョンでは、カスタムヘルパーが標準のヘルパーモジュールを使用できます。
ndptool が IPv6 ヘッダーで宛先アドレスを指定できるようになりました。
今回の更新で、ndptool
ユーティリティーが、IPv6 ヘッダーでアドレスを指定することで、特定の宛先に Neighbor Solicitation (NS) または Neighbor Advertisement (NA) メッセージを送信できるようになりました。その結果、メッセージをリンクローカルアドレス以外のアドレスに送信できます。
nftables
が、多次元 IP セットタイプをサポートするようになりました。
今回の機能強化により、nftables
パケットフィルタリングフレームワークが、連結と区間を持つセットタイプをサポートするようになりました。その結果、管理者は、多次元 IP セットタイプを作成するための回避策が不要になりました。
(BZ#1593711)
nftables がバージョン 0.9.3 にリベースされました
nftables パッケージがアップストリームバージョン 0.9.3 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。
-
JSON API が
libnftables
ライブラリーに追加されました。このライブラリーは、サードパーティーアプリケーションから nftables ルールセットを管理する高度なインターフェイスを提供します。Python で新しい API を使用するには、python3-nftables
パッケージをインストールします。 -
ステートメントは、
192.0.2.0/24
および192.0.2.0-192.0.2.30
などの IP 接頭辞および範囲をサポートします。 -
オペレーティングシステムのフィンガープリントのサポートが追加され、予想されるオペレーティングシステムに基づいてパケットをマークできるようになりました。詳細は、
nft(8)
man ページのosf expression
セクションを参照してください。 -
パケットヘッダーを変更せずにパケットをローカルソケットにリダイレクトするように、透過型プロキシー機能が追加されました。詳細は、
nft(8)
man ページのtproxy statement
セクションを参照してください。 -
デフォルトでは、
nft
は、nft チェーンの作成中に優先順位セットのテキスト名を表示します。標準優先度の数値を表示するには、-y
オプションを使用します。 - セキュリティーマークのサポートが追加されました。
- 動的セット更新のサポートが改善され、パケットパスから更新を設定するようになりました。
- トランスポートヘッダーポートマッチのサポートが追加されました。
主な変更の詳細は、更新前にアップストリームのリリースノートを参照してください。
(BZ#1643192)
firewalld
サービスに対するルールが、標準ポート以外で動作するサービスについて接続追跡ヘルパーを使用できるようになりました。
firewalld
サービス内のユーザー定義ヘルパーが、標準のカーネルヘルパーモジュールを使用できるようになりました。これにより、管理者は、非標準ポートで動作するサービスについて接続追跡ヘルパーを使用する firewalld
ルールを作成することができます。
whois
パッケージが利用できるようになりました。
今回の機能強化により、RHEL 8.2.0 で whois
パッケージが利用できるようになりました。その結果、特定のドメイン名または IP アドレスについての情報を取得できるようになりました。
(BZ#1734183)
tc の eBPF が完全にサポートされました。
Traffic Control (tc) カーネルサブシステムと tc ツールは、extended Berkeley Packet Filtering (eBPF) プログラムをパケットとして追加し、入力および出力の両方のキューイング規則に対するアクションを実行することができます。これにより、カーネルネットワークデータパス内でプログラム可能なパケット処理が可能になりました。以前はテクノロジープレビューとして利用できた tc 用の eBPF は、RHEL 8.2 で完全に対応になりました。
5.1.7. カーネル
RHEL 8.2 のカーネルバージョン
Red Hat Enterprise Linux 8.2 には、カーネルバージョン 4.18.0-193 が同梱されています。
外部カーネルパラメーターの重要な変更 および デバイスドライバー も参照してください。
RHEL 8.2 向け Extended Berkeley Packet Filter
extended Berkeley Packet Filter (eBPF ) は、限られた一連の関数にアクセスできる制限付きサンドボックス環境において、カーネル領域でのコード実行を可能にするカーネル内の仮想マシンです。この仮想マシンは、特別なアセンブリーのようなコードを実行します。eBPF バイトコードが最初にカーネルにロードされ、その後に検証が行われます。次に実行時のコンパイルでコードがネイティブマシンコードに変換され、その後、仮想マシンがコードを実行します。
Red Hat は、eBPF 仮想マシンを使用するコンポーネントを数多く提供しています。各コンポーネントの開発フェーズはさまざまです。そのため、現在すべてのコンポーネントが完全にサポートされている訳ではありません。RHEL 8.2 では、以下の eBPF コンポーネントがサポートされています。
- BPF Compiler Collection (BCC) ツールパッケージ。これは、効率的なカーネル追跡とプログラムの操作に eBPF 仮想マシンを使用する、動的カーネル追跡ユーティリティーのユーザー空間コレクションです。BCC は、eBPF を使用して、Linux オペレーティングシステムの I/O 分析、ネットワーキング、およびモニタリング用のツールを提供します。
- BCC ライブラリー。これを使用すると、BCC ツールパッケージで提供されるツールと同様のツールを開発できます。
- eBPF for Traffic Control (tc) 機能。これにより、カーネルネットワークデータパスでのプログラミング可能なパケット処理が可能になります。
特定のコンポーネントがサポート対象と示されていない限り、その他のすべての eBPF コンポーネントはテクノロジープレビューとして提供されます。
現在、以下の主要 eBPF コンポーネントは、テクノロジープレビューとして利用できます。
-
bpftrace
トレース言語 - eXpress Data Path (XDP) 機能
テクノロジープレビューのコンポーネントに関する詳細情報は、テクノロジープレビュー を参照してください。
Intel® Omni-Path Architecture (OPA) ホストソフトウェア
Red Hat Enterprise Linux 8.2 は、Intel Omni-Path Architecture (OPA) ホストソフトウェアに完全に対応しています。Intel OPA は、クラスター環境のコンピュートと I/O ノード間の高性能データ転送 (高帯域幅、高メッセージレート、低レイテンシー) のために、初期化とセットアップを行う Host Fabric Interface (HFI) ハードウェアを提供します。
(BZ#1833541)
Control Group v2 は、RHEL 8 で完全に対応されるようになりました。
Control Group v2 メカニズムは、統一された階層制御グループです。Control Group v2 は、プロセスを階層的に編成し、制御された設定可能な方法で、階層に従ってシステムリソースを分配します。
以前のバージョンとは異なり、Control Group v2 には階層が 1 つしかありません。このように階層が単純であるため、Linux カーネルでは次のことが可能になります。
- 所有者のロールに基づいたプロセスの分類
- 複数の階層でポリシーが競合する問題の解消
Control group v2 は、非常に多くのコントローラーに対応します。以下に例を示します。
CPU コントローラーにより、CPU サイクルの配分が調整されます。このコントローラーには以下が実装されています。
- 通常のスケジューリングポリシーに対する重みおよび絶対帯域幅制限のモデル
- 実時間スケジューリングポリシーに対する絶対帯域幅割り当てモデル
-
cpuset コントローラーは、プロセッサーやプロセスのメモリー配置を、
cpuset
インターフェイスファイルで指定されたリソースのみに制限します。 メモリーコントローラーは、メモリー配分を調整します。現在、次の種類のメモリー使用量が追跡されます。
- ユーザー側のメモリー (ページキャッシュと匿名メモリー)
- dentry、inode などのカーネルデータ構造
- TCP ソケットバッファー
- I/O コントローラーは、I/O リソースの配分を制限します。
- ライトバックコントローラーは、メモリーコントローラーおよび I/O コントローラーの両方と対話し、Control Group v2 に固有のものです。
上記の情報は、Control Group v2 のアップストリームのドキュメントに基づいています。ここでは、個別の Control Group v2 コントローラーに関する情報を参照できます。
アップストリームドキュメントに記載の全機能が RHEL 8 に実装されているわけではないので注意してください。
(BZ#1401552)
空きリストのランダム化により、ダイレクトマップ方式のメモリーサイドキャッシュのパフォーマンスおよび使用状況が改善されました。
今回の機能強化により、ページアロケーターを有効にして空きリストをランダム化し、ダイレクトマップ方式のメモリー側キャッシュの平均使用率を高めることができるようになりました。カーネルコマンドラインオプション page_alloc.shuffle
により、ページアロケーターは空きリストのランダム化が可能になり、ブール値フラグが True
に設定されます。sysfs
ファイルは、/sys/module/page_alloc/parameters/shuffle
にあります。このファイルは、フラグの状態を読み取り、空きリストをシャッフルします。このため、Dynamic Random Access Memory (DRAM) がキャッシュされ、DRAM と永続メモリー間のレイテンシー幅が低減されます。その結果、大容量で帯域幅が狭い永続メモリーを汎用サーバープラットフォームで利用できます。
(BZ#1620349)
TPM ユーザー空間ツールが最新バージョンに更新されました。
tpm2-tools
ユーザー空間ツールがバージョン 3.2.1 に更新されました。今回の更新では、特に Platform Configuration Register コードおよび man ページのクリーンアップに関連するバグ修正が複数追加されました。
(BZ#1725714)
C620 シリーズの PCH チップセットが Intel Trace Hub 機能に対応するようになりました。
今回の更新で、C620 シリーズプラットフォームコントローラーハブ (PCH) (別称 Lewisburg PCH) の Intel トレースハブ (TH) のハードウェアサポートが追加されました。C620 シリーズ PCH を使用するユーザーは Intel TH を使用できるようになりました。
(BZ#1714486)
perf
ツールは、CLX-AP および cpx プロセッサーのダイ別イベント集計をサポートするようになりました。
今回の更新で、perf
ツールは、ダイが複数ある一部の CPU でダイ別のイベント数集計をサポートするようになりました。このモードを有効にするには、Xeon Cascade Lake-AP (CLX-AP) および Cooper Lake (CPX) システムプロセッサーの -a
オプションに、--per-die
オプションが追加されました。今回の更新では、このサポートが追加され、ダイ間でバランスが取られていない状態が検出されるようになりました。perf stat
コマンドはイベント数をキャプチャーし、出力を以下のように表示します。
# perf stat -e cycles --per-die -a -- sleep 1 Performance counter stats for 'system wide': S0-D0 8 21,029,877 cycles S0-D1 8 19,192,372 cycles
(BZ#1660368)
IBM Z では crashkernel=auto
のしきい値が減少します。
IBM Z システムの crashkernel=auto
カーネルコマンドラインパラメーターのしきい値の下限が 4G から 1G に減ります。今回の実装により、IBM Z は AMD64 および Intel 64 システムのしきい値に合わせて、crashkernel=auto
のしきい値の下限に対して同じ予約ポリシーが使用できるようになりました。これにより、クラッシュカーネルは、RAM が 4GB 未満のシステムで kdump
のメモリーを自動的に予約できます。
(BZ#1780432)
numactl
マニュアルエントリーにより、メモリー使用量の出力が明らかになります。
RHEL 8 の今回のリリースでは、numactl
の man ページで、メモリー使用量の情報はシステム上の常駐ページしか反映しないということが明示的に説明されています。これは、メモリー使用量の情報が常駐ページに関連するのか仮想メモリーに関連するのかについて、ユーザーが混乱する可能性をなくすために追加されました。
kexec-tools
ドキュメントが更新され、Kdump FCoE ターゲットのサポートが含まれるようになりました。
今回のリリースでは、/usr/share/doc/kexec-tools/supported-kdump-targets.txt
ファイルが更新され、Kdump Fibre Channel over Ethernet (FCoE) ターゲットのサポートが含まれるようになりました。その結果、FCoE ターゲットサポートでの kdump
クラッシュダンプ機構の状態と詳細について、理解を深めることが可能になりました。
(BZ#1690729)
ファームウェア支援ダンプが PowerNV をサポートするようになりました。
ファームウェア支援ダンプ (fadump
) メカニズムが PowerNV プラットフォームでサポートされるようになりました。この機能は、IBM POWER9 FW941 ファームウェアバージョン以降でサポートされます。システム障害の発生時には、fadump
は vmcore
ファイルとともに、 opalcore
もエクスポートします。opalcore
ファイルには、障害時の OpenPower Abstraction Layer (OPAL) メモリーの状態に関する情報が含まれます。opalcore
ファイルは、OPAL ベースシステムのクラッシュのデバッグに役立ちます。
(BZ#1524687)
kernel-rt
ソースツリーが、最新の RHEL 8 ツリーに一致するようになりました。
kernel-rt
ソースが更新され、最新の RHEL カーネルソースツリーを使用するようになりました。リアルタイムパッチセットも、最新のアップストリーム v5.2.21-rt13 バージョンに更新されました。これらの更新はいずれも、バグ修正および機能強化を多数提供します。
(BZ#1680161)
rngd
が root 以外の権限で実行可能になりました。
乱数ジェネレーターデーモン (rngd
) は、乱数性のソースによって供給されるデータが十分にランダムなものかどうかをチェックしてから、カーネルの乱数エントロピープールにデータを格納します。今回の更新で、システムセキュリティーを向上するために、root 以外のユーザー権限で rngd
を実行できるようになりました。
POWER 9 の RHEL 8.2 以降で仮想永続メモリーがサポートされるようになりました
IBM POWER9 ハードウェアで PowerVM ハイパーバイザーを使用して RHEL 8.2 以降のホストを実行している場合、ホストは Virtual Persistent Memory (vPMEM) 機能を使用できるようになりました。vPMEM を使用すると、物理サーバーの電源がオフになるまで、アプリケーションおよびパーティションの再起動後もデータが保持されます。その結果、vPMEM を使用するワークロードの再起動が大幅に高速化されます。
システムが vPMEM を使用できるようにするには、次の要件を満たす必要があります。
- ハードウェア管理コンソール (HMC) V9R1 M940 以降
- ファームウェアレベル FW940 以降
- E980 システムファームウェア FW940 以降
- L922 システムファームウェア FW940 以降
- PowerVM レベル V3.1.1
現在、vPMEM を使用する RHEL 8 でいくつかの既知の問題が発生していることに注意してください。詳細は、次のナレッジベース記事を参照してください。
(BZ#1859262)
5.1.8. ファイルシステムおよびストレージ
LVM が dm-writecache
キャッシュメソッドをサポートするようになりました。
LVM キャッシュボリュームでは、既存のホットスポット (dm-cache
) メソッドに加えて、dm-writecache
キャッシュメソッドを提供するようになりました。
dm-cache
- このメソッドは、高速なボリユームで頻繁に使用されるデータをキャッシュして、このようなデータへのアクセス時間を短縮します。このメソッドは、読み取りおよび書き込みの両方の操作をキャッシュします。
dm-writecache
- このメソッドは、書き込み操作のみをキャッシュします。高速ボリュームは通常、SSD または永続メモリー (PMEM) ディスクを指します。これは、まず書き込み操作を格納してから、これらをバックグランドで低速ディスクに移行します。
キャッシュメソッドを設定するには、lvconvert
ユーティリティーで --type cache
または --type writecache
オプションを使用します。
詳細は、 Enabling caching to improve logical volume performance を参照してください。
(BZ#1600174)
VDO async
ポリシーが ACID に準拠するようになりました。
今回のリリースでは、VDO async
の書き込みモードが Atomicity, Consistency, Isolation, Durability (ACID) に準拠するようになりました。VDO が async
モードでデータを書き込み中にシステムが予期せず停止した場合に、復元データの一貫性が常に保たれるようになりました。
ACID に準拠するようになり、async
のパフォーマンスが以前のリリースより低下しています。以前のパフォーマンスに戻すには、VDO ボリュームの書き込みモードを、ACID に準拠していない async-unsafe
モードに変更してください。
詳細は VDO 書き込みモードの選択 を参照してください。
(BZ#1657301)
VDO ボリュームをインポートできるようになりました。
vdo
ユーティリティーでは、システムに登録されていない、既存の VDO ボリュームをインポートできるようになりました。VDO ボリュームをインポートするには、vdo import
コマンドを使用します。
また、vdo import
コマンドを使用して、VDO ボリュームの UUID (Universally Unique Identifier) を変更できます。
mountstats
および nfsiostat
の出力で、新しい per-op
エラーカウンターが利用できるようになりました。
NFS クライアントシステムでは、マイナーなサポート機能を利用できます。 nfs-utils
の mountstats
および nfsiostat
コマンドの出力に、per-op
のエラー数が追加されました。今回の機能拡張により、これらのツールで、per-op
のエラー数と割合を表示できるようになり、NFS クライアントマシンの特定の NFS マウントポイントの問題を絞り込むのに役立てることができます。この新しい統計は、Red Hat Enterprise Linux 8.2 カーネルでのカーネルの変更内容に依存することに注意してください。
XFS で cgroup
対応のライトバック IO が利用できるようになりました。
今回のリリースでは、XFS は cgroup
対応のライトバック IO をサポートします。通常、cgroup
のライトバックには、基礎となるファイルシステムからの明示的なサポートが必要です。これまで、XFS のライトバック IO は root の cgroup
の属性のみでした。
(BZ#1274406)
FUSE ファイルシステムが copy_file_range()
を実装するようになりました。
copy_file_range()
システムコールは、ファイルシステムが効率的なデータコピーメカニズムを実装する方法を提供します。GlusterFS は FUSE (Filesystem in Userspace) フレームワークを使用しているので、今回の更新でこのメカニズムを利用するようになりました。FUSE ファイルシステムの読み取り/書き込み機能には複数データのコピーが必要になるため、copy_file_range()
を使用するとパフォーマンスが大幅に向上します。
(BZ#1650518)
mountstats
および nfsiostat
コマンドに対して per-op
統計がサポートされるようになりました。
NFS クライアントシステムに対するでサポート機能が使用できるようになりました。/proc/self/mountstats
ファイルには、per-op
エラーカウンターが追加されています。今回の更新では、各 per-op
統計の行にある 9 番目の番号で、ステータス値がゼロ未満で完了した操作の数を示します。このステータス値はエラーを示します。詳細は、この新しいエラー数を表示する nfs-utils
の mountstats
および nfsiostat
プログラムの更新を参照してください。
(BZ#1636572)
新しい mount stats の lease_time
および lease_expired
は /proc/self/mountstats
ファイルにあります。
NFSv4.x クライアントシステムのサポート機能を使用できるようになりました。/proc/self/mountstats
ファイルには、nfsv4:
で始まる行の最後に lease_time
と lease_expired
のフィールドがあります。lease_time
フィールドは NFSv4 リースタイムの秒数を指します。lease_expired
フィールドは、リースの有効期限が切れてからの秒数を指します。リースの期限が切れていない場合は 0 です。
(BZ#1727369)
NVMe デバイスの不適切な削除
今回の機能拡張により、オペレーティングシステムに事前に通知しなくても、Linux オペレーティングシステムから NVMe デバイスを削除できるようになりました。これにより、順番に削除するためにデバイスの準備を行う必要がないため、NVMe デバイスの保守性が向上し、サーバーのダウンタイムをなくしてサーバーの可用性を確保できます。
以下の点に注意してください。
-
NVMe デバイスの削除には、
kernel-4.18.0-193.13.2.el8_2.x86_64
バージョン以降が必要です。 - NVMe デバイスを正常に削除するには、ハードウェアプラットフォームまたはプラットフォームで実行されているソフトウェアからの追加要件が必要になる場合があります。
- システム操作に不可欠な NVMe デバイスの削除には対応していません。たとえば、オペレーティングシステムまたはスワップパーティションを含む NVMe デバイスを削除することはできません。
(BZ#1634655)
5.1.9. 高可用性およびクラスター
他のリソースに影響を与えない場合にのみリソースを無効にする新しいコマンドオプション。
場合によっては、他のリソースに影響を与えない場合にのみリソースを無効化する必要があります。これを確認することは、複雑なリソース関係が設定されている場合、手作業では不可能です。このニーズに対応するため、pcs resource disable
コマンドが、以下のオプションをサポートするようになりました。
-
pcs resource disable --simulate
は、クラスター設定を変更せずに、特定のリソースを無効にします。 -
pcs resource disable --safe
は、あるノードから別のノードへの移行など、その他のリソースが影響を受けない場合にのみ、特定のリソースを無効にします。 -
pcs resource disable --safe --no-strict
は、他のリソースが停止または降格されない場合に限り、特定のリソースを無効にします。
さらに、pcs resource safe-disable
コマンドが、pcs resource disable --safe
のエイリアスとして導入されました。
リソース間の関係を表示する新しいコマンド。
新しい pcs resource relations
コマンドにより、ツリー構造内のクラスターリソース間の関係を表示することができます。
(BZ#1631514)
プライマリーサイトおよび復旧サイトクラスターの両方のステータスを表示する新しいコマンド。
クラスターをリカバリーサイトとして使用するように設定している場合は、pcs dr
コマンドを使用して、そのクラスターをリカバリーサイトクラスターとして設定できるようになりました。そうすることで、pcs dr
コマンドを使用して、プライマリーサイトクラスターとリカバリーサイトクラスターの両方のステータスを単一のノードから表示することができます。
(BZ#1676431)
制約をリスト表示する際に、期限切れのリソース制約はデフォルトで非表示になりました。
リソース制約をリスト表示する場合に、デフォルトで期限切れの制約が表示されなくなりました。期限切れの制約を含めるには、pcs constraint
コマンドの --all
オプションを使用します。これにより、期限切れの制約のリストが表示され、制約とそれに関連するルールが (expired)
として表示されます。
Pacemaker が、ノードの正常なシャットダウン時にリソースが停止したままになる設定に対応しました。
クラスターノードがシャットダウンした場合、Pacemaker のデフォルトの応答は、そのノードで実行中のすべてのリソースを停止し、別の場所でリソースを復元します。一部のユーザーは、不具合に対してのみ高可用性を確保し、クリーンなシャットダウンを予定された停止として扱うことを好みます。これに対応するため、Pacemaker は shutdown-lock
および shutdown-lock-limit
クラスタープロパティーをサポートするようになりました。これは、シャットダウン時にノードでアクティブであったリソースは、ノードが次に再参加するまで停止したままにすることを必須と指定するものです。ユーザーは、人的介入なしに、クリーンシャットダウンを予定されていた停止として使用できるようになりました。ノードの正常なシャットダウン時にリソースを停止したままにする設定の情報は、ノードの正常なシャットダウン時に停止したままになるようにリソースを設定 を参照してください。
単一ノードでのクラスター環境の実行サポート
1 つのメンバーのみを持つクラスターは、クラスター環境でリソースを起動し、実行できるようになりました。これにより、ユーザーはバックアップに単一のノードを使用する複数ノードクラスターに別の障害復旧サイトを設定できます。1 つのノードで設定されるクラスターは、それ自体にフォールトトレランスがないことに注意してください。
(BZ#1700104)
5.1.10. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
新しいモジュール python38
が導入されました。
RHEL 8.2 では Python 3.8 が導入されました。これは新しいモジュール python38
および ubi8/python-38
コンテナーイメージで提供されます。
Python 3.6 と比較しての主な機能強化は、以下のとおりです。
-
新しい Python モジュール (
contextvars
、dataclasses
、またはimportlib.resources
など) -
ウォルラス演算子 (
:=
) とも呼ばれる代入式、位置のみのパラメーターなどの新しい言語機能 -
breakpoint()
組み込み関数、=
形式の文字列書式指定、Python および拡張モジュールのデバッグビルドと非デバッグビルド間の互換性による、開発者エクスペリエンスの向上 - パフォーマンスの向上
- オプションの静的タイプヒントのサポートの改善
-
簡単にデバッグできるようにフォーマットされた文字列リテラルへの
=
指定子の追加 (f-strings) -
パッケージ (
pip
、requests
、Cython
) のバージョンの更新
Python 3.8 およびこれのためにビルドされたパッケージは、同じシステムの Python 3.6 と並行してインストールできます。
python38
モジュールには、システムツール (RPM、DNF、SELinux など) にバインドされる、python36
モジュール向けに提供されているのと同じバイナリーは含まれないことに留意してください。
python38
モジュールからパッケージをインストールするには、たとえば、以下を使用します。
# yum install python38 # yum install python38-Cython
python38:3.8
モジュールストリームは、自動的に有効になります。
インタープリターを実行するには、たとえば、以下を使用します。
$ python3.8 $ python3.8 -m cython --help
詳細は、Python のインストールおよび使用 を参照してください。
Red Hat は、RHEL 8 のライフサイクルが終了するまで Python 3.6 のサポートを継続することに留意してください。Python 3.8 のライフサイクルは短くなります。Red Hat Enterprise Linux 8 Application Streams ライフサイクル を参照してください。
(BZ#1747329)
mod_wsgi
インストールの変更
以前は、yum install mod_wsgi
コマンドを使用して mod_wsgi
モジュールのインストールを試行すると、必ず python3-mod_wsgi
パッケージがインストールされていました。RHEL 8.2 では、Python 3.6 に加えて、Python 3.8 が導入されました。今回の更新で、インストールする mod_wsgi
のバージョン指定が必要になりました。指定しない場合、エラーメッセージが返されます。
mod_wsgi
の Python 3.6 バージョンをインストールするには、次を実行します。
# yum install python3-mod_wsgi
mod_wsgi
の Python 3.8 バージョンをインストールするには、次を実行します。
# yum install python38-mod_wsgi
python3-mod_wsgi
と python38-mod_wsgi
パッケージは互いに競合するため、Apache HTTP Server の制限により、システムには一方の mod_wsgi
モジュールしかインストールできないことに留意してください。
今回の変更が原因で、BZ#1829692 に記載されている既知の依存関係の問題が発生します。
(BZ#1779705)
IBM Z の zlib
における、ハードウェアアクセラレートされた deflate のサポート。
今回の更新で、IBM Z メインフレームの zlib
ライブラリーに、ハードウェアアクセラレートされた deflate アルゴリズムのサポートが追加されました。その結果、IBM Z ベクターマシンでの圧縮および圧縮解除のパフォーマンスが改善されました。
(BZ#1659433)
IBM Power Systems (リトルエンディアン) で gzip
を圧縮解除した場合のパフォーマンス向上
今回の更新で、32 ビットの Cyclic Redundancy Check (CRC32) の最適化が IBM Power Systems (リトルエンディアン) の zlib
ライブラリーに追加されました。その結果、gzip
ファイルの圧縮解除のパフォーマンスが改善されました。
(BZ#1666798)
新しいモジュールストリーム: maven:3.6
。
RHEL 8.2 では、新しいモジュールストリーム maven:3.6
が導入されています。このバージョンの Maven ソフトウェアプロジェクトの管理および解釈を行うツールでは、RHEL 8.0 で配布される maven:3.5
ストリームについて、数多くのバグ修正とさまざまな機能強化が提供されます。
maven:3.6
ストリームをインストールするには、以下を使用します。
# yum module install maven:3.6
maven:3.5
ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。
(BZ#1783926)
mod_md
が ACMEv2 プロトコルをサポートするようになりました。
mod_md
モジュールがバージョン 2.0.8 に更新されました。今回の更新で、Automatic Certificate Management Environment (ACME) 証明書発行および管理プロトコルのバージョン 2 のサポートなど、多くの機能が追加されました。これは、Internet Engineering Task Force (IETF) 規格 (RFC 8555) です。元の ACMEv1 プロトコルは引き続きサポートされますが、一般的なサービスプロバイダーでは非推奨となっています。
(BZ#1747923)
PHP 7.3 の新しい拡張機能
php:7.3
モジュールストリームが更新され、2 つの新しい PHP 拡張 (rrd
および Xdebug
) を提供するようになりました。
rrd
拡張は、RRDtool
C ライブラリーへのバインディングを提供します。RRDtool
は、時系列データのデータロギングおよびグラフ化を行うハイパフォーマンスシステムです。
Xdebug
拡張は、デバッグと開発を支援するために含まれています。拡張機能は開発のみを目的として提供されるということに留意してください。製品環境では使用できません。
RHEL 8 での PHP のインストールおよび使用の詳細は、 Using the PHP scripting language を参照してください。
(BZ#1769857, BZ#1764738)
新しいパッケージ: perl-LDAP
および perl-Convert-ASN1
。
今回の更新で、RHEL 8 に perl-LDAP
パッケージと Perl-Convert-ASN1
パッケージが追加されました。perl-LDAP
パッケージは、Perl 言語用の LDAP クライアントを提供します。perl-LDAP
には、Basic Encoding Rules (BER) と Distinguished Encoding Rules (DER) を使用して Abstract Syntax Notation One (ASN.1) データ構造をエンコードおよびデコードする perl-Convert-ASN1
パッケージが必要です。
sscg
がパスワードで保護された秘密鍵ファイルの生成をサポートするようになりました。
sscg
ユーティリティーが、パスワードで保護された秘密鍵ファイルを生成できるようになりました。これにより、秘密鍵の保護レベルがさらに追加されます。これは、FreeRADIUS などの一部のサービスで必要です。
5.1.11. コンパイラーおよび開発ツール
grafana
がバージョン 6.3.6 にリベースされました。
grafana
パッケージがバージョン 6.3.6 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。
- Database - パフォーマンスを向上させるために、システム統計クエリーを再書き込みします。
Explore:
- Safari ブラウザーの分割表示でのクエリーフィールドレイアウトを修正します。
-
サポートされているデータソースの Live オプションを追加し、目的を共有するため
orgId
を URL に追加します。 -
ラベルエンドポイントの新しい
loki
、start
、およびend
パラメーターのサポートを追加します。 - Explore での生クエリーモードの切り替えのサポートを追加し、メトリックとログ間の切り替えを可能にします。
- ログ行のコンテキストを表示します。フィールドまたはラベルで指定された場合は、ログレベルを解析しません。
-
新しい
LogQL
フィルタリング構文をサポートします。 -
Grafana/UI から新しい
TimePicker
を使用します。 -
LogRow
Highlighter で改行を処理します。 - ダッシュボードパネルへのブラウザーバックを修正します。
- ロググラフでシリーズレベルでのフィルタリングを修正します。
- 読み込み時およびグラフ/テーブルを畳む時の問題を修正します。
- ログ行の選択/コピーを修正します。
-
ダッシュボード - プロパティーが足りないパネルリンクでローディングエラーを起こしたダッシュボード
init
を修正し、またコンマ区切り値 (CSV) のデータリンクへのエクスポート時に、ダッシュボードのタイムゾーン設定を修正します。 - エディター - 行全体しかコピーされていなかった問題を修正します。
-
LDAP -
multi ldap
およびldap
認証コンポーネントを統合します。 -
Profile/UserAdmin - 32 ビットビルドで
grafana-server
をクラッシュさせるユーザーエージェントパーサーを修正します。 Prometheus:
-
Prometheus
データソースへの切り替え時にパネルエディターがクラッシュするのを防ぎ、brace-insertion
動作が気にならないように変更します。 -
label_replace
でクエリーを修正し、クエリーエディターのロード時に $1 のマッチを削除します。 - エディターのマルチラインクエリーを常時許可し、ステップの調整にタイムゾーンを考慮します。
-
ダッシュボード範囲の代わりに、オーバーライドされた
$__range
のパネル範囲を使用します。 -
時系列ラベルクエリーに時間範囲フィルターを追加し、挿入された
PromQL
変数内の|
リテラルをエスケープします。 - Explore にコロンを含むメトリックのラベルの追加中に修正します。
-
- Auth - API キーの期限切れを許可し、HTTP API でユーザー認証トークンをリッスンしながら、デバイス、OS、およびブラウザーを返し、UI でユーザー認証トークンのリストと取り消しをサポートします。
-
DataLinks - スコープ付き変数をデータリンクに正確に適用し、グラフコンテンツメニューでデータポイントのタイプスタンプを表示中にタイムゾーンをフォローし、変数挿入時にデータポイントタイムスタンプを正確に使用し、
${__series_name}
の誤った挿入を修正します。 - Graph - シリーズ行アイコンをクリックして凡例の問題とウィンドウで表示される水平スクロールバーの問題を修正し、新しいグラデーション塗り潰しオプションを追加します。
-
Graphite - 単一値配列変数の glob を防止し、最後に動かしたエイリアスと関数の問題を修正し、
seriesByTag
と変数パラメーターのある関数の問題を修正し、/metrics/find
リクエストのPOST
を使用します。 - TimeSeries - 値がすべて数値であると想定します。
-
Gauge/BarGauge - 失われたしきい値の問題と
avg
統計で Gauge をロードする問題を修正します。 - PanelLinks - パネルリンク (ドリルダウンリンク) のある Gauge および Bar Gauge パネルのクラッシュの問題を修正し、パネルの説明がない場合のレンダリングの問題を修正します。
-
OAuth - SameSite クッキーポリシーに起因する
missing saved state
OAuth ログインの失敗を修正し、DS プロキシーのOAuth
リフレッシュで更新された誤ったユーザートークンを修正します。 - Auth Proxy - キャッシュキーの一部として追加のヘッダーを含めます。
-
cli
: dev モードにおける認識を修正し、sql エラーでのencrypt-datasource-passwords
の失敗の問題を修正します。 - Permissions - 非管理者ユーザーに対しナビゲーションでプラグインを表示しますが、プラグイン設定は非表示にします。
- TimePicker - ドロップダウンのクイック範囲の高さの最大値を増加させ、ポップオーバーのカスタム範囲のスタイルの問題を修正します。
- Loki - Explore で、リアルタイム表示のログを正しい順番で表示します。
- Timerange - カスタム時間範囲が協定世界時 (UTC) に従っていなかったバグを修正します。
-
remote_cache
-redis connstr
解析を修正します。 -
Alerting - ルールを警告するタグを追加し、所定のすべてのメールアドレスに対するメール通知の送信を試行します。また、警告ルールのテストを改善し、
Discord
アラート通知者のコンテンツフィールドの設定をサポートします。 - Alertmanager - ラベル名の下線付きの禁則文字を置き換えます。
- AzureMonitor - Azure Logs のクラッシュする組み込み Grafana 変数またはマクロ名を変更します。
-
CloudWatch - Amazon Web Services (AWS) Cloudwatch Expressions でリージョンを可視化し、AWS
DocDB
メトリックを追加します。 - GraphPanel - レジェンドテーブルとソート列が非表示の場合に、シリーズをソートしません。
- InfluxDB - Explore におけるログの可視化をサポートします。
- MySQL/Postgres/MSSQL - 日、週、年間隔でのマクロな解析を追加し、クライアント証明書の定期的なリロードのサポートを追加します。
-
Plugins -
plugin.json
ファイルでdataFormats
リストをskipDataQuery
フラグに置き換えます。 - Refresh picker - 空の間隔を処理します。
-
Singlestat -
y
最小/最大設定をシングルスタットのスパークラインに追加します。 -
Templating - ページのリロード後に多値変数で
__text
を正常に表示し、多値変数のフィルタリングされた値すべての選択をサポートします。 - Frontend - Json ツリーコンポーネントが機能していない問題を修正します。
- InfluxDB - ラベルの値フィルターでシングルクォートがエスケープされていない問題を修正します。
-
Config -
defaults.ini
ファイルのremote_cache
のconnectionstring
オプションを修正します。 - Elasticsearch - Explore で、ワイルドカードとして送られなければならない空のクエリー (テンプレート変数経由) を修正し、デフォルトの最大同時シャード要求数を修正し、ログの視覚化をサポートします。
- TablePanel - アノテーション表示を修正します。
-
Grafana-CLI - コマンドライン経由で受け取るフラグを修正します。
RPM/DEB
パッケージ内のgrafana-cli
用のラッパーとconfig/homepath
は、グローバルフラグになりました。 -
HTTPServer -
X-XSS-Protection
ヘッダー形式を修正し、新しいヘッダーX-Content-Type-Options
、X-XSS-Protection
およびStrict-Transport-Security
を返すオプションを選択肢とします。また、Strict-Transport-Security
ヘッダーを修正し、Grafana にカスタムの URL パス接頭辞を提供します。
pcp
がバージョン 5.0.2 にリベースされました。
pcp
パッケージがバージョン pcp-5.0.2 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。
-
pcp-webapp-*
パッケージが、grafana-pcp
パッケージとpmproxy
に置き換えられました。 -
pcp-collectl
ツールがpmrep
設定に置き換えられました。 新規および改善された Performance Metric Domain Agents (PMDA) は、以下のとおりです。
-
pmdamssql
- Microsoft SQL Server 実装用の新しい PMDA。 -
pmdanetcheck
- ネットワークチェックを実行する新しい PMDA。 -
pmdaopenmetrics
-prometheus
エージェントの名前をopenmetrics
に変更します。 -
pmdanfsclient
-per-op
およびper-mount
rpc
エラーメトリックを追加します。 -
pmdalmsensors
- 名前解析とエラー処理を改善します。 -
pmdaperfevent
- マルチノードシステムでhv_24x7
ネストイベントをサポートします。 pmdalinux
:- スパースな、または不規則な NUMA ノードを適切に処理します。
-
per-cpu
NUMA 統計情報に CPU のinstname
を使用し、instid
を使用しません。 -
アクティブなスラブと合計スラブを
slabinfo
v2 解析に追加します。 -
複数の unix ソケット、
icmp6
メトリック、hugepage メトリック値の計算、および、CPU 数が大きい割り込みコードでのsegfault
を修正します。 -
--container
名前空間でさらにネットワークメトリックを取得します。
-
pmdabcc
-bcc
0.10.0 以降のバージョンの tracepoints モジュールを修正します。 -
pmdabpftrace
-bpftrace
スクリプトのメトリックの新しい PMDA。 pmdaproc
--
pidlist
更新でメモリーリークを修正します。 -
cgroups_scan
での過度な統計呼び出しを回避します。 -
cgroup
パス、およびアンエスケープインスタンス名のみを保持します。
-
-
pmdaroot
- キャッシュされた、または非アクティブなcgroup
動作の処理を改善し、また、cgroup
fs 変更のコンテナーindom
も更新します。
-
コレクター (サーバー) ツールの修正は以下のとおりです。
-
pmproxy
-/metrics
エンドポイント経由の Openmetrics サポート、pmseries/grafana
REST API の統合、および新しい asyncPMWEBAPI(3)
REST API 実装を追加します。 -
selinux
- 数多くの pcp ポリシーを更新します。 -
python
pmdas
- 認証サポートを有効化し、新しいset_comm_flags
メソッドによる通信フラグを設定します。 -
python api
-pmdaGetContext()
をエクスポートし、デバッグラッパーを追加します。 -
perl api
- python ラッパーを使用するのと同様に、PMDA ストア用のコンテキスト設定を保証します。 -
systemd
- すべてのサービスに 120 秒のタイムアウトを追加し、pmlogger
サービスの起動の失敗を修正します。
-
分析 (クライアント) ツールの修正は次のとおりです。
-
pmchart
- 取得エラーの状況におけるチャートの自動スケーリングを修正します。 -
pmrep
-collectl-dm-sD
およびcollectl-sD
のwait.formula
を修正します。 -
pmseries
- delta キーワードのサポートとタイムスタンプの改善を提供します。 -
pcp-atop
- 書き込みモード (-w
) を修正して、proc
メトリックとhotproc
メトリックの比較を処理します。 -
pcp-atopsar
- いくつかのコマンドライン引数の誤処理を修正します。 -
pcp-dstat
- CSV 出力のヘッダーの位置ずれと、--bits
コマンドラインオプションの処理を修正します。 -
libpcp
- ローカルコンテキストのあるcockpit-pcp
segv
と、破損アーカイブを処理する複数アーカイブの再生エラーを修正します。
-
RHEL 8.2 で grafana-pcp
が利用できるようになりました。
grafana-pcp
パッケージは、新しい grafana
データソース、ならびに PCP
と grafana
を接続するアプリケーションプラグインを提供します。grafana-pcp
パッケージを使用すると、過去の PCP
メトリックとリアルタイムの PCP
メトリックを、pmseries
クエリー言語と対応する pmwebapi
ライブサービスを使用して分析できます。詳細は、Performance Co-Pilot Grafana Plugin を参照してください。
(BZ#1685315)
GCC Toolset 9 の更新
GCC Toolset 9 は最新バージョンの開発ツールを提供するコンパイラーツールセットです。このツールセットは、AppStream
リポジトリーにおいて、Software Collection の形式で、Application Stream として利用できます。
RHEL 8.2 で導入された主な変更点は、以下のとおりです。
- GCC コンパイラーがバージョン 9.2.1 に更新され、アップストリームの GCC で利用可能なバグ修正および機能拡張が数多く追加されました。
GCC Toolset 9 コンポーネントが、以下のコンテナーイメージ 2 つで利用可能になりました。
-
GCC コンパイラー、GDB デバッガー、
make
自動化ツールを含むrhel8/gcc-toolset-9-toolchain
SystemTap や Valgrind などのパフォーマンス監視ツールを含む
rhel8/gcc-toolset-9-perftools
コンテナーイメージをプルするには、root で以下のコマンドを実行します。
# podman pull registry.redhat.io/<image_name>
-
GCC コンパイラー、GDB デバッガー、
以下のツールおよびバージョンは、GCC Toolset 9 で利用できます。
ツール | バージョン |
---|---|
GCC | 9.2.1 |
GDB | 8.3 |
Valgrind | 3.15.0 |
SystemTap | 4.1 |
Dyninst | 10.1.0 |
binutils | 2.32 |
elfutils | 0.176 |
dwz | 0.12 |
make | 4.2.1 |
strace | 5.1 |
ltrace | 0.7.91 |
annobin | 9.08 |
GCC Toolset 9 をインストールするには、root で以下のコマンドを実行します。
# yum install gcc-toolset-9
GCC Toolset 9 のツールを実行するには、以下のコマンドを実行します。
$ scl enable gcc-toolset-9 tool
GCC Toolset 9 のツールバージョンが、これらのツールのシステムバージョンよりも優先されるシェルセッションを実行するには、以下のコマンドを実行します。
$ scl enable gcc-toolset-9 bash
詳細は、Using GCC Toolset を参照してください。
GCC Toolset 9 が NVIDIA PTX ターゲットオフロードに対応します。
GCC Toolset 9 の GCC コンパイラーが、NVIDIA PTX の OpenMP ターゲットオフロードに対応するようになりました。
(BZ#1698607)
RHEL 8.2 で GCC コンパイラーが更新されました。
システム GCC コンパイラーバージョン 8.3.1 が更新され、アップストリームの GCC で利用可能なバグ修正および機能拡張が数多く追加されました。
GNU コンパイラーコレクション (GCC) には、C、C++、および Fortran のプログラミング言語でアプリケーションを開発するためのツールが含まれます。
使用方法は、RHEL 8 での C および C++ アプリケーションの開発 を参照してください。
(BZ#1747157)
glibc
の最大 Fastbin サイズを変更するためのチューナブル (調整可能) パラメーターが追加されました。
malloc
関数は、一連の fastbin を使用して、再利用可能なメモリーを指定した最大チャンクサイズ分まで格納します。デフォルトの最大チャンクサイズは、32 ビットシステムの場合は 80 バイト、64 ビットシステムの場合は 160 バイトです。今回の機能拡張により、新しい glibc.malloc.mxfast
tunable が glibc
に導入され、最大 fastbin サイズを変更できるようになりました。
ベクトル化された math ライブラリーは、GCC Toolset 9 の GNU Fortran 向けに有効化されています。
今回の機能強化により、GCC Toolset の GNU Fortran は、ベクトル化された math ライブラリー libmvec
のルーチンを使用できるようになりました以前のリリースでは、GCC Toolset の Fortran コンパイラーには、GNU C ライブラリー glibc
が提供する libmvec
からのルーチンを使用する前に、Fortran ヘッダーファイルが必要でした。
glibc.malloc.tcache
調整可能パラメーターが強化されました。
glibc.malloc.tcache_count
調整可能パラメーターは、スレッドごとのキャッシュ (tcache) に格納できる各サイズのメモリーチャンクの最大数を設定できます。今回の更新で、 glibc.malloc.tcache_count
調整可能パラメーターの上限が 127 から 65535 に増えました。
glibc
動的ローダーが強化され、メカニズムをプリロードする非継承ライブラリーが提供されるようになりました。
今回の機能強化により、--preload
オプションにプリロードするライブラリーのコンマ区切りリストを続けることで、ユーザープログラムを呼び出すローダーを呼び出せるようになりました。この機能により、ユーザーは非継承ライブラリーのプリロードリストを使用して、ローダーから直接プログラムを呼び出すことができます。
以前は、環境を介してすべての子プロセスが継承した LD_PRELOAD 環境変数を使用する必要がありました。
GDB は IBM Z アーキテクチャーで ARCH(13) 拡張をサポートするようになりました。
GNU Debugger (GDB) は、今回の機能強化により、IBM Z アーキテクチャーに ARCH (13) 拡張で実装した新しい命令をサポートするようになりました。
elfutils
がバージョン 0.178 にリベースされました。
elftils
パッケージがバージョン 0.178 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。
-
elfclassify
: ELF オブジェクトの分析ツールが追加されました。 -
debuginfod
: HTTP 経由でファイルおよび RPM アーカイブから ELF、DWARF、およびソースをインデックス化して自動的にフェッチする新しいサーバー、クライアントツール、およびライブラリー。 -
libebl
がlibdw.so
に直接コンパイルされるようになりました。 -
eu-readelf
には、注記、セクション番号、シンボルテーブルのフラグが新たに複数追加されました。 -
libdw
のマルチスレッドサポートが改善されました。 -
libdw
の他の GNU DWARF 拡張サポートが追加されました。
SystemTap がバージョン 4.2 にリベースされました。
SystemTap インストラクションツールがバージョン 4.2 に更新されました。主な機能強化は、次のとおりです。
- バックトレースに、ソースのファイル名と行番号を含めることができるようになりました。
- ループ、タイミング、その他のプロセスなど、BPF (Berkeley Packet Filter) バックエンド拡張が多数利用できるようになりました。
- SystemTap スクリプトの管理サービスが新たに利用できるようになりました。このサービスは、メトリックを Prometheus 互換のモニタリングシステムに送信します。
-
SystemTap は、
debuginfod
と呼ばれるelfutils
用の新しい HTTP ファイルサーバーの機能を継承しました。このサーバーは、デバッグリソースを SystemTap に自動的に送信します。
IBM Z シリーズパフォーマンスカウンターが強化されました。
IBM Z シリーズタイプ 0x8561、0x8562、および 0x3907 (z14 ZR1) マシンが libpfm
で認識されるようになりました。IBM Z シリーズで楕円曲線暗号 (ECC) 操作を監視するパフォーマンスイベントが利用できるようになりました。これにより、IBM Z シリーズマシンで追加のサブシステムを監視できるようになりました。
(BZ#1731019)
Rust Toolset がバージョン 1.41 にリベースされました。
Rust Toolset は、バージョン 1.41 に更新されました。以下は、主な変更点です。
- 孤立したルールは厳密性が低くなったので、新規特性の実装が簡素化されました。
-
これで、
#[non_exhaustive]
属性をstruct
、enum
またはenum
バリアントにアタッチできるようになりました。 -
Foreign Function Interface (FFI) で
Box<T>
を使用すると、より多くの保証が提供されます。Box<T>
には、FFI のT*
ポインターと同じ Application Binary Interface (ABI) があります。 - rust はコンパイル時にメモリーの安全性のバグを検出しますが、以前のボローチェッカーには制限がありました。そのため、未定義の動作が許可され、メモリーの危険性が発生していました。新しい NLL (Non-lexical lifetimes) ボローチェッカーは、メモリーの安全性の問題を、ハードエラーとして報告する可能性があります。これは、Rust 2015 および Rust 2018 エディションに適用されるようになりました。以前のリリースでは、Rust 2015 は、NLL ボローチェッカーは、このような問題に関する警告のみを表示していました。
rust-toolset
モジュールストリームをインストールするには、root で以下のコマンドを実行します。
# yum module install rust-toolset
使用方法は、Rust Toolset の使用 を参照してください。
(BZ#1776847)
LLVM Toolset がバージョン 9.0.1 にリベースされました。
LLVM Toolset がバージョン 9.0.1 にアップグレードされました。今回の更新で、asm goto
ステートメントに対応するようになりました。この変更により、AMD64 および Intel 64 アーキテクチャーで Linux カーネルをコンパイルできます。
llvm-toolset
モジュールをインストールするには、root で以下のコマンドを実行します。
# yum module install llvm-toolset
詳細は、LLVM Toolset の使用 を参照してください。
(BZ#1747139)
Go Toolset がバージョン 1.13 にリベースされました。
Go Toolset がバージョン 1.13 にアップグレードされました。主な機能強化は、次のとおりです。
-
RHEL システムが FIPS モードで起動すると、Go が FIPS 認定の暗号化モジュールを使用できるようになりました。
GOLANG_FIPS=1
環境変数を使用してこのモードを手動で有効にできます。 -
Delve デバッガーのバージョン 1.3.2 が Go で利用可能になりました。これは、Go (
golang
) プログラミング言語のソースレベルのデバッガーです。
go-toolset
モジュールをインストールするには、root で以下のコマンドを実行します。
# yum module install go-toolset
Delve デバッガーをインストールするには、root で以下のコマンドを実行します。
# yum install delve
Delve を使用して helloworld.go
プログラムをデバッグするには、以下のコマンドを実行します。
$ dlv debug helloworld.go
Go Toolset の詳細は、Using Go Toolset を参照してください。
Delve の詳細は、アップストリームの Delve documentation を参照してください。
(BZ#1747150)
OpenJDK が secp256k1 もサポートするようになりました。
以前のバージョンでは、Open Java Development Kit (OpenJDK) は NSS ライブラリーの曲線しか使用できませんでした。そのため、OpenJDK は、ECC (elliptic curve cipher) に secp256r1、secp384r1、および secp521r1 の曲線のみを提供していました。今回の更新により、OpenJDK は、内部の ECC 実装を使用し、secp256k1 曲線もサポートします。
5.1.12. ID 管理
IdM が新しい Ansible 管理モジュールに対応するようになりました。
今回の更新で、Ansible Playbook を使用して一般的な Identity Management (IdM) タスクを自動化する複数の ansible-freeipa
モジュールが導入されました。
-
ipauser
モジュールはユーザーの追加と削除を自動化します。 -
ipagroup
モジュールは、ユーザーグループに対するユーザーとユーザーグループの追加や削除を自動化します。 -
ipahost
モジュールはホストの追加と削除を自動化します。 -
ipahostgroup
モジュールは、ホストグループに対するホストとホストグループの追加や削除を自動化します。 -
ipasudorule
モジュールは、sudo
コマンドとsudo
ルールの管理を自動化します。 -
ipapwpolicy
モジュールは、IdM のパスワードポリシーの設定を自動化します。 -
ipahbacrule
モジュールは、IdM のホストベースのアクセス制御管理を自動化します。
2 つ以上の ipauser
呼び出しを users
変数を含む呼び出し 1 つに統合するか、これらのユーザーを含む JSON ファイルを使用できる点に注意してください。同様に 2 つ以上の ipahost
呼び出しを hosts
変数を含む 1 つの呼び出しに統合するか、ホストを含む JSON ファイルを使用します。ipahost
モジュールは、ホストの IPv4 と IPv6 アドレスの有無も確認できます。
(JIRA:RHELPLAN-37713)
IdM Healthcheck
は DNS レコードのスクリーニングに対応するようになりました。
今回の更新で、Identity Management (IdM) サーバーで DNS レコードのスタンドアロンの手動テストが導入されました。
このテストでは Healthcheck
ツールを使用し、etc/resolv.conf
ファイルのローカルリゾルバーで DNS クエリーを実行します。このテストでは、自動検出に必要な DNS レコードが解決可能であることを確認します。
(JIRA:RHELPLAN-37777)
SSSD を使用した RHEL の AD への直接統合が FIPS に対応するようになりました。
今回の機能強化により、SSSD (System Services Security Daemon) で、認証メカニズムが FIPS (Federal Information Processing Standard) で承認された暗号化タイプを使用する Active Directory (AD) デプロイメントと統合できるようになりました。この機能拡張により、FIPS 基準を満たす必要がある環境で、RHEL システムを AD に直接統合できます。
SMB1 プロトコルは、Samba サーバーおよびクライアントユーティリティーでデフォルトで無効になっています。
Server Message Block バージョン 1 (SMB1) プロトコルが非推奨になったため、Samba 4.11 では、server min protocol
および client min protocol
パラメーターのデフォルト値が NT1
から SMB2_02
に変更になりました。/etc/samba/smb.conf
ファイルにこれらのパラメーターを設定していない場合は、以下のとおりです。
- SMB1 のみをサポートするクライアントは、Samba サーバーに接続できなくなりました。
-
smbclient
などの Samba クライアントユーティリティーとlibsmbclient
ライブラリーは、SMB1 のみをサポートするサーバーへの接続に失敗します。
Red Hat は、SMB1 プロトコルの使用を推奨していません。ただし、環境で SMB1 が必要な場合は、手動でプロトコルを再度有効にすることができます。
Samba サーバーで SMB1 を再度有効にするには、以下を実行します。
-
以下の設定を
/etc/samba/smb.conf
ファイルに追加します。
server min protocol = NT1
-
smb
サービスを再起動します。
# systemctl restart smb
Samba クライアントユーティリティーおよび libsmbclient
ライブラリーの SMB1 を再度有効にするには、以下を実行します。
-
以下の設定を
/etc/samba/smb.conf
ファイルに追加します。
client min protocol = NT1
-
smb
サービスを再起動します。
# systemctl restart smb
SMB1 プロトコルは今後の Samba リリースで削除される予定ですので留意してください。
samba がバージョン 4.11.2 にリベースされました。
samba パッケージがアップストリームバージョン 4.11.2 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。以下は、主な変更点です。
-
デフォルトで、Server Message Block バージョン 1 (SMB1) プロトコルが、Samba サーバー、クライアントユーティリティー、および
libsmbclient
ライブラリーで無効になりました。ただし、引き続き、server min protocol
とclient min protocol
パラメーターを手動でNT1
に設定し、再度 SMB1 を有効にすることは可能です。Red Hat は、SMB1 プロトコルを再度有効にすることは推奨していません。 -
lanman auth
およびencrypt passwords
パラメーターは非推奨となっています。これらのパラメーターは、セキュアでない認証を有効とするもので、非推奨の SMB1 プロトコルでしか利用できません。 -
-o
パラメーターが、onode
Clustered Trivial Database (CTDB) ユーティリティーから削除されました。 - Samba は暗号化に GnuTLS ライブラリーを使用するようになりました。これにより、RHEL の FIPS モードが有効な場合には、Samba は FIPS 標準に準拠します。
-
CPU スレッドの 90% を超えて使用される場合に、
ctdbd
サービスがログ記録するようになりました。 - 非推奨の Python 2 サポートが削除されました。
smbd
、nmbd
、または winbind
サービスが起動すると、Samba は tdb
データベースファイルを自動的に更新します。Samba を起動する前にデータベースファイルがバックアップされます。Red Hat は、tdb
データベースファイルのダウングレードをサポートしていないことに留意してください。
主な変更の詳細は、更新前にアップストリームのリリースノート https://www.samba.org/samba/history/samba-4.11.0.html を参照してください。
Directory Server がバージョン 1.4.2.4 にリベースされました。
389-ds-base パッケージがアップストリームバージョン 1.4.2.4 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。主な変更点の一覧については、更新前にアップストリームのリリースノートを参照してください。
389 Directory Server リリースノートアーカイブ には、次のリリースのリリースノートが含まれています。* 389 Directory Server 1.4.2.4 * 389 Directory Server 1.4.2.3 * 389 Directory Server 1.4.2.2 * 389 Directory Server 1.4.2.1
一部のレガシースクリプトが Directory Server で置き換えられました。
今回の機能強化では、Directory Server ではサポートされていないレガシースクリプトの dbverify
、validate-syntax.pl
、cl-dump.pl
、fixup-memberuid.pl
、および repl-monitor.pl
の代替が提供されます。これらのスクリプトは以下のコマンドに置き換えられました。
-
dbverify
:dsctl instance_name dbverify
-
validate-syntax.pl
:dsconf schema validate-syntax
-
cl-dump.pl
:dsconf replication dump-changelog
-
fixup-memberuid.pl
:dsconf plugin posix-winsync fixup
-
repl-monitor.pl
:dsconf replication monitor
すべてのレガシースクリプトとその代替のリストについては、Command-line utilities replaced in Red Hat Directory Server 11 を参照してください。
非表示のレプリカとしての IdM の設定を完全にサポートするようになりました。
RHEL 8.2 の Identity Management (IdM) では、非表示のレプリカとしての IdM サーバーの設定を完全にサポートします。非表示のレプリカは、稼働中および利用できるすべてのサービスが含まれる IdM サーバーです。ただし、DNS のサービスに SRV
レコードが存在せず、LDAP サーバーロールが有効になっていないため、他のクライアントやマスターには通知されません。そのため、クライアントはサービス検出を使用して隠しレプリカを検出することはできません。
隠しレプリカは主にクライアントを中断できる専用のサービス用に設計されています。たとえば、IdM の完全バックアップは、マスターまたはレプリカ上のすべての IdM サービスをシャットダウンする必要があります。非表示のレプリカを使用するクライアントはないため、管理者はクライアントに影響を与えることなく、このホスト上のサービスを一時的にシャットダウンできます。その他のユースケースには、大量インポートや詳細なクエリーなど、IdM API または LDAP サーバーの高負荷操作が含まれます。
隠しレプリカを新たにインストールするには、ipa-replica-install -- hidden-replica
コマンドを使用します。既存のレプリカの状態を変更するには、ipa server-state
コマンドを使用します。
詳細は、IdM 非表示レプリカのインストール を参照してください。
Kerberos チケットポリシーが認証インジケーターをサポートするようになりました。
認証インジケーターは、チケットを取得するために使用される事前認証メカニズムに基づいて Kerberos チケットに割り当てられます。
-
otp
- 2 要素認証 (パスワード + OTP) -
radius
- RADIUS 認証 -
pkinit
- PKINIT、スマートカード、または証明書での認証 -
hardened
- 強化パスワード (SPAKE または FAST)
Kerberos Distribution Center (KDC) は、認証インジケーターに基づくサービスチケット要求で、サービスアクセス制御、チケットの最大有効期間、および更新可能な期間などのポリシーを強制できます。
今回の機能強化により、管理者はユーザーのチケットから特定の認証インジケーターを要求することで、サービスチケットの発行をより詳細に制御できるようになりました。
krb5
パッケージは FIPS に準拠するようになりました。
今回の機能強化により、準拠していない暗号は禁止されるようになりました。これにより、管理者は FIPS が集計する環境で Kerberos を使用できます。
(BZ#1754690)
Directory Server は、システム全体の暗号化ポリシーに基づいて sslVersionMin
パラメーターを設定します。
デフォルトでは、Directory Server は、システム全体の暗号化ポリシーに基づいて sslVersionMin
パラメーターの値を設定するようになりました。/etc/crypto-policies/config
ファイルでポリシープロファイルを以下のように設定します。
-
DEFAULT
、FUTURE
、またはFIPS
、Directory Server はsslVersionMin
をTLS1.2
に設定します。 -
LEGACY
、Directory Server はsslVersionMin
をTLS1.0
に設定します。
ように、sslVersionMin
は、crypto ポリシーで定義されている値よりも高い値に手動で設定できます。
# dsconf -D "cn=Directory Manager" __ldap://server.example.com__ security set --tls-protocol-min TLS1.3
(BZ#1828727)
SSSD がデフォルトで AD GPO を強制するようになりました。
SSSD オプション ad_gpo_access_control
のデフォルト設定が Enforcing
になりました。RHEL 8 では、SSSD は、デフォルトで Active Directory Group Policy Objects (GPO) に基づいてアクセス制御ルールを強制します。
Red Hat は、RHEL 7 から RHEL 8 にアップグレードする前に、Active Directory で GPO が正しく設定されていることを確認することを推奨します。GPO を強制しない場合は、/etc/sssd/sssd.conf
ファイルの ad_gpo_access_control
オプションの値を permissive
に変更します。
(JIRA:RHELPLAN-51289)
5.1.13. デスクトップ
デュアル GPU システムで Wayland が有効になりました。
以前は、GNOME 環境では、ノートパソコンおよびその他の Graphical Processing Unit (GPU) を 2 つ備えたシステムでの X11 セッションがデフォルトとなっていました。今回のリリースで、GNOME は、デュアル GPU システムでの Wayland セッションがデフォルトになりました。これは、シングル GPU システムの場合と同じ動作です。
(BZ#1749960)
5.1.14. グラフィックインフラストラクチャー
新しいグラフィックカードのサポートが追加されました。
以下のグラフィックカードがサポートされるようになりました。
- Intel Comet Lake H および U プロセッサーに含まれる Intel HD Graphics 610、620、および 630
Intel Ice Lake UHD Graphics 910 および Iris Plus Graphics 930、940、950
Intel Ice Lake グラフィックのサポートを有効にするために
alpha_support
カーネルオプションを設定する必要がなくなりました。以下のモデルを含む AMD Navi 10 ファミリー
- Radeon RX 5600
- Radeon RX 5600 XT
- Radeon RX 5700
- Radeon RX 5700 XT
- Radeon Pro W5700
以下のモデルを含む Nvidia Turing TU116 ファミリー
nouveau
グラフィックドライバーでは、まだ Nvidia Turing TU116 ファミリーの 3D アクセラレーションのサポートはありません。- GeForce GTX 1650 Super
- GeForce GTX 1660
- GeForce GTX 1660 Super
- GeForce GTX 1660 Ti
- GeForce GTX 1660 Ti Max-Q
さらに、以下のグラフィックドライバーが更新されました。
-
Matrox
mgag2000
ドライバー -
Aspeed
ast
ドライバー -
Intel
i915
ドライバー
(JIRA:RHELPLAN-41384)
5.1.15. Web コンソール
管理者は、RHEL 8 Web コンソールに対する認証にクライアント証明書を使用できるようになりました。
今回の Web コンソールの機能強化により、システム管理者はクライアント証明書を使用して、証明書認証が組み込まれたブラウザーを使用して RHEL 8 システムにローカルまたはリモートでアクセスできるようになりました。追加のクライアントソフトウェアは必要ありません。これらの証明書は、一般的にスマートカードまたは Yubikey によって提供されるか、ブラウザーにインポートすることができます。
証明書でログインする場合、ユーザーは現在、Web コンソールで管理アクションを実行できません。ただし、パスワードで認証した後は、sudo
コマンドを使用して、Terminal ページで管理アクションを実行することができます。
(JIRA:RHELPLAN-2507)
TLS クライアント証明書を使用して Web コンソールにログインするオプション。
今回の更新で、ブラウザーまたはスマートカードや YubiKey などのデバイスで利用できる TLS クライアント証明書でログインするように Web コンソールを設定できるようになりました。
Web コンソールのログインの変更
RHEL Web コンソールが更新され、以下が変更されました。
-
Web コンソールは、アクティブではなくなってから 15 分後に、現行セッションから自動的にユーザーをログアウトさせます。
/etc/cockpit/cockpit.conf
ファイルで、タイムアウトを分単位で設定できます。 -
SSH と同様に、Web コンソールが、オプションでログイン画面にバナーファイルのコンテンツを表示できるようになりました。
/etc/cockpit/cockpit.conf
ファイルで機能を設定する必要があります。
詳細は、man ページの cockpit.conf (5)
を参照してください。
RHEL Web コンソールが、PatternFly 4 ユーザーインターフェイス設計システムを使用するように再設計されました。
新たな設計は、アクセス性を向上させるものであり、また、OpenShift 4 の設計に一致します。更新には以下が含まれます。
- 概要ページが完全に再設計されました。たとえば、情報はよりわかりやすいパネルにグループ化され、正常性情報はより目立つようになりました。また、リソースグラフは独自のページに移動し、ハードウェア情報ページは簡単に検索できるようになりました。
- ナビゲーションメニューの新しい [Search] フィールドを使用して、キーワードに基づく特定のページを簡単に見つけることができます。
PatternFly の詳細については、PatternFly のプロジェクト のページを参照してください。
Virtual Machines
ページの更新
Web コンソールの Virtual Machines
ページでは、ストレージについて複数の改善がありました。
- ストレージボリュームの作成が、libvirt 対応のすべてのタイプで機能するようになりました。
- ストレージプールは LVM または iSCSI に作成できます。
さらに、Virtual Machines
ページが、仮想ネットワークインターフェイスの作成および削除をサポートするようになりました。
Web コンソールの Storage
ページの更新
ユーザービリティーテストで、RHEL Web コンソールの Storage
ページにおけるデフォルトマウントポイント の概念を把握することが難しく、多くの混乱を招いていたことがわかりました。今回の更新で、ファイルシステムのマウント時に、Web コンソールが デフォルト を提示しなくなりました。新しいファイルシステムを作成する場合、常にマウントポイントの指定が必要になりました。
さらに、Web コンソールでは、設定 (/etc/fstab
) とランタイム状態 (/proc/mounts
) との違いが非表示になりました。Web コンソールで追加された変更は、常に設定およびランタイム状態の両方に適用されます。設定とランタイム状態が相互に異なる場合、Web コンソールは警告を表示し、ユーザーが簡単に同期し直せるようにします。
5.1.16. 仮想化
インストールツリーから RHEL 仮想マシンを作成しようとすると、より有用なエラーメッセージが返されるようになりました。
virt-install
ユーティリティーを使用して作成した RHEL 7 および RHEL 8 仮想マシンで、--location
オプションを指定すると起動できない場合があります。今回の更新で、この問題の回避策を示す virt-install エラーメッセージが追加されました。
(BZ#1677019)
Intel Xeon Platinum 9200 シリーズプロセッサーは KVM ゲストでサポートされるようになりました。
Intel Xeon Platinum 9200 シリーズプロセッサー (以前は Cascade Lake
と呼ばれる) のサポートが KVM ハイパーバイザーおよびカーネルコード、および libvirt API に追加されました。これにより、KVM 仮想マシンが Intel Xeon Platinum 9200 シリーズプロセッサーを使用できるようになります。
(JIRA:RHELPLAN-13995)
EDK2 がバージョン stable201908 にリベースされました。
EDK2 パッケージがバージョン stable201908 にアップグレードされ、複数の機能強化が提供されました。主なものは以下のとおりです。
- EDK2 に OpenSSL-1.1.1 のサポートが含まれるようになりました。
-
アップストリームプロジェクトのライセンス要件に従い、EDK2 パッケージのライセンスが
BSD and OpenSSL and MIT
からBSD-2-Clause-Patent and OpenSSL and MIT
に変更になりました。
入れ子仮想マシンの作成
今回の更新で、RHEL 8 により Intel 64 ホスト上で稼働する KVM 仮想マシン (VM) で、入れ子仮想化が完全にサポートされるようになりました。この機能を使用すると、物理 RHEL 8 ホストで実行中の RHEL 7 または RHEL 8 仮想マシンがハイパーバイザーとして機能し、独自の仮想マシンをホストできます。
AMD64 システムでは、入れ子 KVM 仮想化は引き続きテクノロジープレビューであることに留意してください。
(JIRA:RHELPLAN-14047, JIRA:RHELPLAN-24437)
5.1.17. コンテナー
/etc/containers/registries.conf
のデフォルトのレジストリー検索リストが更新されました。
/etc/containers/registries.conf
の デフォルトの registries.search
リストが更新され、Red Hat およびそのパートナーがキュレート、パッチ修正、保守を行うコンテナーイメージを提供する信頼できるレジストリーだけが追加されています。
Red Hat は、以下を含む完全修飾イメージ名を常に使用することを推奨します。
- レジストリーサーバー (完全 DNS 名)
- 名前空間
- イメージ名
-
タグ (例:
registry.redhat.io/ubi8/ubu:latest
)
略称名を使用する場合には、レジストリーから foobar
という名前のイメージをプルして、myregistry.com
から取得していると想定するなど、なりすましの固有リスクが常に存在します。myregistry.com
が検索リストの最初にない場合には、攻撃者は検索リストの前のほうに別の foobar
イメージを配置することができてしまいます。目的のコンテンツではなく、攻撃者が配置したイメージやコードを間違ってぷるして実行する可能性があります。Red Hat は、不明なユーザーや匿名ユーザーが任意の名前でアカウントを作成できないように、信頼できるレジストリーだけを追加することを推奨します。これにより、イメージがなりすましやスクワッティングに使用されたり、または別の方法でセキュリティーを低下されないようにします。
Podman は oci-systemd-hook
に依存しなくなりました。
Podman は、container-tools:rhel8
および container-tools:2.0
モジュールストリームから削除済みの oci-systemd-hook
パッケージを必要としない、または依存しなくなりました。
(BZ#1645280)