第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 インストールと、自動キックスタートインストールが、この機能をサポートしています。

次の利点があります。

  • 事業運営に影響が及ぶ前に、問題を特定し、優先順位を付け、解決することが容易になります。
  • 予測分析により、プロアクティブにセキュリティー、パフォーマンス、可用性、および安定性に対する脅威を特定して修復します。
  • お使いの環境における問題と予定外のダウンタイムを回避します。

(BZ#1746391)

Image Builder では、Azure イメージを作成するために cloud-init サポートが利用できるようになりました。

今回の機能強化により、Image Builder で作成された Azure イメージで cloud-init サポートが利用できるようになりました。その結果、顧客に対し、迅速なプロビジョニング付きのオンプレミスイメージの作成、およびカスタムデータの追加機能が利用可能になりました。

(BZ#1754711)

新しいキックスタートコマンドの追加:rhsmzipl

このリリースでは、以下のキックスタートコマンドが追加されました。

  • rhsmを使用します。rhsmコマンドを使用して、インストール中にシステムを Red Hat に登録します。詳しくは、「高度なインストールの実行」のrhsmの項をご覧ください。
  • zipl:IBM Zシステムでziplの構成を指定するにはziplコマンドを使用します。詳細については、『Performing an advanced installationguide』のモジュールの項を参照してください。

(BZ#1972214)

5.1.2. ソフトウェア管理

User-Agent ヘッダー文字列に /etc/os-release ファイルから読み込んだ情報を含むようになりました。

今回の機能強化により、通常は DNF が作成する HTTP リクエストに含まれる User-Agent ヘッダー文字列が、/etc/os-release ファイルから読み込む情報に拡張されました。

詳細は、man ページの dnf.conf (5)user_agent を参照してください。

(BZ#1676891)

すべての dnf-automatic.timer タイマーユニットが、デフォルトでリアルタイムクロックを使用するようになりました。

従前は、dnf-automatic.timer タイマーユニットはモノトニッククロックを使用していました。これにより、システムの起動後の予期せぬアクティベーションが生じていました。今回の更新で、タイマーユニットが午前 6 時から午前 7 時の間に実行されるようになりました。この時間帯にシステムがオフになっている場合、タイマーユニットはシステムの起動後 1 時間以内にアクティベートされます。

(BZ#1754609)

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)

(BZ#1743186)

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 組み込み関数の改善機能など、さまざまなパフォーマンスが改善されました。

(BZ#1694647)

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

graphviz-python3 が CRB リポジトリーで配布されるようになりました。

今回の更新で、graphviz-python3 パッケージが RHEL 8 に追加されました。このパッケージは、Python から Graphviz グラフ描画ソフトウェアを使用するのに必要なバインディングを提供します。

graphviz-python3 パッケージは、サポート対象外の CodeReady Linux Builder リポジトリー (CRB) で配布されている点に留意してください。

(BZ#1704875)

tuned がバージョン 2.13.0 にリベースされました。

tuned パッケージがアップストリームバージョン 2.13.0 にアップグレードされました。主な機能強化は、次のとおりです。

  • アーキテクチャーに依存したチューニングフレームワークが追加されました。
  • 複数の include ディレクティブのサポートが追加されました。
  • sap-hanalatency-performance、および realtime プロファイルのチューニングが更新されました。

(BZ#1738250)

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)

(BZ#1664863)

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 オプションを使用して切り替えることができます。

(BZ#1704328)

5.1.5. セキュリティー

RHEL 8 に DISA STIG プロファイルが追加されました。

セキュリティー技術実装ガイド (Security Technical Implementation Guide (STIG)) は、DISA (Defense Information Systems Agency) が発行する一連のベースライン推奨事項で、この推奨事項なしでは脆弱となる可能性のある情報システムおよびソフトウェアのセキュリティーを強化します。今回のリリースには、このセキュリティーポリシーのプロファイルおよびキックスタートファイルが含まれます。今回の機能強化により、Red Hat Enterprise Linux 8 のシステムにおけるコンプライアンスの確認、システムの修正、および DISA STIG に準拠するシステムのインストールが可能になります。

(BZ#1755447)

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 スイートを利用することができます。

(BZ#1755194)

コンテナーのセキュリティースキャンおよびコンプライアンススキャンを行う oscap-podman が利用できるようになりました。

この openscap パッケージの更新により、コンテナーのセキュリティースキャンおよびコンプライアンススキャン用に新しいユーティリティーが導入されました。oscap-podman ツールが、RHEL 7 におけるコンテナーおよびコンテナーイメージのスキャンを提供する oscap-docker ユーティリティーと同等のものを提供します。

(BZ#1642373)

setroubleshootexecmem アクセス拒否を分析して、これに反応できるようになりました。

今回の更新で、新しい 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 ポリシー情報のフローを分析できます。

(BZ#1731519)

SELinux の制限のあるユーザーが、ユーザーセッションサービスを管理できるようになりました。

以前は、制限のあるユーザーはユーザーセッションサービスを管理できませんでした。その結果、systemctl --user コマンドまたは busctl --user コマンドを実行することや、RHEL Web コンソールで作業することができませんでした。今回の更新で、制限のあるユーザーがユーザーセッションを管理できるようになりました。

(BZ#1727887)

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 を正常に使用できるようになりました。

(BZ#1726166)

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 ファイルからルールを追加できます。

(BZ#1732704)

新しい SELinux タイプが追加され、サービスが制限のある状態で実行できるようになりました。

今回の更新では、新しい SELinux タイプが導入され、unconfined_service_t ドメインで実行するのではなく、以下のサービスが SELinux Enforcing モードで制限のあるサービスとして実行できるようなりました。

  • lldpdlldpad_tとして実行されるようになりました。
  • rrdcached が rrdcached _tとして実行されるようになりました。
  • stratisdstratisd_tとして実行されるようになりました。
  • timedatextimedatex_tとして実行されるようになりました。

(BZ#1726246, BZ#1726255, BZ#1726259, BZ#1730204)

Clevis で、所定の LUKS デバイス用のポリシーを一覧表示できます。

今回の更新で、clevis luks list コマンドが、所定の LUKS デバイス用の PBD ポリシーを一覧表示するようになりました。これにより、使用中の Clevis ピンやピン設定 (Tang サーバーアドレス、tpm2 ポリシーの詳細、SSS しきい値など) に関する情報を簡単に見つけることができます。

(BZ#1766526)

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 を更新できます。

詳細は「ポリシーベースの複号を使用して暗号化ボリュームの自動アンロックの設定」を参照してください。

(BZ#1784524)

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 ファイルを参照してください。

(BZ#1676559)

rsyslogomelasticsearchrebindinterval に対応するようになりました。

rsyslog パッケージの今回の更新で、omelasticsearch モジュールにおける定期的な再接続の時間の設定がサポートされるようになりました。このパラメーターをシナリオに応じて設定すると、Elasticsearch ノードのクラスターにレコードを送信する場合のパフォーマンスを向上させることができます。rebindinterval パラメーターの値は、rsyslog が接続を閉じてから新しい接続を確立するまでにノードに送信された操作の数を示します。デフォルト値の -1 は、rsyslog が接続を再確立していないことを意味します。

(BZ#1692073)

rsyslog mmkubernetes がメタデータキャッシュの有効期限を提供するようになりました。

rsyslog パッケージの今回の更新で、メタデータキャッシュの有効期限を設定するために、mmkubernetes モジュールの 2 つのパラメーターを新しく使用できるようになりました。これにより、削除された Kubernetes オブジェクトは、mmkubernetes 静的キャッシュから確実に削除されます。cacheentryttl パラメーターの値は、キャッシュエントリーの最大期間 (秒単位) を示します。cacheexpireinterval パラメーターの値は、次のとおりです。

  • キャッシュ有効期限チェックを無効にする場合は -1
  • キャッシュ有効期限チェックを有効にする場合は 0
  • 定期的なキャッシュ有効期限チェック (秒単位) の場合は、0 よりも大きい数

(BZ#1692072)

audit がバージョン 3.0-0.14 にリベースされました。

audit パッケージがアップストリームバージョン 3.0-0.14 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。主要な変更点は次のとおりです。

  • syslog プラグインのフィールドを解釈するオプションが追加されました。
  • 30-ospp-v42.rules ファイルが、さらに細分されました。
  • サンプルルールが /usr/share/audit/sample-rules/ ディレクトリーに移動しました。
  • リモートロギング用の Audit KRB5 トランスポートモードが修正されました。

(BZ#1757986)

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

(BZ#1759895)

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 オプションを使用して、ターゲットユーザーグループに一致するグループを指定できるようになりました。以前は、グループがターゲットユーザーのプライマリーグループと一致する場合にのみ、これを実行できました。
  • sudosssd.confipa_hostname の値にホスト名を一致させることを妨げていたバグを修正しました。
  • Runas 仕様が ALL キーワードでの root アクセスを認めていない場合に sudo ユーザーが root としてコマンドを実行できるという脆弱性が修正されました (CVE-2019-14287)。
  • ALL キーワードを使用するなど、許容 sudoers エントリーに対する不明なユーザーおよびグループ ID の使用が無効になりました。 runas_allow_unknown_idの設定で有効にすることができます(CVE-2019-19232)。

(BZ#1733961)

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 設定を処理することが簡単にできるようになります。

(BZ#1537242)

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 以降のすべてのバグ修正が含まれます。
  • firewalldnftables サブシステムへの libnftables JSON インターフェースを使用するようになりました。これにより、ルールアプリケーションのパフォーマンスおよび信頼性が向上します。
  • サービス定義では、新しい helper 要素が module を置き換えます。
  • このバージョンでは、カスタムヘルパーが標準のヘルパーモジュールを使用できます。

(BZ#1740670)

ndptool が IPv6 ヘッダーで宛先アドレスを指定できるようになりました。

今回の更新で、ndptool ユーティリティーが、IPv6 ヘッダーでアドレスを指定することで、特定の宛先に Neighbor Solicitation (NS) または Neighbor Advertisement (NA) メッセージを送信できるようになりました。その結果、メッセージをリンクローカルアドレス以外のアドレスに送信できます。

(BZ#1697595)

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 ルールを作成することができます。

(BZ#1733066)

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 で完全に対応になりました。

(BZ#1755347)

5.1.7. カーネル

RHEL 8.2 のカーネルバージョン

Red Hat Enterprise Linux 8.2 には、カーネルバージョン 4.18.0-193 が同梱されています。

外部カーネルパラメーターの重要な変更」および「デバイスドライバー」も参照してください。

(BZ#1797671)

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) 機能

テクノロジープレビューのコンポーネントに関する詳細情報は、テクノロジープレビューを参照してください。

(BZ#1780124)

Intel® Omni-Path Architecture (OPA) ホストソフトウェア

Intel Omni-Path Architecture (OPA) ホストソフトウェアは、Red Hat Enterprise Linux 8.2 で完全にサポートされています。Intel OPA は、クラスター環境のコンピュートと I/O ノード間の高性能データ転送 (高帯域幅、高メッセージレート、低レイテンシー) のために、初期化とセットアップを行う Host Fabric Interface (HFI) ハードウェアを提供します。

Intel Omni-Path Architecture のインストール方法は、https://cdrdv2.intel.com/v1/dl/getContent/616368 を参照してください。

(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 ページで、メモリー使用量の情報はシステム上の常駐ページしか反映しないということが明示的に説明されています。これは、メモリー使用量の情報が常駐ページに関連するのか仮想メモリーに関連するのかについて、ユーザーが混乱する可能性をなくすために追加されました。

(BZ#1730738)

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 ファームウェアバージョン以降でサポートされます。システム障害の発生時には、fadumpvmcore ファイルとともに、 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 を実行できるようになりました。

(BZ#1692435)

RHEL 8.2以降のPOWER 9でVirtual Persistent Memoryがサポートされるようになりました。

IBM POWER9 ハードウェア上で PowerVM ハイパーバイザーを搭載した RHEL 8.2 以降のホストを実行する場合、仮想永続的メモリ(vPMEM)機能を使用できるようになりました。vPMEMでは、アプリケーションやパーティションの再起動に関わらず、物理サーバーの電源が切れるまでデータが保持されます。その結果、vPMEMを使用するワークロードの再起動が大幅に速くなりました。

お使いのシステムでvPMEMを使用するためには、以下の要件を満たす必要があります。

  • ハードウェア・マネジメント・コンソール(HMC)V9R1 M940以降
  • ファームウェアレベル FW940以降
  • E980システムファームウェアFW940以降
  • L922システムファームウェアFW940以降
  • PowerVMレベルV3.1.1

RHEL 8のvPMEMでは、現在いくつかの既知の問題が発生していることに注意してください。詳しくは以下のKnowledgebase記事をご覧ください。

(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) を変更できます。

(BZ#1713749)

mountstats および nfsiostat の出力で、新しい per-op エラーカウンターが利用できるようになりました。

NFS クライアントシステムでは、マイナーなサポート機能を利用できます。 nfs-utilsmountstats および nfsiostat コマンドの出力に、per-op のエラー数が追加されました。今回の機能拡張により、これらのツールで、per-op のエラー数と割合を表示できるようになり、NFS クライアントマシンの特定の NFS マウントポイントの問題を絞り込むのに役立てることができます。この新しい統計は、Red Hat Enterprise Linux 8.2 カーネルでのカーネルの変更内容に依存することに注意してください。

(BZ#1719983)

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-utilsmountstats および nfsiostat プログラムの更新を参照してください。

(BZ#1636572)

新しい mount stats の lease_time および lease_expired/proc/self/mountstats ファイルにあります。

NFSv4.x クライアントシステムのサポート機能を使用できるようになりました。/proc/self/mountstats ファイルには、nfsv4: で始まる行の最後に lease_timelease_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 のエイリアスとして導入されました。

(BZ#1631519)

リソース間の関係を表示する新しいコマンド。

新しい pcs resource relations コマンドにより、ツリー構造内のクラスターリソース間の関係を表示することができます。

(BZ#1631514)

プライマリーサイトおよび復旧サイトクラスターの両方のステータスを表示する新しいコマンド。

クラスターをリカバリーサイトとして使用するように設定している場合は、pcs dr コマンドを使用して、そのクラスターをリカバリーサイトクラスターとして設定できるようになりました。そうすることで、pcs dr コマンドを使用して、プライマリーサイトクラスターとリカバリーサイトクラスターの両方のステータスを単一のノードから表示することができます。

(BZ#1676431)

制約を一覧表示する際に、期限切れのリソース制約はデフォルトで非表示になりました。

リソース制約を一覧表示する場合に、デフォルトで期限切れの制約が表示されなくなりました。期限切れの制約を含めるには、pcs constraint コマンドの --all オプションを使用します。これにより、期限切れの制約の一覧が表示され、制約とそれに関連するルールが (expired) として表示されます。

(BZ#1442116)

Pacemaker が、ノードの正常なシャットダウン時にリソースが停止したままになる設定に対応しました。

クラスターノードがシャットダウンした場合、Pacemaker のデフォルトの応答は、そのノードで実行中のすべてのリソースを停止し、別の場所でリソースを復元します。一部のユーザーは、不具合に対してのみ高可用性を確保し、クリーンなシャットダウンを予定された停止として扱うことを好みます。これに対応するため、Pacemaker は shutdown-lock および shutdown-lock-limit クラスタープロパティーをサポートするようになりました。これは、シャットダウン時にノードでアクティブであったリソースは、ノードが次に再参加するまで停止したままにすることを必須と指定するものです。ユーザーは、人的介入なしに、クリーンシャットダウンを予定されていた停止として使用できるようになりました。ノードの正常なシャットダウン時にリソースを停止したままにする設定の情報は、「ノードの正常なシャットダウン時に停止したままになるようにリソースを設定」を参照してください。

(BZ#1712584)

単一ノードでのクラスター環境の実行サポート

1 つのメンバーのみを持つクラスターは、クラスター環境でリソースを起動し、実行できるようになりました。これにより、ユーザーはバックアップに単一のノードを使用する複数ノードクラスターに別の障害復旧サイトを設定できます。1 つのノードで構成されるクラスターは、それ自体にフォールトトレランスがないことに注意してください。

(BZ#1700104)

5.1.10. 動的プログラミング言語、Web サーバー、およびデータベースサーバー

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

RHEL 8.2 では Python 3.8 が導入されました。これは新しいモジュール python38 および ubi8/python-38 コンテナーイメージで提供されます。

Python 3.6 と比較しての主な機能強化は、以下のとおりです。

  • 新しい Python モジュール (contextvarsdataclasses、または importlib.resources など)
  • ウォルラス演算子 (:= ) とも呼ばれる代入式、位置のみのパラメーターなどの新しい言語機能
  • breakpoint() 組み込み関数、= 形式の文字列書式指定、Python および拡張モジュールのデバッグビルドと非デバッグビルド間の互換性による、開発者エクスペリエンスの向上
  • パフォーマンスの向上
  • オプションの静的タイプヒントのサポートの改善
  • 簡単にデバッグできるようにフォーマットされた文字列リテラルへの = 指定子の追加 (f-strings)
  • パッケージ (piprequestsCython) のバージョンの更新

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_wsgipython38-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にはperl-Convert-ASN1パッケージが必要です。perl-Convert-ASN1パッケージは、Basic Encoding Rules (BER)とDistinguished Encoding Rules (DER)を使用して、Abstract Syntax Notation One (ASN.1)データ構造をエンコードおよびデコードします。

(BZ#1663063, BZ#1746898)

sscg がパスワードで保護された秘密鍵ファイルの生成をサポートするようになりました。

sscg ユーティリティーが、パスワードで保護された秘密鍵ファイルを生成できるようになりました。これにより、秘密鍵の保護レベルがさらに追加されます。これは、FreeRADIUS などの一部のサービスで必要です。

(BZ#1717880)

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

grafana がバージョン 6.3.6 にリベースされました。

grafana パッケージがバージョン 6.3.6 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • Database - パフォーマンスを向上させるために、システム統計クエリーを再書き込みします。
  • Explore:

    • Safari ブラウザーの分割表示でのクエリーフィールドレイアウトを修正します。
    • サポートされているデータソースの Live オプションを追加し、目的を共有するため orgId を URL に追加します。
    • ラベルエンドポイントの新しい lokistart、および 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_cacheconnectionstring オプションを修正します。
  • Elasticsearch - Explore で、ワイルドカードとして送られなければならない空のクエリー (テンプレート変数経由) を修正し、デフォルトの最大同時シャード要求数を修正し、ログの視覚化をサポートします。
  • TablePanel - アノテーション表示を修正します。
  • Grafana-CLI - コマンドライン経由で受け取るフラグを修正します。RPM/DEB パッケージ内の grafana-cli 用のラッパーと config/homepath は、グローバルフラグになりました。
  • HTTPServer - X-XSS-Protection ヘッダー形式を修正し、新しいヘッダー X-Content-Type-OptionsX-XSS-Protection および Strict-Transport-Security を返すオプションを選択肢とします。また、Strict-Transport-Security ヘッダーを修正し、Grafana にカスタムの URL パス接頭辞を提供します。

(BZ#1725278)

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 の統合、および新しい async PMWEBAPI(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-sDwait.formula を修正します。
    • pmseries - delta キーワードのサポートとタイムスタンプの改善を提供します。
    • pcp-atop - 書き込みモード (-w) を修正して、proc メトリクスと hotproc メトリクスの比較を処理します。
    • pcp-atopsar - いくつかのコマンドライン引数の誤処理を修正します。
    • pcp-dstat - CSV 出力のヘッダーの位置ずれと、--bitsコマンドラインオプションの処理を修正します。
    • libpcp - ローカルコンテキストのある cockpit-pcp segv と、破損アーカイブを処理する複数アーカイブの再生エラーを修正します。

(BZ#1723598)

RHEL 8.2 で grafana-pcp が利用できるようになりました。

grafana-pcp パッケージは、新しい grafana データソース、ならびに PCPgrafana を接続するアプリケーションプラグインを提供します。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 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

詳細は「GCC Toolset の使用」 を参照してください。

(BZ#1789401)

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 サイズを変更できるようになりました。

(BZ#1764218)

ベクトル化された math ライブラリーは、GCC Toolset 9 の GNU Fortran 向けに有効化されています。

今回の機能強化により、GCC Toolset の GNU Fortran は、ベクトル化された math ライブラリー libmvec のルーチンを使用できるようになりました以前のリリースでは、GCC Toolset の Fortran コンパイラーには、GNU C ライブラリー glibcが提供する libmvec からのルーチンを使用する前に、Fortran ヘッダーファイルが必要でした。

(BZ#1764238)

glibc.malloc.tcache 調整可能パラメーターが強化されました。

glibc.malloc.tcache_count 調整可能パラメーターは、スレッドごとのキャッシュ (tcache) に格納できる各サイズのメモリーチャンクの最大数を設定できます。今回の更新で、 glibc.malloc.tcache_count 調整可能パラメーターの上限が 127 から 65535 に増えました。

(BZ#1746933)

glibc 動的ローダーが強化され、メカニズムをプリロードする非継承ライブラリーが提供されるようになりました。

今回の機能強化により、--preload オプションにプリロードするライブラリーのコンマ区切りリストを続けることで、ユーザープログラムを呼び出すローダーを呼び出せるようになりました。この機能により、ユーザーは非継承ライブラリーのプリロードリストを使用して、ローダーから直接プログラムを呼び出すことができます。

以前は、環境を介してすべての子プロセスが継承した LD_PRELOAD 環境変数を使用する必要がありました。

(BZ#1747453)

GDB は IBM Z アーキテクチャーで ARCH(13) 拡張をサポートするようになりました。

GNU Debugger (GDB) は、今回の機能強化により、IBM Z アーキテクチャーに ARCH (13) 拡張で実装した新しい命令をサポートするようになりました。

(BZ#1768593)

elfutils がバージョン 0.178 にリベースされました。

elftils パッケージがバージョン 0.178 にアップグレードされ、バグ修正および機能強化が複数追加されました。以下は、主な変更点です。

  • elfclassify: ELF オブジェクトの分析ツールが追加されました。
  • debuginfod: HTTP 経由でファイルおよび RPM アーカイブから ELF、DWARF、およびソースをインデックス化して自動的にフェッチする新しいサーバー、クライアントツール、およびライブラリー。
  • libebllibdw.so に直接コンパイルされるようになりました。
  • eu-readelf には、注記、セクション番号、シンボルテーブルのフラグが新たに複数追加されました。
  • libdw のマルチスレッドサポートが改善されました。
  • libdw の他の GNU DWARF 拡張サポートが追加されました。

(BZ#1744992)

SystemTap がバージョン 4.2 にリベースされました。

SystemTap インストラクションツールがバージョン 4.2 に更新されました。主な機能強化は、次のとおりです。

  • バックトレースに、ソースのファイル名と行番号を含めることができるようになりました。
  • ループ、タイミング、その他のプロセスなど、BPF (Berkeley Packet Filter) バックエンド拡張が多数利用できるようになりました。
  • SystemTap スクリプトの管理サービスが新たに利用できるようになりました。このサービスは、メトリクスを Prometheus 互換のモニタリングシステムに送信します。
  • SystemTap は、debuginfod と呼ばれる elfutils 用の新しい HTTP ファイルサーバーの機能を継承しました。このサーバーは、デバッグリソースを SystemTap に自動的に送信します。

(BZ#1744989)

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] 属性を structenum または 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 曲線もサポートします。

(BZ#1746875, BZ#1746879)

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 に直接統合できます。

(BZ#1841170)

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 リリースで削除される予定ですので留意してください。

(BZ#1785248)

samba がバージョン 4.11.2 にリベースされました。

samba パッケージがアップストリームバージョン 4.11.2 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。以下は、主な変更点です。

  • デフォルトで、Server Message Block バージョン 1 (SMB1) プロトコルが、Samba サーバー、クライアントユーティリティー、および libsmbclient ライブラリーで無効になりました。ただし、引き続き、server min protocolclient 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 サポートが削除されました。

smbdnmbd、または winbind サービスが起動すると、Samba は tdb データベースファイルを自動的に更新します。Samba を起動する前にデータベースファイルがバックアップされます。Red Hat は、tdb データベースファイルのダウングレードをサポートしていないことに留意してください。

主な変更の詳細は、更新前にアップストリームのリリースノート https://www.samba.org/samba/history/samba-4.11.0.html を参照してください。

(BZ#1754409)

Directory Server がバージョン 1.4.2.4 にリベースされました。

389-ds-base パッケージがアップストリームバージョン 1.4.2.4 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。主な変更点の一覧は、更新前にアップストリームのリリースノートを参照してください。

(BZ#1748994)

一部のレガシースクリプトが Directory Server で置き換えられました。

今回の機能強化では、Directory Server ではサポートされていないレガシースクリプトの dbverifyvalidate-syntax.plcl-dump.plfixup-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」を参照してください。

(BZ#1739718)

非表示のレプリカとしての 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 非表示レプリカのインストール」を参照してください。

(BZ#1719767)

Kerberos チケットポリシーが認証インジケーターをサポートするようになりました。

認証インジケーターは、チケットを取得するために使用される事前認証メカニズムに基づいて Kerberos チケットに割り当てられます。

  • otp - 2 要素認証 (パスワード + OTP)
  • radius - RADIUS 認証
  • pkinit - PKINIT、スマートカード、または証明書での認証
  • hardened - 強化パスワード (SPAKE または FAST)

Kerberos Distribution Center (KDC) は、認証インジケーターに基づくサービスチケット要求で、サービスアクセス制御、チケットの最大有効期間、および更新可能な期間などのポリシーを強制できます。

今回の機能強化により、管理者はユーザーのチケットから特定の認証インジケーターを要求することで、サービスチケットの発行をより詳細に制御できるようになりました。

(BZ#1777564)

krb5 パッケージは FIPS に準拠するようになりました。

今回の機能強化により、準拠していない暗号は禁止されるようになりました。これにより、管理者は FIPS が集計する環境で Kerberos を使用できます。

(BZ#1754690)

Directory Server は、システム全体の暗号化ポリシーに基づいて sslVersionMin パラメーターを設定します。

デフォルトでは、Directory Server は、システム全体の暗号化ポリシーに基づいて sslVersionMin パラメーターの値を設定するようになりました。/etc/crypto-policies/config ファイルでポリシープロファイルを以下のように設定します。

  • DEFAULTFUTURE、または FIPS、Directory Server は sslVersionMinTLS1.2 に設定します。
  • LEGACY、Directory Server は sslVersionMinTLS1.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 コンソールを設定できるようになりました。

(BZ#1678465)

Web コンソールのログインの変更

RHEL Web コンソールが更新され、以下が変更されました。

  • Web コンソールは、アクティブではなくなってから 15 分後に、現行セッションから自動的にユーザーをログアウトさせます。/etc/cockpit/cockpit.conf ファイルで、タイムアウトを分単位で設定できます。
  • SSH と同様に、Web コンソールが、オプションでログイン画面にバナーファイルのコンテンツを表示できるようになりました。/etc/cockpit/cockpit.conf ファイルで機能を設定する必要があります。

詳細は、man ページの cockpit.conf (5) を参照してください。

(BZ#1754163)

RHEL Web コンソールが、PatternFly 4 ユーザーインターフェース設計システムを使用するように再設計されました。

新たな設計は、アクセス性を向上させるものであり、また、OpenShift 4 の設計に一致します。更新には以下が含まれます。

  • 概要ページが完全に再設計されました。たとえば、情報はよりわかりやすいパネルにグループ化され、正常性情報はより目立つようになりました。また、リソースグラフは独自のページに移動し、ハードウェア情報ページは簡単に検索できるようになりました。
  • ナビゲーションメニューの新しい [Search] フィールドを使用して、キーワードに基づく特定のページを簡単に見つけることができます。

PatternFly の詳細については、PatternFly のプロジェクトのページを参照してください。

(BZ#1784455)

Virtual Machines ページの更新

Web コンソールの Virtual Machines ページでは、ストレージについて複数の改善がありました。

  • ストレージボリュームの作成が、libvirt 対応のすべてのタイプで機能するようになりました。
  • ストレージプールは LVM または iSCSI に作成できます。

さらに、Virtual Machines ページが、仮想ネットワークインターフェースの作成および削除をサポートするようになりました。

(BZ#1676506, BZ#1672753)

Web コンソールの Storage ページの更新

ユーザビリティーテストで、RHEL Web コンソールの Storage ページにおけるデフォルトマウントポイント の概念を把握することが難しく、多くの混乱を招いていたことがわかりました。今回の更新で、ファイルシステムのマウント時に、Web コンソールが デフォルト を提示しなくなりました。新しいファイルシステムを作成する場合、常にマウントポイントの指定が必要になりました。

さらに、Web コンソールでは、設定 (/etc/fstab) とランタイム状態 (/proc/mounts) との違いが非表示になりました。Web コンソールで追加された変更は、常に設定およびランタイム状態の両方に適用されます。設定とランタイム状態が相互に異なる場合、Web コンソールは警告を表示し、ユーザーが簡単に同期し直せるようにします。

(BZ#1784456)

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 に変更になりました。

(BZ#1748180)

入れ子仮想マシンの作成

今回の更新で、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 は、不明なユーザーや匿名ユーザーが任意の名前でアカウントを作成できないように、信頼できるレジストリーだけを追加することを推奨します。これにより、イメージがなりすましやスクワッティングに使用されたり、または別の方法でセキュリティーを低下されないようにします。

(BZ#1810053)

Podman は oci-systemd-hook に依存しなくなりました。

Podman は、container-tools:rhel8 および container-tools:2.0 モジュールストリームから削除済みの oci-systemd-hook パッケージを必要としない、または依存しなくなりました。

(BZ#1645280)