RHEL 8 の導入における検討事項
Red Hat Enterprise Linux 7 と Red Hat Enterprise Linux 8 における主な相違点
概要
Red Hat ドキュメントへのフィードバック (英語のみ)
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 はじめに
本ガイドは、Red Hat Enterprise Linux のメジャーバージョンである RHEL 7 と RHEL 8 の相違点の概要を説明します。ここでは、RHEL 8 へのアップグレードの評価に関連するものが紹介されており、すべての変更が記載されているわけではありません。
他のバージョンと比較した RHEL 8 の機能および制限は、Red Hat ナレッジベースの記事 Red Hat Enterprise Linux テクノロジーの機能と制限 を参照してください。
RHEL のライフサイクルに関する情報は Red Hat Enterprise Linux のライフサイクル を参照してください。
RHEL 8 パッケージのリストは パッケージマニフェスト を参照してください。
RHEL 8 の詳細な使用方法は、RHEL 8 製品ドキュメント を参照してください。
RHEL 7 から RHEL 8 へのインプレースアップグレードの方法は RHEL 7 から RHEL 8 へのアップグレード を参照してください。
RHEL 6 から RHEL 7 への主な変更点は RHEL 7 移行計画ガイド を参照してください。
第2章 アーキテクチャー
Red Hat Enterprise Linux 8 ではカーネルバージョン 4.18 が使用されており、以下のアーキテクチャーに対応します。
- AMD および Intel 64 ビットのアーキテクチャー
- 64 ビット ARM アーキテクチャー
- IBM Power Systems (リトルエンディアン)
- 64 ビット IBM Z
各アーキテクチャーに適切なサブスクリプションを購入してください。利用可能なサブスクリプションのリストは、カスタマーポータルの サブスクリプションの使用状況 を参照してください。
RHEL 8 では、標準の kernel
パッケージですべてのアーキテクチャーに対応しています。kernel-alt
パッケージは必要ありません。
第3章 リポジトリー
Red Hat Enterprise Linux 8 は、2 つのメインリポジトリーで配布されています。
- BaseOS
- AppStream
基本的な RHEL インストールにはどちらのリポジトリーも必要で、すべての RHEL サブスクリプションで利用できます。
BaseOS リポジトリーのコンテンツは、すべてのインストールのベースとなる、基本的な OS 機能のコアセットを提供します。このコンテンツは RPM 形式で提供されており、RHEL の以前のリリースと同様のサポート条件が適用されます。BaseOS から配布されるパッケージのリストは パッケージマニフェスト を参照してください。
アプリケーションストリーム (AppStream) リポジトリーのコンテンツには、さまざまなワークロードとユースケースに対応するために、ユーザー空間アプリケーション、ランタイム言語、およびデータベースが含まれています。Application Streams は、モジュール と呼ばれる RPM 形式への拡張、または Software Collections として通常の RPM 形式で利用できます。AppStream で利用可能なパッケージのリストは、パッケージマニフェスト を参照してください。
また、CodeReady Linux Builder リポジトリーは、すべての RHEL サブスクリプションで利用できます。このリポジトリーは、開発者向けの追加パッケージを提供します。CodeReady Linux Builder リポジトリーに含まれるパッケージには対応しません。
RHEL 8 リポジトリーの詳細は パッケージマニフェスト を参照してください。
第4章 アプリケーションストリーム
Red Hat Enterprise Linux 8 では、アプリケーションストリームの概念が導入されました。ユーザー空間コンポーネントのバージョンが複数配信され、オペレーティングシステムのコアパッケージよりも頻繁に更新されるようになりました。これによりプラットフォームや特定のデプロイメントの基本的な安定性に影響を及ぼすことなく、Red Hat Enterprise Linux をカスタマイズする柔軟性が向上します。
アプリケーションストリームとして使用できるコンポーネントは、モジュールまたは RPM パッケージとしてパッケージ化され、RHEL 8 の AppStream リポジトリーを介して配信されます。各 Application Stream コンポーネントには、RHEL 8 と同じか、より短いライフサイクルが指定されています。詳細は Red Hat Enterprise Linux のライフサイクル を参照してください。
モジュールは、論理ユニット (アプリケーション、言語スタック、データベース、またはツールセット) を表すパッケージの集まりです。これらのパッケージはまとめてビルドされ、テストされ、そしてリリースされます。
モジュールストリームは、アプリケーションストリームコンポーネントのバージョンを表します。たとえば、postgresql:10
のデフォルトのストリーム以外に、postgresql
モジュールでは、PostgreSQL データベースサーバーの複数のストリーム (バージョン) を利用できます。システムにインストールできるモジュールストリームは 1 つだけです。複数のコンテナーで異なるバージョンを使用できます。
詳細なモジュールコマンドは ユーザー空間コンポーネントのインストール、管理、および削除 を参照してください。AppStream で利用可能なモジュールのリストは、Package manifest を参照してください。
第5章 インストーラーおよびイメージの作成
5.1. アドオン
5.1.1. OSCAP
Open Security Content Automation Protocol (OSCAP) アドオンは、RHEL 8 ではデフォルトで有効になっています。
5.1.2. Kdump
Kdump アドオンは、インストール時にカーネルクラッシュダンプの設定に対応します。このアドオンには、Kickstart (%addon com_redhat_kdump
コマンドおよびそのオプション) のフルサポートがあり、グラフィカルおよびテキストベースのユーザーインターフェイスの追加ウィンドウとして完全に統合されます。
5.2. インストーラーネットワーキング
Red Hat Enterprise Linux 8 では、ユーザー定義の接頭辞に基づいてネットワークインターフェイス名を生成する新しいネットワークデバイスの命名スキームが利用できます。net.ifnames.prefix
起動オプションを使用すると、インストールプログラムおよびインストール済みシステムでデバイスの命名スキームが使用できます。
関連情報
- 詳細は、RHEL-8 new custom NIC names helper または インストール時のイーサネットインターフェイスの接頭辞のカスタマイズ を参照してください。
5.3. インストールイメージおよびパッケージ
5.3.1. システムを登録し、RHEL サブスクリプションを割り当て、Red Hat CDN からインストールする機能
Red Hat Enterprise Linux 8.2 では、パッケージのインストール前に、システムを登録し、RHEL サブスクリプションを割り当て、Red Hat コンテンツ配信ネットワーク (CDN) からインストールすることができます。インタラクティブな GUI インストールと、自動キックスタートインストールが、この機能をサポートしています。詳細は RHEL 8.2 リリースノート を参照してください。
5.3.2. インストール時にシステムを Red Hat Insights に登録する機能
Red Hat Insights は、プラットフォームとアプリケーションのデータ収集および分析、リスクの予測、アクションの推奨、コストの追跡を行うマネージドサービスです。Insights は、システムの可用性 (サービス停止の可能性を含む)、セキュリティー (例: システムの新しい CVE 検出)、およびビジネス (例: 浪費) など、いくつかの運用領域に関連する警告または最適化についてアラートを発行します。Insights は Red Hat サブスクリプションの一部として含まれており、Red Hat Hybrid Cloud Console からアクセスできます。Red Hat Insights のドキュメント も参照してください。
Red Hat Enterprise Linux 8.2 以降、インストール時にシステムを Red Hat Insights に登録できます。インタラクティブな GUI インストールと、自動キックスタートインストールが、この機能をサポートしています。詳細は RHEL 8.2 リリースノート を参照してください。
5.3.3. 統一された ISO
Red Hat Enterprise Linux 8 では、統合 ISO が、インストールソースリポジトリー BaseOS および AppStream を読み込みます。この機能は、インストール時に読み込まれる最初のベースリポジトリーに対して有効です。たとえば、リポジトリーが設定されず、グラフィカルユーザーインターフェイス (GUI) のベースリポジトリーとして統合 ISO がある場合、または統合 ISO を指定する inst.repo=
オプションを使用してインストールを起動した場合です。
したがって、AppStream リポジトリーは、Installation Source GUI ウィンドウの Additional Repositories セクションで有効になります。AppStream リポジトリーを削除したり、その設定を変更することはできませんが、インストールソース で無効にできます。別のベースリポジトリーを使用してインストールを起動し、そのあとで統合 ISO に変更した場合はこの機能が無効になります。これを行うと、ベースリポジトリーが置き換えられます。ただし、AppStream リポジトリーは置き換えられず、元のファイルを指定します。
5.3.4. Stage2 イメージ
Red Hat Enterprise Linux 8 では、インストールが失敗しないように、ネットワーク上の stage2
、またはキックスタートファイルの場所を指定できます。この更新により、ネットワーク上の stage2
、およびキックスタートファイルを使用して、inst.stage2
および inst.ks
の起動オプションを複数指定できるようになりました。これにより、stage2
またはキックスタートファイルが置いてあるサーバーにアクセスできず、必要なファイルが使用できないためにインストールに失敗する状況を回避します。
この新しい更新により、複数の場所が指定されている場合にインストールに失敗するのを回避できます。定義するすべての場所が URL (主に HTTP
、HTTPS
、または FTP
) の場合は、必要なファイルが正常にフェッチされるまで、順番に試行されます。URL 以外の場所がある場合は、最後に指定した場所が試行されます。残りの場所は無視されます。
5.3.5. inst.addrepo パラメーター
以前は、カーネル起動パラメーターからベースリポジトリーだけを指定できました。Red Hat Enterprise Linux 8 では、新しいカーネルパラメーター inst.addrepo=<name>,<url>
により、インストール時に追加リポジトリーを指定できるようになりました。このパラメーターでは、リポジトリーの名前と、リポジトリーを指定する URL の 2 つの値が必要になります。詳細は inst-addrepo usage を参照してください。
5.3.6. 拡張 ISO からのインストール
Red Hat Enterprise Linux 8 は、ローカルのハードドライブで、リポジトリーからのインストールをサポートします。以前は、ハードドライブからのインストール方法といえば、ISO イメージをインストールソースとして使用するだけでした。ただし、ファイルシステムによっては、Red Hat Enterprise Linux 8 ISO イメージが大きすぎる場合があります。たとえば、FAT32 ファイルシステムは、4 GiB 以上のファイルを保存できません。Red Hat Enterprise Linux 8 では、ローカルハードドライブのリポジトリーからインストールできます。ISO イメージの代わりにディレクトリーのみを指定する必要があります。たとえば、inst.repo=hd:<device>:<path to the repository>
です。
Red Hat Enterprise Linux 8 の BaseOS リポジトリーおよび AppStream リポジトリーは、本ガイドのリポジトリーセクションを参照してください。
5.4. インストーラーのグラフィカルユーザーインターフェイス
5.4.1. インストール概要画面
Red Hat Enterprise Linux 8 グラフィカルインストールのインストール概要ウィンドウは、新たに 3 列のレイアウトになり、グラフィカルインストール設定で改善された統合が提供されるようになりました。
5.5. システムの目的が RHEL に新登場
5.5.1. システムの目的がグラフィカルインストールに対応
Red Hat Enterprise Linux インストールプログラムは、システムの目的の情報を Subscription Manager に提供していませんでした。Red Hat Enterprise Linux 8 では、グラフィカルインストール時のシステムの目的ウィンドウ、またはキックスタートの設定ファイルの syspurpose
コマンドを使用して、システムの目的 を設定できます。システムの目的が記録されると、エンタイトルメントサーバーが、システムの使用目的を満たすサブスクリプションを自動添付するのに役に立つ情報を受け取ります。
5.5.2. Pykickstart におけるシステムの目的のサポート
以前は、pykickstart
ライブラリーで、Subscription Manager にシステムの目的の情報が提供されていました。Red Hat Enterprise Linux 8 では、pykickstart
が、新しい syspurpose
コマンドを解析し、完全または一部自動化しているインストール時に、システムの使用目的を記録します。その後、その情報はインストールプログラムに渡され、新たにインストールしたシステムに保存され、システムのサブスクライブ時に Subscription Manager で利用できるようになります。
5.6. インストーラーモジュールサポート
5.6.1. キックスタートを使用したモジュールのインストール
Red Hat Enterprise Linux 8 では、インストールプログラムが、モジュール機能をすべて処理するようになりました。キックスタートスクリプトは、モジュールとストリームの組み合わせを有効にし、モジュールプロファイルをインストールし、モジュールパッケージをインストールします。
5.7. キックスタートの変更
以下のセクションでは、Red Hat Enterprise Linux 8 におけるキックスタートコマンドおよびオプションの変更を説明します。
RHEL 8 で auth または authconfig が非推奨に
authconfig
ツールおよびパッケージが削除されたため、Red Hat Enterprise Linux 8 では、キックスタートコマンドの auth
または authconfig
が非推奨になっています。
コマンドラインで実行した authconfig
コマンドと同様、キックスタートスクリプトの authconfig
コマンドが authselect-compat
ツールを使用して、新しい authselect
ツールを実行するようになりました。この互換性層や、その既知の問題の説明は、authselect-migration(7)
の man ページを参照してください。このインストールプログラムは、非推奨のコマンドの使用を自動的に検出し、互換性層を提供する authselect-compat
パッケージをインストールします。
キックスタートで Btrfs がサポート対象外に
Red Hat Enterprise Linux 8 は、Btrfs ファイルシステムに対応していません。そのため、グラフィカルユーザーインターフェイス (GUI) およびキックスタートコマンドが Btrfs に対応しなくなりました。
以前の RHEL リリースのキックスタートファイルの使用
以前の RHEL リリースのキックスタートファイルを使用する場合は、Red Hat Enterprise Linux 8 BaseOS リポジトリーおよび AppStream リポジトリーの詳細について、Considerations in adopting RHEL 8 の Repositories のセクションを参照してください。
5.7.1. キックスタートで非推奨になったコマンドおよびオプション
次のキックスタートのコマンドとオプションが、Red Hat Enterprise Linux 8 で非推奨になりました。
特定のオプションだけがリスト表示されている場合は、基本コマンドおよびその他のオプションは引き続き利用でき、非推奨ではありません。
-
auth
またはauthconfig
(代わりにauthselect
を使用) -
device
-
deviceprobe
-
dmraid
-
install
(サブコマンドまたはメソッドをコマンドとして直接使用) -
multipath
-
bootloader --upgrade
-
ignoredisk --interactive
-
partition --active
-
reboot --kexec
-
syspurpose
- 代わりにsubscription-manager syspurpose
を使用してください
auth
コマンドまたは authconfig
コマンドを除き、キックスタートファイルのコマンドを使用すると、ログに警告が出力されます。
inst.ksstrict
ブートオプションで、auth
コマンドまたは authconfig
コマンドを除いた非推奨のコマンドの警告をエラーに変えることができます。
5.7.2. キックスタートから削除されたコマンドおよびオプション
次のキックスタートのコマンドとオプションが、Red Hat Enterprise Linux 8 から完全に削除されました。キックスタートファイルでこれを使用すると、エラーが発生します。
-
device
-
deviceprobe
-
dmraid
-
install
(サブコマンドまたはメソッドをコマンドとして直接使用) -
multipath
-
bootloader --upgrade
-
ignoredisk --interactive
-
partition --active
-
harddrive --biospart
-
upgrade
(このコマンドはすでに非推奨になっています) -
btrfs
-
part/partition btrfs
-
part --fstype btrfs
またはpartition --fstype btrfs
-
logvol --fstype btrfs
-
raid --fstype btrfs
-
unsupported_hardware
特定のオプションおよび値だけが表示されている場合は、基本コマンドおよびその他のオプションは引き続き利用でき、削除されません。
5.8. イメージ作成
5.8.1. Image Builder でカスタムのシステムイメージ作成
RHEL イメージのカスタマイズには、Image Builder ツールを使用できます。Red Hat Enterprise Linux 8.3 以降、Image Builder はシステムサービスの osbuild-composer パッケージとして実行されます。
Image Builder を使用すると、追加パッケージを含むカスタムのシステムイメージを作成できます。Image Builder 機能は、以下から使用できます。
- Web コンソールのグラフィカルユーザーインターフェイス
-
composer-cli
ツールのコマンドラインインターフェイス
Image Builder の出力の形式には、以下のようなものがあります。
- tar アーカイブ
- 仮想マシンまたは OpenStack で直接使用する qcow2 ファイル
- QEMU QCOW2 イメージ
- Azure、VMWare、および AWS のクラウドイメージ
Image Builder の詳細は RHEL システムイメージのカスタマイズ を参照してください。
第6章 ソフトウェア管理
6.1. YUM スタックへの主な変更
6.1.1. YUM/DNF を使用したパッケージ管理
Red Hat Enterprise Linux 8 へのソフトウェアのインストールは、DNF テクノロジーをベースとした YUM ツールにより行われます (YUM v4)。以前のメジャーバージョンの RHEL との一貫性を保つために、yum
の用語の使用が意図的に準拠しています。ただし、yum
の代わりに dnf
を呼び出すと、yum
は互換性のために dnf
のエイリアスであるため、コマンドが期待どおりに動作します。
詳細は、ユーザー空間コンポーネントのインストール、管理、および削除 を参照してください。
6.1.2. YUM v3 と比較した YUM v4 の利点
YUM v4 には、RHEL 7 で使用されていた、以前のバージョンの YUM v3 に対して、以下の利点が追加されました。
- パフォーマンスの向上
- モジューラーコンテンツへの対応
- ツーリングと統合するために適切に設計され、安定した API
新しい YUM v4 ツールと、以前のバージョンである RHEL 7 の YUM v3 ツールの相違点の詳細は、Changes in DNF CLI compared to YUM を参照してください。
6.1.3. YUM v4 を使用する方法
ソフトウェアのインストール
コマンドラインから使用したり、設定ファイルを編集または作成する場合、YUM v4 は YUM v3 と互換性があります。
ソフトウェアをインストールするには、RHEL 7 と同じ yum
コマンドとオプションを使用できます。
ソフトウェアパッケージのインストール に関する詳細情報を参照してください。
プラグインの可用性
以前の YUM v3 プラグインは、新しいバージョンの YUM v4 と互換性がありません。選択した yum プラグインおよびユーティリティーは、新しい DNF バックエンドに移植されており、RHEL 7 と同じ名前でインストールできます。このパッケージは互換性を持ったシンボリックリンクを提供するため、バイナリー、設定ファイル、ディレクトリーは通常の場所で確認できます。
プラグインが含まれなくなったり、置き換えがユーザービリティーを満たさなくなった場合は、カスタマーポータルでサポートケースを作成および管理する に記載されているように、Red Hat サポートにご連絡いただき、機能強化を要求してください。
詳細は Plugin Interface を参照してください。
API の可用性
YUM v3 が提供する以前の Python API は利用できなくなりました。YUM v4 (DNF Python API) が提供する安定し、完全に対応する新しい API に、使用しているプラグインおよびスクリプトを移行することが推奨されます。新しい DNF Python API のドキュメントは、DNF API Reference により提供されます。
Libdnf および Hawkey API (C および Python の両方) は不安定であると見なされているため、RHEL 8 のライフサイクル期間中に変更する可能性があります。
6.1.4. YUM 設定ファイルオプションの可用性
RHEL 7 と RHEL 8 の間で、/etc/yum.conf
ファイルおよび /etc/yum.repos.d/*.repo
ファイルの設定ファイルオプションに追加された変更点を簡単に紹介します。
RHEL 7 オプション | RHEL 8 ステータス |
---|---|
alwaysprompt | 削除 |
assumeno | 利用可能 |
assumeyes | 利用可能 |
autocheck_running_kernel | 利用可能 |
autosavets | 削除 |
bandwidth | 利用可能 |
bugtracker_url | 利用可能 |
cachedir | 利用可能 |
check_config_file_age | 利用可能 |
clean_requirements_on_remove | 利用可能 |
color | 利用可能 |
color_list_available_downgrade | 利用可能 |
color_list_available_install | 利用可能 |
color_list_available_reinstall | 利用可能 |
color_list_available_running_kernel | 削除 |
color_list_available_upgrade | 利用可能 |
color_list_installed_extra | 利用可能 |
color_list_installed_newer | 利用可能 |
color_list_installed_older | 利用可能 |
color_list_installed_reinstall | 利用可能 |
color_list_installed_running_kernel | 削除 |
color_search_match | 利用可能 |
color_update_installed | 利用可能 |
color_update_local | 利用可能 |
color_update_remote | 利用可能 |
commands | 削除 |
config_file_path | 利用可能 |
debuglevel | 利用可能 |
deltarpm | 利用可能 |
deltarpm_metadata_percentage | 削除 |
deltarpm_percentage | 利用可能 |
depsolve_loop_limit | 削除 |
disable_excludes | 利用可能 |
diskspacecheck | 利用可能 |
distroverpkg | 削除 |
enable_group_conditionals | 削除 |
errorlevel | 利用可能 |
exactarchlist | 削除 |
exclude | 利用可能 |
exit_on_lock | 利用可能 |
fssnap_abort_on_errors | 削除 |
fssnap_automatic_keep | 削除 |
fssnap_automatic_post | 削除 |
fssnap_automatic_pre | 削除 |
fssnap_devices | 削除 |
fssnap_percentage | 削除 |
ftp_disable_epsv | 削除 |
gpgcheck | 利用可能 |
group_command | 削除 |
group_package_types | 利用可能 |
groupremove_leaf_only | 削除 |
history_list_view | 利用可能 |
history_record | 利用可能 |
history_record_packages | 利用可能 |
http_caching | 削除 |
include | 削除 |
installonly_limit | 利用可能 |
installonlypkgs | 利用可能 |
installrootkeep | 削除 |
ip_resolve | 利用可能 |
keepalive | 削除 |
keepcache | 利用可能 |
kernelpkgnames | 削除 |
loadts_ignoremissing | 削除 |
loadts_ignorenewrpm | 削除 |
loadts_ignorerpm | 削除 |
localpkg_gpgcheck | 利用可能 |
logfile | 削除 |
max_connections | 削除 |
mddownloadpolicy | 削除 |
mdpolicy | 削除 |
metadata_expire | 利用可能 |
metadata_expire_filter | 削除 |
minrate | 利用可能 |
mirrorlist_expire | 削除 |
multilib_policy | 利用可能 |
obsoletes | 利用可能 |
override_install_langs | 削除 |
overwrite_groups | 削除 |
password | 利用可能 |
payload_gpgcheck | 削除 |
persistdir | 利用可能 |
pluginconfpath | 利用可能 |
pluginpath | 利用可能 |
plugins | 利用可能 |
protected_multilib | 削除 |
protected_packages | 利用可能 |
proxy | 利用可能 |
proxy_password | 利用可能 |
proxy_username | 利用可能 |
query_install_excludes | 削除 |
recent | 利用可能 |
recheck_installed_requires | 削除 |
remove_leaf_only | 削除 |
repo_gpgcheck | 利用可能 |
repopkgsremove_leaf_only | 削除 |
reposdir | 利用可能 |
reset_nice | 利用可能 |
retries | 利用可能 |
rpmverbosity | 利用可能 |
shell_exit_status | 削除 |
showdupesfromrepos | 利用可能 |
skip_broken | 利用可能 |
skip_missing_names_on_install | 削除 |
skip_missing_names_on_update | 削除 |
ssl_check_cert_permissions | 削除 |
sslcacert | 利用可能 |
sslclientcert | 利用可能 |
sslclientkey | 利用可能 |
sslverify | 利用可能 |
syslog_device | 削除 |
syslog_facility | 削除 |
syslog_ident | 削除 |
throttle | 利用可能 |
timeout | 利用可能 |
tolerant | 削除 |
tsflags | 利用可能 |
ui_repoid_vars | 削除 |
upgrade_group_objects_upgrade | 利用可能 |
upgrade_requirements_on_install | 削除 |
usercache | 削除 |
username | 利用可能 |
usr_w_check | 削除 |
RHEL 7 オプション | RHEL 8 ステータス |
---|---|
async | 削除 |
bandwidth | 利用可能 |
baseurl | 利用可能 |
compare_providers_priority | 削除 |
cost | 利用可能 |
deltarpm_metadata_percentage | 削除 |
deltarpm_percentage | 利用可能 |
enabled | 利用可能 |
enablegroups | 利用可能 |
exclude | 利用可能 |
failovermethod | 削除 |
ftp_disable_epsv | 削除 |
gpgcakey | 削除 |
gpgcheck | 利用可能 |
gpgkey | 利用可能 |
http_caching | 削除 |
includepkgs | 利用可能 |
ip_resolve | 利用可能 |
keepalive | 削除 |
metadata_expire | 利用可能 |
metadata_expire_filter | 削除 |
metalink | 利用可能 |
mirrorlist | 利用可能 |
mirrorlist_expire | 削除 |
name | 利用可能 |
password | 利用可能 |
proxy | 利用可能 |
proxy_password | 利用可能 |
proxy_username | 利用可能 |
repo_gpgcheck | 利用可能 |
repositoryid | 削除 |
retries | 利用可能 |
skip_if_unavailable | 利用可能 |
ssl_check_cert_permissions | 削除 |
sslcacert | 利用可能 |
sslclientcert | 利用可能 |
sslclientkey | 利用可能 |
sslverify | 利用可能 |
throttle | 利用可能 |
timeout | 利用可能 |
ui_repoid_vars | 削除 |
username | 利用可能 |
6.1.5. YUM v4 機能の動作が異なる
YUM v3 機能の一部の挙動が、YUM v4 と異なる可能性があります。この変更がワークフローに影響を及ぼす場合は、カスタマーポータルでサポートケースを作成および管理する に従って、Red Hat サポートケースを作成してください。
6.1.5.1. yum list がエントリーを重複して表示
yum list
コマンドを使用してパッケージのリストを表示すると、エントリーが重複して表示される可能性があります。エントリーは、リポジトリー単位で表示されるため、バッケージ名とバージョンが同じものが複数のリポジトリーに存在すると、そのリポジトリーがすべて表示されます。
これは意図的であり、必要に応じて、このようなパッケージを区別できます。
たとえば、repo1 および repo2 で package-1.2 が利用可能な場合、YUM v4 は両方のインスタンスを出力します。
[…] package-1.2 repo1 package-1.2 repo2 […]
一方、以前のバージョンの YUM v3 コマンドではこのような重複は除外されるため、インスタンスは 1 つしか表示されません。
[…] package-1.2 repo1 […]
6.1.6. トランザクション履歴のログファイルの変更
RHEL 7 と RHEL 8 の間でトランザクション履歴ログファイルに追加された変更点を簡単に紹介します。
RHEL 7 では、/var/log/yum.log
ファイルには以下が保存されます。
- ソフトウェアパッケージのインストール、更新、および削除のレジストリー
- yum および PackageKit からのトランザクション
RHEL 8 では、/var/log/yum.log
ファイルに直接相当するものはありません。PackageKit、microdnf などのトランザクションに関する情報を表示するには、yum history
コマンドを使用します。
または、/var/log/dnf.rpm.log
ファイルを検索することもできますが、このログファイルに PackageKit および microdnf からのトランザクションが含まれず、保存された情報を定期的に削除するログローテーションがあります。
6.1.7. deltarpm 機能がサポート対象外に
RHEL 8 では、delta rpms
の使用をサポートしなくなりました。delta rpms
を利用するには、利用できなくなった deltarpm
パッケージをインストールする必要があります。deltarpm
の代わりである drpm
には、同じ機能はありません。したがって、RHEL 8 のコンテンツは deltarpm
形式で配信されません。この機能は、今後の RHEL リリースで完全に削除されることに注意してください。
6.2. RPM の主な機能および変更
Red Hat Enterprise Linux 8 (RHEL) には RPM 4.14 が同梱されています。このバージョンでは、RHEL 7 で利用できた RPM 4.11 に対する機能拡張が数多く追加されました。
主な変更には以下のものがあります。
- 複数の debuginfo パッケージを同時にインストールできます。
- 弱い依存関係への対応。
- 豊富なブール型依存関係への対応。
- 4 GB を超えるファイルのパッケージ化への対応。
- ファイルトリガーへの対応。
-
新しい
--nopretrans
スイッチおよび--noposttrans
スイッチはそれぞれ、%pretrans
スクリプトレットおよび%posttrans
スクリプトレットの実行を無効にします。 -
新しい
--noplugins
スイッチは、すべての RPM プラグインの読み込みおよび実行を無効にします。 -
システムロギングプロトコル (syslog) により RPM アクティビティーをロギングする新規の
syslog
プラグイン。 rpmbuild
コマンドは、ソースパッケージからすべてのビルド手順を直接実行できるようになりました。これは、
-r[abpcils]
オプションのいずれかと共にrpmbuild
を使用すると可能になります。再インストールモードをサポートします。
これは、新しい
--reinstall
オプションにより保証されます。インストールされているパッケージを再インストールするには、次の構文を使用します。rpm {--reinstall} [install-options] PACKAGE_FILE
このオプションにより、新しいパッケージが正しくインストールされ、古いパッケージが削除されます。
SSD 保存モードのサポート。
これは、
/usr/lib/rpm/macros
ファイルで利用可能な新しい%_minimize_writes
マクロで保証されます。マクロは、デフォルトで 0 に設定されます。SSD ディスクへの書き込みを最小にするには、%_minimize_writes
を 1 に設定します。-
RPM ペイロードを tar アーカイブに変換する新しい
rpm2archive
ユーティリティー。
詳細は RHEL 8 の新機能 を参照してください。
以下は、主な変更点です。
- 厳密なスペックパーサー
- 非冗長モードで出力を確認する簡易署名
再現可能なビルド (同一パッケージを作成するビルド) のサポートの改善
- ビルド時間の設定
- ファイルの mtime (ファイル変更日時) の設定
- buildhost の設定
-
-p
オプションを使用して、アンインストールされた PACKAGE_FILE をクエリーすることは任意になりました。このユースケースでは、rpm
コマンドが、-p
オプションの有無にかかわらず、同じ結果を返すようになりました。-p
オプションが必要な唯一のユースケースは、ファイル名がrpmdb
データベース内のいずれのProvides
とも一致しないことを確認することです。 マクロの追加と廃止事項
-
%makeinstall
マクロが非推奨になりました。プログラムをインストールするには、代わりに%make_install
マクロを使用します。
-
rpmbuild --sign
コマンドが非推奨になりました。rpmbuild
コマンドで--sign
オプションを使用することが非推奨になったことに注意してください。既存のパッケージに署名を追加するには、代わりにrpm --addsign
を使用します。
第7章 インフラストラクチャーサービス
7.1. 時間同期
正確な時間を維持することは、さまざまな理由で重要です。Linux システムでは、Network Time Protocol (NTP)
プロトコルがユーザー空間で実行しているデーモンにより実装されます。
7.1.1. NTP の実装
RHEL 7 がサポートする NTP
プロトコルには、ntp および chrony の 2 種類あります。
RHEL 8 の NTP
プロトコルは、chronyd
デーモンからしか実装されません。このデーモンは、chrony
パッケージで提供されます。
ntp
デーモンは利用できなくなりました。RHEL 7 システムで ntp
を使用していた場合は chrony への移行 が必要になる場合があります。
chrony が対応していない以前の ntp 機能の代わりとなる機能は、以前サポートされていた設定を chrony で実現する手順 を参照してください。
7.1.2. chrony スイートの概要
chrony は、NTP
の実装で、断続的なネットワーク接続、非常に混雑したネットワーク、気温の変化 (通常のコンピュータークロックは、気温の影響を受けやすくなります)、および継続して実行していないシステム、または仮想マシンで実行しているシステムなど、さまざまな条件で活躍します。
chrony を使用すると、以下のことができます。
-
システムクロックを、
NTP
サーバーと同期する - システムクロックを、GPS レシーバーなどの基準クロックと同期する
- システムクロックを、手動で入力した時間と同期する
-
ネットワーク内の他のコンピューターにタイムサービスを提供する
NTPv4(RFC 5905)
サーバーまたはピアとして使用
chrony の詳細は chrony スイートの概要 を参照してください。
7.1.2.1. chrony と ntp の相違点
chrony と ntp の相違点は、以下の資料を参照してください。
7.1.2.1.1. chrony が、うるう秒をデフォルトで修正
RHEL 8 では、デフォルトの chrony 設定ファイル /etc/chrony.conf
に、leapsectz
ディレクティブが含まれます。
leapsectz
ディレクティブにより、chronyd
で以下のことができます。
-
システムの tz データベース (
tzdata
) から、うるう秒に関する情報を取得する - システムは、システムクロックの TAI-UTC オフセットを設定して、正確な国際原子時 (TAI) クロック (CLOCK_TAI) を提供する
このディレクティブは、leapsecmode
ディレクティブおよび smoothtime
ディレクティブで設定している chronyd
サーバーなど、leap smear
を使用してクライアントからうるう秒を隠すサーバーと互換性がありません。クライアントの chronyd
を、そのようなサーバーに同期するように設定している場合は、設定ファイルから leapsectz
を削除します。
7.1.3. 関連情報
chrony スイートを使用して NTP
を設定する方法の詳細は、時刻同期の設定 を参照してください。
7.2. BIND - DNS の実装
RHEL 8 には、バージョン 9.11 に BIND (Berkeley Internet Name Domain) が含まれています。このバージョンの DNS サーバーには、バージョン 9.10 と比較して、複数の新機能と機能変更が追加されています。
新機能:
- セカンダリーサーバー Catalog Zones をプロビジョニングする新しい方法が追加されました。
-
Domain Name System Cookies は、
named
サービスおよびdig
ユーティリティーにより送信されるようになりました。 - Response Rate Limiting 機能は、DNS 増幅攻撃の軽減を支援できます。
- RPZ の (response-policy zone) のパフォーマンスが改善しました。
-
map
と呼ばれる新しいゾーンファイルが追加されています。このフォーマットに保存されるゾーンファイルは、メモリーに直接マッピングされます。これにより、ゾーンが読み込む速度が大幅に改善します。 -
DNS データの検索、および DNS Security Extensions (DNSSEC) 検証を実行する dig のようなセマンティクスを使用する、
delv
ツール (ドメインエンティティー検索および検証) が追加されています。 -
新しい
mdig
コマンドが利用できるようになりました。このコマンドは、クエリーを送り、次のクエリーを送る前に応答を待つ代わりに、パイプラインで複数のクエリーを送って応答を待つdig
コマンドです。 -
再帰リゾルバーのパフォーマンスを改善する新しい
prefetch
オプションが追加されました。 -
ビュー間でゾーンデータを共有できる、新しい
in-view
ゾーンオプションが追加されました。このオプションが追加されると、新しいビューは、メモリーに複数のコピーを保存せずに、同じゾーンを確実に保存できます。 -
ゾーンに最大の TTL を強制する新しい
max-zone-ttl
オプションが追加されました。高い TTL を含むゾーンを読み込むと、読み込みに失敗します。動的 DNS (DDNS) により高い TTL を設定することは可能ですが、TTL は切り捨てられます。 - 新しいクォータは、再帰リゾルバーが、サービス拒否攻撃が発生している権威サーバーに送信するクエリーを制限するために追加されました。
-
nslookup
ユーティリティーは、デフォルトで IPv6 アドレスと IPv4 アドレスの両方を検索するようになりました。 -
named
サービスは、起動する前に、その他のネームサーバープロセスが実行しているかどうかを確認します。 -
署名付きゾーンを読み込むと、
named
が、Resource Record Signature (RSIG) の開始時間が将来時にあるかどうかを確認し、存在する場合はすぐに RRSIG を再生成するようになりました。 - ゾーン転送は、ネットワーク使用量を低減するメッセージ圧縮を改善するために、より小さいサイズのメッセージを使用するようになりました。
機能変更:
-
静的チャンネルに対するバージョン
3 の XML
スキーマでは、高速解析を行うために、HTTP インターフェイスにより、新しい統計および平坦化した XML ツリーが提供されます。古いバージョンの2 XML
スキーマに対応しなくなりました。 -
named
サービスは、デフォルトで IPv6 および IPv4 のインターフェイスでリッスンするようになりました。 -
named
サービスは、GeoIP データベースをサポートしなくなりました。クエリー送信者の推定位置で定義される Access control lists (ACL) は利用できなくなりました。 -
RHEL 8.2 以降、
named
サービスはlibmaxminddb
データ形式で提供される GeoIP2 をサポートします。
7.3. DNS 解決
RHEL 7 では、nslookup
ユーティリティーおよび host
ユーティリティーが、リストされているネームサーバーからの recursion available
フラグなしで、あらゆる応答を許可できるようになりました。RHEL 8 では、nslookup
と host
は、最後に設定されているネームサーバーでない限り、再帰だけの応答を無視します。最後に設定したネームサーバーでは、recursion available
フラグがなくても応答が許可されます。
ただし、最後に設定したネームサーバーが応答しない場合や到達できない場合は、名前解決に失敗します。このような失敗を防ぐためには、以下のいずれかの方法を使用できます。
-
設定したネームサーバーが、
recursion available
フラグが設定されている状態で常に応答することを確認します。 - すべての内部クライアントに再帰を許可します。
必要に応じて、dig
ユーティリティーを使用して、再帰が利用可能かどうかを検出することもできます。
7.4. postfix
RHEL 8 のデフォルトでは、postfix
は後方互換性に TLS を使用する MD5 フィンガープリントを使用します。ただし、FIPS モードでは MD5 ハッシュ関数を使用できないため、デフォルトの Postfix
設定で TLS が正しく機能しない可能性があります。回避策として、postfix 設定ファイルでハッシュ関数を SHA-256
に変更する必要があります。
詳細は、関連リンク (https://access.redhat.com/articles/5824391) を参照してください。
7.5. 印刷
7.5.1. 印刷設定ツール
RHEL 7 で使用されていた 印刷設定 設定ツールは利用できなくなりました。
印刷に関するさまざまなタスクを行うために、以下のいずれかのツールを選択できます。
- CUPS Web ユーザーインターフェイス (UI)
- GNOME コントロールセンター
RHEL 8 の印刷設定ツールの詳細は、印刷の設定 を参照してください。
7.5.2. CUP ログの場所
CUPS は、ログを 3 種類提供します。
- エラーログ
- アクセスログ
- ページログ
RHEL 8 では、RHEL 7 で使用されていた /var/log/cups
ディレクトリーの特定ファイルに、ログが保存されなくなりました。代わりに、その他のプログラムのログと一緒に、3 つのすべてのタイプが、systemd-journald のログに中心的に記録されます。
RHEL 8 で CUPS ログを使用する方法の詳細は、systemd ジャーナルの CUPS ログへのアクセス を参照してください。
7.5.3. 関連情報
RHEL 8 で印刷を設定する方法の詳細は、印刷の設定 を参照してください。
7.6. パフォーマンスおよび電源管理のオプション
7.6.1. 推奨される TuneD プロファイルの主な変更点
RHEL 8 では、tuned-adm recommend
コマンドにより報告される、推奨される TuneD プロファイルが、次のルールに基づいて選択されるようになりました。
(
syspurpose show
コマンドにより報告される)syspurpose
ロールにはatomic
が含まれ、以下のようになります。-
TuneD がベアメタルで実行している場合は、
atomic-host
プロファイルが選択されます。 -
TuneD が仮想マシンで実行している場合は、
atomic-guest
プロファイルが選択されます。
-
TuneD がベアメタルで実行している場合は、
-
TuneD が仮想マシンで実行している場合は、
virtual-guest
プロファイルが選択されます。 -
syspurpose
ロールにdesktop
またはworkstation
が含まれ、シャーシタイプ (dmidecode
が報告) がNotebook
、Laptop
、またはPortable
の場合は、balanced
プロファイルが選択されます。 -
上記のどのルールにも一致しない場合は
throughput-performance
プロファイルが選択されます。
最初に一致したルールが有効になることに注意してください。
7.7. インフラストラクチャーサービスコンポーネントへのその他の変更
特定のインフラストラクチャーサービスコンポーネントに対するその他の主な変更の概要は次のとおりです。
名前 | 変更の種類 | 関連情報 |
---|---|---|
acpid | オプションの変更 |
|
bind | 設定オプションの削除 |
|
brltty | 設定オプションの変更 |
|
brltty | 設定オプションの削除 |
|
brltty | 設定オプションの変更 |
Bluetooth デバイスアドレスに、コロン (:) の代わりにハイフン (-) を使用できるようになりました。デバイス修飾子のエイリアス |
cups | 機能の削除 | アップストリームでは、セキュリティー上の理由から、インターフェイススクリプトのサポートが削除されました。OS またはプロプライエタリーから提供される ppd およびドライバーを使用します。 |
cups | ディレクティブオプションの削除 |
|
cups | ディレクティブオプションの削除 |
|
cups | ディレクティブオプションの削除 |
|
cups | ディレクティブ が conf ファイル間を移動 |
|
cups | ディレクティブ が conf ファイル間を移動 |
|
cups-filters | デフォルトの設定変更 | cups-browsed が検出したリモート印刷キュー名は、プリンターのデバイス ID に基づいており、リモートの印刷キュー名ではありません。 |
cups-filters | デフォルトの設定変更 |
IPP プリンターのキューを自動作成する場合は、 |
cyrus-imapd | データフォーマットの変更 | Cyrus-imapd 3.0.7 のデータ形式が異なります。 |
dhcp | 動作変更 |
|
dhcp | オプションの非互換性 |
|
dosfstools | 動作変更 |
データ構造がクラスターサイズに合わせて自動的に調整されるようになりました。アライメントを無効にするには、 |
finger | 機能の削除 | |
GeoIP | 機能の削除 | |
grep | 動作変更 |
|
grep | 動作変更 |
無効な UTF-8 データを指定した場合に、 |
grep | 動作変更 |
GREP_OPTIONS 環境変数が使用されると、 |
grep | 動作変更 |
|
grep | 動作変更 |
バイナリーデータを検索する場合は、 |
grep | 動作変更 |
|
grep | 動作変更 |
コンテキストは、 |
irssi | 動作変更 |
|
lftp | オプションの変更 |
|
ntp | 機能の削除 | ntp は削除されました。代わりに chrony を使用してください。 |
postfix | 設定変更 | 3.x バージョンには、アップグレード後に後方互換性のデフォルト設定で Postfix プログラムを実行する、互換性のセーフティーネットがあります。 |
postfix | 設定変更 |
Postfix MySQL データベースクライアントでは、デフォルトの option_group 値が |
postfix | 設定変更 |
postqueue コマンドが、メッセージの到着時間をすべて UTC に報告することを強制しなくなりました。以前の動作を取得するには、
|
postfix | 設定変更 |
ECDHE - |
postfix | 設定変更 |
デフォルトの変更 - |
postfix | 設定変更 |
デフォルトの変更 - |
postfix | 設定変更 |
|
powertop | オプションの削除 |
|
powertop | オプションの変更 |
|
powertop | オプションの削除 |
|
quagga | 機能の削除 | |
sendmail | 設定変更 |
sendmail は、圧縮していない IPv6 アドレスをデフォルトで使用します。これにより、より詳細に一致するゼロサブネットを許可します。設定データは同じ形式を使用する必要があるため、8.15 を使用する前に、 |
spamassasin | コマンドラインオプションの削除 |
spamd から |
spamassasin | コマンドラインオプションの変更 |
spamc では、コマンドラインオプション |
spamassasin | サポートされる SSL バージョンへの変更点 | spamc および spamd では、SSLv3 がサポートされなくなりました。 |
spamassasin | 機能の削除 |
|
vim | デフォルトの設定変更 | vim は、~/.vimrc ファイルが利用できない場合に default.vim スクリプトを実行します。 |
vim | デフォルトの設定変更 | vim が、端末からの括弧付きペーストをサポートします。以前の動作のために、vimrc に set t_BE=を追加します。 |
vsftpd | デフォルトの設定変更 |
|
vsftpd | デフォルトの設定変更 |
|
vsftpd | 機能の削除 |
|
vsftpd | デフォルトの設定変更 | TLSv1 および TLSv1.1 がデフォルトで無効になりました。 |
wireshark | Python バインディングの削除 | dissector は、Python で記述されなくなりました。代わりに C を使用してください。 |
wireshark | オプションの削除 |
非同期の DNS 名前解決の |
wireshark | 出力変更 |
|
wvdial | 機能の削除 |
第8章 セキュリティー
8.1. コア暗号化コンポーネントの変更点
8.1.1. システム全体の暗号化ポリシーがデフォルトで適用
暗号ポリシーは、Red Hat Enterprise Linux 8 でコア暗号化サブシステムを設定するコンポーネントで、TLS、IPsec、DNSSEC、Kerbero の各プロトコルと、OpenSSH スイートに対応します。これにより、管理者が update-crypto-policies
コマンドで選択できる小規模セットのポリシーを提供します。
デフォルト
のシステム全体の暗号化ポリシーは、現在の脅威モデルに安全な設定を提供します。TLS プロトコル 1.2 と 1.3、IKEv2 プロトコル、および SSH2 プロトコルが使用できます。RSA 鍵と Diffie-Hellman パラメーターの長さが 2047 ビット以上であれば許可されます。
詳細は、Red Hat ブログの記事 Consistent security by crypto policies in Red Hat Enterprise Linux 8 と、man ページの update-crypto-policies(8)
を参照してください。
8.1.2. 安全ではない暗号スイートおよびプロトコルを削除した、強力な暗号デフォルト
以下のリストには、RHEL 8 のコア暗号化ライブラリーから削除された暗号スイートおよびプロトコルが含まれます。このアプリケーションはソースには存在しないか、ビルド時にサポートを無効にしているため、アプリケーションは使用できません。
- DES (RHEL 7 以降)
- すべてのエクスポートグレードの暗号化スイート (RHEL 7 以降)
- 署名内の MD5 (RHEL 7 以降)
- SSLv2 (RHEL 7 以降)
- SSLv3 (RHEL 8 以降)
- 224 ビットより小さいすべての ECC 曲線 (RHEL 6 以降)
- すべてのバイナリーフィールドの ECC 曲線 (RHEL 6 以降)
8.1.3. すべてのポリシーレベルで無効になっている暗号スイートおよびプロトコル
以下の暗号スイートおよびプロトコルは、すべての暗号化ポリシーレベルで無効になっています。これは、各アプリケーションで明示的に有効にした場合に限り利用可能にできます。
- パラメーターが 1024 ビットより小さい DH
- 鍵のサイズが 1024 ビットより小さい RSA
- Camellia
- ARIA
- SEED
- IDEA
- 完全性のみの暗号スイート
- SHA-384 HMAC を使用した TLS CBC モード暗号化スイート
- AES-CCM8
- TLS 1.3 と互換性がないすべての ECC 曲線 (secp256k1 を含む)
- IKEv1 (RHEL 8 以降)
8.1.4. FIPS モードへのシステムの切り替え
システム全体の暗号化ポリシーには、連邦情報処理規格 (FIPS) 公開文書 140-2 の要件に準拠した暗号化モジュールのセルフチェックを有効にするポリシーレベルが含まれます。FIPS モードを有効または無効にする fips-mode-setup
ツールは、内部的に FIPS
のシステム全体の暗号化ポリシーレベルを使用します。
RHEL 8 の FIPS モードにシステムを切り替えるには、以下のコマンドを実行してシステムを再起動します。
# fips-mode-setup --enable
詳細は、man ページの fips-mode-setup(8)
を参照してください。
8.1.5. TLS 1.0 および TLS 1.1 が非推奨に
TLS 1.0 プロトコルおよび TLS 1.1 プロトコルは、システム全体の暗号化ポリシーレベル DEFAULT
で無効になります。たとえば、Firefox Web ブラウザーのビデオ会議アプリケーションで、非推奨のプロトコルを使用する必要がある場合は、システム全体の暗号化ポリシーを LEGACY
レベルに変更してください。
# update-crypto-policies --set LEGACY
詳細は、Red Hat カスタマーポータルのナレッジベース Strong crypto defaults in RHEL 8 and deprecation of weak crypto algorithms および man ページの update-crypto-policies(8)
を参照してください。
8.1.6. 暗号化ライブラリーにおける TLS 1.3 への対応
今回の更新で、主要なすべてのバックエンド暗号ライブラリーで、TLS (Transport Layer Security) 1.3 が有効になっています。これにより、オペレーティングシステムの通信層でのレイテンシーを短縮し、RSA-PSS、X25519 などの新しいアルゴリズムを使用して、アプリケーションのプライバシーとセキュリティーを強化します。
8.1.7. RHEL 8 で DSA が非推奨に
デジタル署名アルゴリズム (DSA) は、Red Hat Enterprise Linux 8 では非推奨であると考えられています。DSA キーに依存する認証メカニズムはデフォルト設定では機能しません。OpenSSH
クライアントは、LEGACY
のシステム全体の暗号化ポリシーレベルでも DSA ホストキーを許可しません。
8.1.8. NSS
で SSL2
Client Hello
が非推奨に
TLS
(Transport Layer Security) プロトコルバージョン 1.2 以前は、SSL
(Secure Sockets Layer) プロトコルバージョン 2 と後方互換性がある形式の Client Hello
メッセージを使用してネゴシエーションを開始できます。NSS
(Network Security Services) ライブラリーでのこの機能への対応は非推奨となっており、デフォルトで無効になっています。
この機能への対応が必要なアプリケーションを有効にするには、新しい API の SSL_ENABLE_V2_COMPATIBLE_HELLO
を使用する必要があります。この機能への対応は、Red Hat Enterprise Linux 8 の将来のリリースから完全に削除される可能性があります。
8.1.9. NSS がデフォルトで SQL を使用
Network Security Services (NSS) ライブラリーは、デフォルトで信頼データベースに SQL ファイル形式を使用するようになりました。以前のリリースでデフォルトのデータベース形式として使用されていた DBM ファイル形式は、マルチプロセスによる同時アクセスに対応せず、アップストリームでは非推奨となっていました。したがって、NSS 信頼データベースを使用するアプリケーションが鍵や証明書を保存し、取消し情報がデフォルトで SQL 形式のデータベースを作成します。レガシーの DBM 形式でデータベースを作成しようとする試みは失敗します。既存の DBM データベースを読み取り専用モードで開くと、自動的に SQL 形式に変換されます。Red Hat Enterprise Linux 6 以降、NSS では SQL ファイル形式に対応します。
8.2. SSH
8.2.1. OpenSSH
がバージョン 7.8p1 にリベース
openssh
パッケージが、アップストリームバージョン 7.8p1 にアップグレードされました。以下は、主な変更点です。
-
SSH version 1
プロトコルに対応しなくなりました。 -
hmac-ripemd160
メッセージ認証コードに対応しなくなりました。 -
RC4 (
arcfour
) 暗号に対応しなくなりました。 -
Blowfish
暗号に対応しなくなりました。 -
CAST
暗号に対応しなくなりました。 -
UseDNS
オプションのデフォルト値がno
に変更になりました。 -
DSA
公開鍵アルゴリズムがデフォルトで無効になりました。 -
Diffie-Hellman
パラメーターの最小モジュールサイズが 2048 ビットに変更になりました。 -
ExposeAuthInfo
設定オプションのセマンティクスが変更になりました。 -
UsePrivilegeSeparation=sandbox
オプションが必須になったため、無効にできなくなりました。 -
許可される最小の
RSA
鍵のサイズが 1024 ビットに設定されました。
8.2.2. libssh
が SSH をコア暗号化コンポーネントとして実装
この変更により、Red Hat Enterprise Linux 8 のコア暗号化コンポーネントとして libssh
が導入されました。libssh
ライブラリーは、Secure SHell (SSH) プロトコルを実装しています。
8.2.3. RHEL 8 で libssh2
が利用できない
非推奨の libssh2
ライブラリーは、楕円曲線、Generic Security Service Application Program Interface (GSSAPI) などの機能がなく、RHEL 8 では削除され、libssh
が使用されます。
8.3. Rsyslog
8.3.1. デフォルトの rsyslog
設定ファイルの形式がレガシーではない
rsyslog
パッケージの設定ファイルが、デフォルトで非レガシー形式を使用するようになりました。レガシー形式も使用できますが、現在の設定ステートメントとレガシーの設定ステートメントを混在する場合は制約がいくつかあります。以前の RHEL リリースから引き継がれた設定は修正する必要があります。詳細は、man ページの rsyslog.conf(5)
を参照してください。
8.3.2. imjournal
オプションと、最小の journald
を使用してシステムログを設定
journald
がそのファイルをローテートしたときに重複レコードが作成されないようにするために、imjournal
オプションが追加されています。このオプションを使用するとパフォーマンスに影響を及ぼします。
ナレッジベースの記事 Configuring system logging without journald に記載されるように、システムに rsyslog
を設定すると、パフォーマンスが向上します。
8.3.3. デフォルトのロギング設定がパフォーマンスに与える悪影響
デフォルトのログ環境設定は、メモリーを 4 GB 以上使用する可能性があり、rsyslog
で systemd-journald
を実行している場合は、速度制限値の調整が複雑になります。
詳細は、ナレッジベースの記事 Negative effects of the RHEL default logging setup on performance and their mitigations を参照してください。
8.4. OpenSCAP
8.4.1. OpenSCAP API が統合
この更新により、統合された OpenSCAP 共有ライブラリー API を提供します。63 個のシンボルが削除され、14 個が追加され、4 個で署名が更新されました。OpenSCAP 1.3.0 で削除されたシンボルには以下が含まれます。
- バージョン 1.2.0 で非推奨とされたシンボル
- SEAP プロトコルシンボル
- 内部ヘルパー関数
- 未使用のライブラリーシンボル
- 未実装シンボル
8.4.2. oscap-podman
が、コンテナーのセキュリティースキャンおよびコンプライアンススキャンで oscap-docker
に置き換え
RHEL 8.2 では、コンテナーのセキュリティースキャンおよびコンプライアンススキャンを行うための新しいユーティリティーが導入されました。oscap-podman
ツールが、RHEL 7 におけるコンテナーおよびコンテナーイメージのスキャンを提供する oscap-docker
ユーティリティーと同等のものを提供します。
詳細は、コンテナーおよびコンテナーイメージの脆弱性スキャン セクションを参照してください。
8.5. Audit
8.5.1. Audit 3.0 で audispd
が auditd
に置き換え
今回の更新で、audispd
機能が auditd
に移行しました。したがって、plugins.d
設定オプションが auditd.conf
に追加されました。また、plugins.d
ディレクトリーが、/etc/audit
に移動しました。auditd
と、そのプラグインの現在のステータスは、service auditd state
コマンドを実行すれば確認できます。
8.6. SELinux
8.6.1. SELinux パッケージが Python 3 に移行
-
policycoreutils-python
は、policycoreutils-python-utils
パッケージおよびpython3-policycoreutils
パッケージに置き換えられました。 -
libselinux-python
パッケージの機能は、python3-libselinux
パッケージで提供されるようになりました。 -
setools-libs
パッケージの機能は、python3-setools
パッケージで提供されるようになりました。 -
libsemanage-python
パッケージの機能は、python3-libsemanage
パッケージで提供されるようになりました。
8.6.2. SELinux サブパッケージの変更点
-
libselinux-static
、libsemanage-static
、libsepol-static
、およびsetools-libs-tcl
が削除されました。 -
RHEL 8.0 および 8.1 では、
setools-gui
およびsetools-console-analyses
は利用できません。RHEL 8.2 は、このサブパッケージを含む RHEL 8 の最初のマイナーバージョンです。
8.6.3. SELinux ポリシーの変更
init_t
ドメインタイプは、RHEL 8 で無制限ではなくなりました。これにより、別の SELinux ラベル付けアプローチを使用するサードパーティーアプリケーションで問題が発生する可能性があります。
標準以外の場所における SELinux のラベル付けの問題を解決するために、このような場所に対して同等のファイルのコンテキストを設定できます。
/my/apps
および/
ディレクトリーに対して、同等のファイルのコンテキストを設定します。# semanage fcontext -a -e / /my/apps
SELinux ポリシーのローカルカスタマイズを表示して、ファイルのコンテキストが同じであることを確認します。
# semanage fcontext -l -C SELinux Local fcontext Equivalence /my/apps = /
/my/apps
のコンテキストをデフォルトに戻すと、/
のコンテキストと同等になります。# restorecon -Rv /my/apps restorecon reset /my/apps context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:root_t:s0 restorecon reset /my/apps/bin context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0 restorecon reset /my/apps/bin/executable context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0
この方法では、標準以外の場所にインストールされた大部分のファイルとディレクトリーに正しいラベルが割り当てられます。これにより、正しくラベル付けされたプロセスが一部の実行可能ファイルによって開始されるようになります。
ファイルコンテキストの等価性を削除するには、次のコマンドを使用します。
# semanage fcontext -d -e / /my/apps
-
詳細は、
semanage-fcontext
man ページを参照してください。
8.6.4. SELinux ブール値の変更点
8.6.4.1. 新しい SELinux ブール値
今回の SELinux システムポリシーの更新により、以下のブール値が追加されました。
-
colord_use_nfs
-
deny_bluetooth
-
httpd_use_opencryptoki
-
logrotate_use_fusefs
-
mysql_connect_http
-
pdns_can_network_connect_db
-
ssh_use_tcpd
-
sslh_can_bind_any_port
-
sslh_can_connect_any_port
-
tor_can_onion_services
-
unconfined_dyntrans_all
-
use_virtualbox
-
virt_sandbox_share_apache_content
-
virt_use_pcscd
8.6.4.2. 削除された SELinux ブール値
RHEL 8 SELinux ポリシーは、以前のリリースで使用できた以下のブール値を提供しません。
-
container_can_connect_any
-
ganesha_use_fusefs
8.6.4.3. デフォルト値の変更
RHEL 8 では、以下の SELinux ブール値が、以前のリリースとは異なるデフォルト値に設定されます。
-
domain_can_mmap_files
はデフォルトでoff
になりました。 -
httpd_graceful_shutdown
はデフォルトでoff
になりました。 -
Mozilla_plugin_can_network_connect
はデフォルトでon
になりました。 -
named_write_master_zones
はデフォルトでon
になりました。
さらに、antivirus_use_jit
および ssh_chroot_rw_homedirs
のブール値の説明が変更になりました。
ブール値のリストとその意味を取得し、有効かどうかを調べるには、selinux-policy-devel
パッケージをインストールして、以下のコマンドを実行します。
# semanage boolean -l
8.6.5. SELinux ポートタイプの変更点
RHEL 8 SELinux ポリシーは、以下の追加ポートタイプを提供します。
-
appswitch_emp_port_t
-
babel_port_t
-
bfd_control_port_t
-
conntrackd_port_t
-
firepower_port_t
-
nmea_port_t
-
nsca_port_t
-
openqa_port_t
-
openqa_websockets_port_t
-
priority_e_com_port_t
-
qpasa_agent_port_t
-
rkt_port_t
-
smntubootstrap_port_t
-
statsd_port_t
-
versa_tek_port_t
ポートタイプ dns_port_t
および ephemeral_port_t
の定義が変更され、gluster_port_t
ポートタイプが削除されました。
8.6.6. sesearch
の使用方法の変更点
-
sesearch
コマンドは、-C
オプションを使用しなくなり、条件式を含める必要があります。 -T-
、-type
オプションが以下のように変更になりました。-
-T
、--type_trans
- type_transition ルールを検索します。 -
--type_member
- type_member ルールを検索します。 -
--type_change
- type_change ルールを検索します。
-
8.7. 削除されたセキュリティー機能
8.7.1. shadow-utils
では、ユーザー名およびグループ名に数値だけを使用することができなくなる
useradd
コマンドおよび groupadd
コマンドでは、数値だけのユーザー名とグループ名を使用することができません。ユーザー ID およびグループ ID は数値となるため、数値だけのユーザー名およびグループ名を使用すると、ユーザー名とユーザー ID、またはグループ名とグループ ID を組み合わせて使用するツールで、混乱が生まれるためです。数値だけのユーザー名およびグループ名は、Red Hat Enterprise Linux 7 では非推奨となり、Red Hat Enterprise Linux 8 では完全に対応されなくなりました。
8.7.2. securetty
がデフォルトで無効になる
最新の Linux システムでは、tty
デバイスファイルの動的な特性により、PAM モジュール securetty
はデフォルトで無効になり、/etc/securetty
設定ファイルが RHEL に含まれなくなりました。/etc/securetty
には可能なデバイスが多数含まれているため、ほとんど場合は、実用的な効果はデフォルトで許可され、この変更の影響はあまり受けません。より大きな制限を使用する場合は、/etc/pam.d
ディレクトリーの適切なファイルに、pam_securetty.so
モジュールを有効にする行を追加して、新しい /etc/securetty
ファイルを作成する必要があります。
8.7.3. Clevis
HTTP ピンが削除される
Clevis
の HTTP ピンが RHEL 8 から削除され、サブコマンドの clevis encrypt http
が利用できなくなりました。
8.7.3.1. Coolkey
が削除される
スマートカードの Coolkey
ドライバーが RHEL 8 から削除されており、その機能が OpenSC
から提供されるようになりました。
8.7.3.2. crypto-utils
が削除される
crypto-utils
パッケージが RHEL 8 から削除されました。代わりに、openssl
パッケージ、gnutls-utils
パッケージ、および nss-tools
パッケージによるツールを使用できます。
8.7.3.3. Libreswan
から KLIPS が削除される
Red Hat Enterprise Linux 8 では、Kernel IP Security (KLIPS) IPsec スタックのサポートが Libreswan
から削除されました。
第9章 ネットワーク
9.1. NetworkManager
9.1.1. 従来のネットワークスクリプトのサポート
Red Hat Enterprise Linux 8 では、ネットワークスクリプトが非推奨となっており、デフォルトでは提供されなくなりました。基本インストールでは、nmcli ツールを介して NetworkManager を呼び出す ifup
スクリプトおよび ifdown
スクリプトの新しいバージョンが提供されます。Red Hat Enterprise Linux 8 で ifup
スクリプトおよび ifdown
スクリプトを実行する場合は、NetworkManager が起動している必要があります。
/sbin/ifup-local
スクリプト、ifdown-pre-local
スクリプト、および ifdown-local
スクリプトのカスタムコマンドは実行されません。
このスクリプトが必要な場合は、次のコマンドを使用すれば、システムに非推奨のネットワークスクリプトをインストールできます。
# yum install network-scripts
ifup
スクリプトおよび ifdown
スクリプトが、インストールされた従来のネットワークスクリプトにリンクします。
従来のネットワークスクリプトを呼び出すと、そのスクリプトが非推奨であることを示す警告が表示されます。
9.1.2. NetworkManager が SR-IOV 仮想機能に対応
Red Hat Enterprise Linux 8 では、NetworkManager で、SR-IOV (Single Root I/O virtualization) に対応するインターフェイスに仮想ファンクション (VF) の数を設定できます。また、NetworkManager では、MAC アドレス、VLAN、spoof checking
設定、許可されるビットレートなど、仮想関数の属性の一部を設定できます。SR-IOV に関連するプロパティーはすべて、sriov
接続の設定で利用できます。詳細は、man ページの nm-settings(5)
を参照してください。
9.1.3. NetworkManager が、接続に対するワイルドカードインターフェイスの名前一致に対応
以前は、インターフェイス名の完全一致のみを使用して、特定のインターフェイスへの接続を制限していました。今回の更新で、接続には、ワイルドカードに対応する新しい match.interface-name プロパティーが含まれるようになりました。この更新により、ワイルドカードパターンを使用した柔軟な方法で、接続用インターフェイスを選択できるようになります。
9.1.4. NetworkManager が、ethtool オフロード機能の設定に対応
この機能強化により、NetworkManager
は、ethtool
オフロード機能の設定に対応するため、init スクリプトまたは NetworkManager
ディスパッチャースクリプトを使用しなくなりました。その結果、以下のいずれかの方法を使用して、接続プロファイルの一部としてオフロード機能を設定できるようになりました。
-
nmcli
ユーティリティーを使用する -
/etc/NetworkManager/system-connections/
ディレクトリーのキーファイルを編集する -
/etc/sysconfig/network-scripts/ifcfg-*
ファイルを編集する
この機能は、現在、グラフィカルインターフェイスと nmtui
ユーティリティーでは対応していないことに注意してください。
詳細は、nmcli を使用した ethtool オフロード機能の設定 を参照してください。
9.1.5. NetworkManager が、デフォルトで内部 DHCP プラグインを使用するようになる
NetworkManager は、DHCP プラグインの internal
および dhclient
に対応します。デフォルトでは、Red Hat Enterprise Linux (RHEL) 7 の NetworkManager は dhclient
を使用し、RHEL 8 では 内部
プラグインを使用します。特定の状況では、プラグインの動作が異なります。たとえば、dhclient
は、/etc/dhcp/
ディレクトリーで指定されている追加設定を使用できます。
RHEL 7 から RHEL 8 にアップグレードした際に NetworkManager の動作が異なる場合は、dhclient
プラグインを使用するために、/etc/NetworkManager/NetworkManager.conf
ファイルの [main]
セクションに、以下の設定を追加します。
[main] dhcp=dhclient
9.1.6. RHEL 8 では、NetworkManager-config-server パッケージがデフォルトでインストールされない
NetworkManager-config-server
パッケージは、セットアップ中にベース環境の Server
または Server with GUI
のいずれかを選択した場合に限り、デフォルトでインストールされます。別の環境を選択した場合は、yum install NetworkManager-config-server
コマンドを使用してパッケージをインストールします。
9.2. パケットのフィルタリング
9.2.1. nftables
が、iptables
を、デフォルトのネットワークパケットフィルタリングのフレークワークとして置き換え
nftables
フレームワークは、パケットの分類機能を提供し、iptables
ツール、ip6tables
ツール、arptables
ツール、ebtables
ツール、および ipset
ツールの後継となります。利便性、機能、パフォーマンスにおいて、以前のパケットフィルタリングツールに多くの改良が追加されました。以下に例を示します。
- 線形処理の代わりにルックアップテーブルを使用
-
IPv4
プロトコルおよびIPv6
プロトコルに対する 1 つのフレームワーク - 完全ルールセットのフェッチ、更新、および保存を行わず、すべてアトミックに適用されるルール
-
ルールセットにおけるデバッグおよびトレースへの対応 (
nftrace
) およびトレースイベントの監視 (nft
ツール) - より統一されたコンパクトな構文、プロトコル固有の拡張なし
- サードパーティーのアプリケーション用 Netlink API
iptables
と同様、nftables
は、チェーンを保存するテーブルを使用します。このチェーンには、アクションを実行する個々のルールが含まれます。nft
ツールは、以前のパケットフィルタリングフレームワークのツールをすべて置き換えます。libnftables
ライブラリーは、libmnl
ライブラリーの Netlink API nftables
で、低レベルの対話のために使用できます。
iptables
ツール、ip6tables
ツール、ebtables
ツール、および arptables
ツールは、nftables ベースの同じ名前のドロップインツールに置き換えられました。外部の挙動は従来のものと同じですが、内部的には必要に応じて互換インターフェイスを通して、従来の netfilter
カーネルモジュールを使用した nftables
を使用します。
nftables
ルールセットに対するモジュールの効果は、nft list ruleset
コマンドを使用して確認できます。これらのツールは、テーブル、チェーン、およびルールを nftables
ルールセットに追加するため、nft flush ruleset
コマンドなどの nftables
ルールセット操作は、先に別の従来のコマンドを使用してインストールしたルールセットに影響を及ぼす可能性があることに注意してください。
どの種類のツールが存在するかをすばやく特定するために、バージョン情報にバックエンド名が追加されるようになりました。RHEL 8 では、nftables ベースの iptables
ツールで、次のバージョン文字列が出力されます。
$ iptables --version iptables v1.8.0 (nf_tables)
一方、従来の iptables
ツールが存在する場合は、次のバージョン情報が出力されます。
$ iptables --version iptables v1.8.0 (legacy)
9.2.2. RHEL 8 で、フィルターテーブルから Arptables
FORWARD が削除される
arptables
の FORWARD チェーン機能は、Red Hat Enterprise Linux (RHEL) 8 から削除されました。ebtables
ツールの FORWARD チェーンを使用して、ルールを追加できるようになりました。
9.2.3. iptables-ebtables
の出力の一部が、ebtables
との完全な互換性がない
RHEL 8 では、ebtables
コマンドは、iptables-ebtables
パッケージが提供します。ここには、このツールが nftables
ベースで再実装されています。このツールには別のコードベースがあり、その出力は、側面が異なる場合があるため、無視できるか、設計上の選択を慎重に検討する必要があります。
したがって、ebtables
出力を解析するスクリプトを移行する際に、以下を反映するスクリプトを調整します。
- MAC アドレスの書式が、長さが固定されるように変更されました。octet 値では、2 文字の書式を維持するために、必要に応じて、個々のバイト値の前にゼロが含まれます。
- IPv6 接頭辞の形式が、RFC 4291 に準拠するように変更になりました。スラッシュ文字の後ろの終了部分には、IPv6 アドレスフォーマットのネットマスクが含まなくなりましたが、接頭辞長は含まれます。この変更は、有効な (左連続の) マスクにしか適用されませんが、それ以外の場合は、古い形式で印刷されます。
9.2.4. iptables
を nftables
に変換する新しいツール
今回の更新で、既存の iptables
ルールまたは ip6tables
ルールを、nftables
で同等のルールに変換する iptables-translate
ツールおよび ip6tables-translate
ツールが追加されました。拡張機能によっては変換機能がない場合もあります。対応する機能がない拡張機能が存在する場合は、ツールにより、その前に #
記号が付いた未変換ルールが出力されます。以下に例を示します。
| % iptables-translate -A INPUT -j CHECKSUM --checksum-fill | nft # -A INPUT -j CHECKSUM --checksum-fill
また、ユーザーは、iptables-restore-translate
ツールおよび ip6tables-restore-translate
ツールを使用して、ルールのダンプを変換できます。その前に、iptables-save
コマンドまたは ip6tables-save
コマンドを使用して、現在のルールのダンプを出力できます。以下に例を示します。
| % sudo iptables-save >/tmp/iptables.dump | % iptables-restore-translate -f /tmp/iptables.dump | # Translated by iptables-restore-translate v1.8.0 on Wed Oct 17 17:00:13 2018 | add table ip nat | ...
9.3. wpa_supplicant
の変更点
9.3.1. journalctl
が wpa_supplicant
ログを読み込む
Red Hat Enterprise Linux (RHEL) 8 の wpa_supplicant
パッケージは、CONFIG_DEBUG_SYSLOG
が有効になった状態で構築されています。これにより、/var/log/wpa_supplicant.log
ファイルの内容を確認する代わりに、journalctl
ユーティリティーを使用して wpa_supplicant
ログを読み取ることができます。
9.3.2. wpa_supplicant
のワイヤレス拡張に対する compile-time サポートが無効になっている
wpa_supplicant
パッケージでは、ワイヤレス拡張に対応していません。コマンドラインの引数として wext
を使用する場合、またはワイヤレス拡張にのみ対応する古いアダプターのみを使用する場合は、wpa_supplicant
デーモンを実行できません。
9.4. 新しいデータチャンクタイプ I-DATA
が SCTP に追加
今回の更新で、新しいデータチャンクタイプ (I-DATA
)、およびストリームスケジューラーが SCTP (Stream Control Transmission Protocol) に追加されました。以前は、ユーザーが送信する順序で SCTP がユーザーメッセージを送信していました。このため、SCTP ユーザーメッセージが大きくなると、送信が完了するまで、ストリーム内の他のすべてのメッセージがブロックされていました。I-DATA
チャンクを使用している場合は、Transmission Sequence Number (TSN) フィールドがオーバーロードされません。そのため、SCTP ではさまざまな方法でストリームをスケジュールできるようになり、I-DATA
ではユーザーメッセージのインターリーブ (RFC 8260) が可能になりました。両方のピアが I-DATA
チャンクタイプに対応する必要があることに注意してください。
9.5. RHEL 8 における TCP の新機能
Red Hat Enterprise Linux 8 には、TCP ネットワーキングスタックバージョン 4.18 が同梱され、より高いパフォーマンスおよび安定性と、より優れたスケーラビリティーが提供されます。特に、入力接続率が高い、ビジー状態の TCP サーバーのパフォーマンスが向上します。
また、2 つの新しい TCP 輻輳制御アルゴリズム (BBR
および NV
) が利用でき、ほとんどのシナリオで、キュービックよりもレイテンシーが短く、スループットも良くなります。
9.5.1. RHEL 8 における TCP BBR への対応
Red Hat Enterprise Linux (RHEL) 8 では、新しい TCP 輻輳制御アルゴリズムである BBR (Bottleneck Bandwidth and Round-trip time) に対応するようになりました。BBR は、ボトルネックリンクおよびラウンドトリップ時間 (RTT) の帯域幅を決定します。ほとんどの輻輳アルゴリズムは、パケットロス (デフォルトの Linux TCP 輻輳制御アルゴリズムである CUBIC を含む) に基づいており、高スループットのリンクの問題をかかえています。BBR は、損失イベントに直接反応せず、利用可能な帯域幅をそれと一致させて、TCP ペーシングレートを調整します。
詳細は、How to configure TCP BBR congestion control algorithm の記事を参照してください。
9.7. ネットワークインターフェイス名の変更
Red Hat Enterprise Linux 8 では、RHEL 7 と同じ一貫性のあるネットワークデバイス命名スキームがデフォルトで使用されます。ただし、一部のカーネルドライバー (e1000e
、nfp
、qede
、sfc
、tg3
、bnxt_en
など) では、RHEL 8 の新規インストールで一貫した名前が変更になりました。ただし、RHEL 7 からアップグレードする場合はこの名前が保持されます。
9.8. ipv6
、netmask
、gateway
、および hostname
カーネルパラメーターを削除
RHEL 8.3 以降では、カーネルコマンドラインでネットワークを設定する ipv6
、netmask
、gateway
、および hostname
カーネルパラメーターは利用できなくなりました。代わりに、以下のような各種形式に対応するようにまとめられた ip
パラメーターを使用します。
ip=IP_address:peer:gateway_IP_address:net_mask:host_name:interface_name:configuration_method
個々のフィールドや、このパラメーターで使用できるその他の形式の詳細は、dracut.cmdline(7)
の man ページの ip
パラメーターの説明を参照してください。
9.9. tc
コマンドの -ok
オプションが削除される
tc
コマンドの -ok
オプションが、Red Hat Enterprise Linux 8 から削除されました。回避策として、カーネルを使用した netlink から直接通信するコードを実装できます。受け取った応答メッセージは、送信した要求の完了およびステータスを示します。時間がそれほど重要ではないアプリケーションに対する別の方法は、各コマンドに対して個別に tc
を呼び出すことです。これは、カスタムスクリプトで発生する可能性があります。これは、成功したそれぞれの tc
起動に対して OK
を出力することで、tc -batch
動作をシミュレートします。
9.10. ethtool
ユーティリティーの PTP 機能出力形式が変更されました
RHEL 8.4 以降、ethtool
ユーティリティーはカーネルとの通信に ioctl()
システムコールではなく netlink
インターフェイスを使用します。したがって、ethtool -T <network_controller>
コマンドを使用すると、Precision Time Protocol (PTP) 値の形式が変更されます。
以前は、ioctl()
インターフェイスでは、ethtool は
ethtool
-internal 文字列テーブルを使用して機能ビット名を変換し、ethtool -T <network_controller>
コマンドは次のように表示しました。
Time stamping parameters for <network_controller>:
Capabilities:
hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)
software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE)
...
netlink
インターフェイスを使用すると、ethtool は
カーネルから文字列を受け取ります。これらの文字列には、内部の SOF_TIMESTAMPING_*
名は含まれません。したがって、ethtool -T <network_controller>
は次のように表示されます。
Time stamping parameters for <network_controller>:
Capabilities:
hardware-transmit
software-transmit
...
スクリプトまたはアプリケーションで ethtool
の PTP 機能出力を使用する場合は、それに応じて更新してください。
第10章 カーネル
10.1. リソース制御
10.1.1. RHEL 8 で、Control Group v2 がテクノロジーグループとして利用可能
Control Group v2 メカニズムは、統一された階層制御グループです。Control Group v2 は、プロセスを階層的に編成し、制御された設定可能な方法で、階層に従ってシステムリソースを分配します。
以前のバージョンとは異なり、control group v2 には階層が 1 つしかありません。このように階層が単純であるため、Linux カーネルでは次のことが可能になります。
- 所有者のロールに基づいたプロセスの分類
- 複数の階層でポリシーが競合する問題の解消
Control group v2 は、非常に多くのコントローラーに対応します。
CPU コントローラーにより、CPU サイクルの配分が調整されます。このコントローラーには以下が実装されています。
- 通常のスケジューリングポリシーに対する重みおよび絶対帯域幅制限のモデル
- 実時間スケジューリングポリシーに対する絶対帯域幅割り当てモデル
メモリーコントローラーは、メモリー配分を調整します。現在、次の種類のメモリー使用量が追跡されます。
- ユーザー側のメモリー (ページキャッシュと匿名メモリー)
- dentry、inode などのカーネルデータ構造
- TCP ソケットバッファー
- I/O コントローラーは、I/O リソースの配分を制限します。
- Remote Direct Memory Access (RDMA) コントローラーは、一部のプロセスが使用できる、RDMA/IB に固有のリソースを制限します。このプロセスは、RDMA コントローラーによりグループ化されます。
-
プロセス番号コントローラーは、特定の制限後に、コントロールグループが、新しいタスクが
fork()
されない、またはclone()
されないようにできます。 - Writeback コントローラーがメカニズムとして動作します。これは、I/O コントローラーとメモリーコントローラーとの間の矛盾が相殺されます。
上記の情報は、cgroups-v2 オンラインドキュメント に基づいています。ここでは、個別の control group v2 コントローラーに関する詳細を取得できます。
10.2. メモリーの管理
10.2.1. 64 ビット ARM に 52 ビット PA が利用可能
今回の更新で、64 ビット ARM アーキテクチャー用の 52 ビット物理アドレッシング (PA) に対応するようになりました。これにより、以前の 48 ビットの PA よりも大きな物理アドレス空間が提供されます。
10.2.2. 5 レベルのページテーブル x86_64
RHEL 7 では、既存のメモリーバスには 48/46 ビットの仮想/物理メモリーアドレス容量があり、Linux カーネルが 4 つのレベルのページテーブルを実装して、物理アドレスへの仮想アドレスを管理します。物理バスのアドレス線は、物理メモリーの容量の上限を 64 TB に制限します。
この制限は、57/52 ビットの仮想および物理のメモリーアドレスにより、128 PiB の仮想アドレス空間 (64PB ユーザー/64PB カーネル) と、4 PB の物理メモリーの容量まで拡張されました。
拡張されたアドレス範囲により、RHEL 8 のメモリー管理は 5 レベルのページテーブル実装のサポートを追加します。この実装では、最大 128 PiB の仮想アドレス空間と 4 PiB の物理アドレス空間で、拡張されたアドレス範囲を処理できます。
5 レベルのページテーブルは、取り付けられている物理メモリーが 64 TiB 未満であっても、この機能をサポートできるハードウェアではデフォルトで有効になっています。メモリーが 64 TiB 未満のシステムでは、5 レベルのページテーブルを移動する場合にオーバーヘッドがわずかに増加します。このオーバーヘッドを回避するには、no5lvl
カーネルコマンドラインパラメーターを使用して 5 レベルのページテーブルを無効にし、強制的に 4 レベルのページテーブルを使用するようにできます。
10.3. パフォーマンス分析と可観測性ツール
10.3.1. カーネルに bpftool が追加される
eBPF (extended Berkeley Packet Filtering) に基づくプログラムおよびマップの検査と簡単な操作を行う bpftool
ユーティリティーが Linux カーネルに追加されました。bpftool
はカーネルソースツリーの一部で、bpftool パッケージにより提供されます。これは、kernel パッケージのサブパッケージとして含まれています。
10.3.2. eBPF がテクノロジープレビューとして利用可能に
eBPF (extended Berkeley Packet Filtering) 機能は、テクノロジープレビューとしてネットワーキングおよびトレースの両方に利用できます。eBPF を使用すると、ユーザー空間はカスタムプログラムをさまざまなポイント (ソケット、トレースポイント、パケット受信) に接続してデータを受信して処理できるようにします。この機能には、新しいシステムコール bpf()
が含まれます。これは、様々な種類のマップの作成と、様々な種類のプログラムの更新に対応します。bpf()
は、root など、CAP_SYS_ADMIN
が付与されているユーザーのみが利用できます。詳細は、man ページの bpf
(2) を参照してください。
10.3.3. BCC がテクノロジープレビューとして利用可能に
BPF コンパイラーコレクション (BCC)
は、RHEL 8 でテクノロジープレビューとして利用できる、効率的なカーネルの追跡および操作プログラムを作成するユーザー空間ツールパッケージです。BCC
は、eBPF (extended Berkeley Packet Filtering)
を使用して、Linux オペレーティングシステムの I/O 解析、ネットワーキング、およびモニタリング用のツールを提供します。
10.4. ブートプロセス
10.4.1. RHEL でカスタムカーネルをインストールして起動する方法
Boot Loader Specification (BLS) は、スキームと、ファイルフォーマットを定義して、ドロップインディレクトリーの各起動オプションで、ブートローダー設定を管理します。それぞれのドロップイン設定ファイルを操作する必要はありません。すべてのアーキテクチャーが同じブートローダーを使用するわけではないため、この前提は RHEL 8 に特に関係があります。
-
Open Firmware を使用する
x86_64
、aarch64
、およびppc64le
がGRUB2
を使用する -
Open Power Abstraction Layer (OPAL) を使用する
ppc64le
がPetitboot
を使用する -
s390x
がzipl
を使用する
各ブートローダーには、新しいカーネルがインストールまたは削除された場合に修正が必要な設定ファイルおよびフォーマットが異なります。以前のバージョンの RHEL では、grubby
ユーティリティーが、この動作を可能にするコンポーネントでした。ただし、RHEL 8 の場合、ブートローダーの設定は、BLS ファイル形式の実装により標準化されました。ここでは、grubby
は、BLS 操作のシンラッパーとして動作します。
10.4.2. RHEL での初期の kdump サポート
以前は、起動プロセスの初期段階で発生したカーネルクラッシュを登録するために kdump
サービスの起動に時間がかかりすぎていました。このため、トラブルシューティングの可能性とクラッシュ情報が失われていました。
この問題に対処するために、RHEL 8 では、early kdump
サポートが導入されました。このメカニズムの詳細は、/usr/share/doc/kexec-tools/early-kdump-howto.txt
ファイルを参照してください。What is early kdump support and how do I configure it? も参照してください。
第11章 ハードウェアの有効化
11.1. 削除されたハードウェアサポート
次のデバイスドライバーとアダプターは RHEL 7 でサポートされていましたが、RHEL 8.0 では使用できなくなりました。
11.1.1. 削除したデバイスのドライバー
次のデバイスドライバーのサポートは、RHEL 8 から削除されました。
- 3w-9xxx
- 3w-sas
- aic79xx
- aoe
- arcmsr
ata ドライバー:
- acard-ahci
- sata_mv
- sata_nv
- sata_promise
- sata_qstor
- sata_sil
- sata_sil24
- sata_sis
- sata_svw
- sata_sx4
- sata_uli
- sata_via
- sata_vsc
- bfa
- cxgb3
- cxgb3i
- e1000
- floppy
- hptiop
- initio
- isci
- iw_cxgb3
- mptbase - このドライバーは、仮想化のユースケースと容易なデベロッパートランジションに使用されます。ただし、サポートされていません。
- mptctl
- mptsas - このドライバーは、仮想化のユースケースと容易なデベロッパートランジションに使用されます。ただし、サポートされていません。
- mptscsih - このドライバーは、仮想化のユースケースと容易なデベロッパートランジションに使用されます。ただし、サポートされていません。
- mptspi - このドライバーは、仮想化のユースケースと容易なデベロッパートランジションに使用されます。ただし、サポートされていません。
- mthca
- mtip32xx
- mvsas
- mvumi
OSD ドライバー:
- osd
- libosd
- osst
pata ドライバー:
- pata_acpi
- pata_ali
- pata_amd
- pata_arasan_cf
- pata_artop
- pata_atiixp
- pata_atp867x
- pata_cmd64x
- pata_cs5536
- pata_hpt366
- pata_hpt37x
- pata_hpt3x2n
- pata_hpt3x3
- pata_it8213
- pata_it821x
- pata_jmicron
- pata_marvell
- pata_netcell
- pata_ninja32
- pata_oldpiix
- pata_pdc2027x
- pata_pdc202xx_old
- pata_piccolo
- pata_rdc
- pata_sch
- pata_serverworks
- pata_sil680
- pata_sis
- pata_via
- pdc_adma
- pm80xx(pm8001)
- pmcraid
- qla3xxx - このドライバーは、仮想化のユースケースと容易なデベロッパートランジションに使用されます。ただし、サポートされていません。
- qlcnic
- qlge
- stex
- sx8
- tulip
- ufshcd
ワイヤレスドライバー:
- carl9170
- iwl4965
- iwl3945
- mwl8k
- rt73usb
- rt61pci
- rtl8187
- wil6210
11.1.2. 削除されたアダプター
以下に記載のアダプターのサポートは RHEL 8 から削除されました。上記のドライバーのアダプター以外のサポートは変更しません。
PCI ID は、vendor:device:subvendor:subdevice の形式です。subdevice エントリーまたは subvendor:subdevice エントリーがリストにない場合は、そのような不明なエントリーの値を持つデバイスが削除されています。
ご使用のシステムでハードウェアの PCI ID を確認するには、lspci -nn
コマンドを実行します。
aacraid
ドライバーから次のアダプターが削除されました。- PERC 2/Si (Iguana/PERC2Si)、PCI ID 0x1028:0x0001:0x1028:0x0001
- PERC 3/Di (Opal/PERC3Di)、PCI ID 0x1028:0x0002:0x1028:0x0002
- PERC 3/Si (SlimFast/PERC3Si)、PCI ID 0x1028:0x0003:0x1028:0x0003
- PERC 3/Di (Iguana FlipChip/PERC3DiF)、PCI ID 0x1028:0x0004:0x1028:0x00d0
- PERC 3/Di (Viper/PERC3DiV)、PCI ID 0x1028:0x0002:0x1028:0x00d1
- PERC 3/Di (Lexus/PERC3DiL)、PCI ID 0x1028:0x0002:0x1028:0x00d9
- PERC 3/Di (Jaguar/PERC3DiJ)、PCI ID 0x1028:0x000a:0x1028:0x0106
- PERC 3/Di (Dagger/PERC3DiD)、PCI ID 0x1028:0x000a:0x1028:0x011b
- PERC 3/Di (Boxster/PERC3DiB)、PCI ID 0x1028:0x000a:0x1028:0x0121
- catapult、PCI ID 0x9005:0x0283:0x9005:0x0283
- tomcat、PCI ID 0x9005:0x0284:0x9005:0x0284
- Adaptec 2120S (Crusader)、PCI ID 0x9005:0x0285:0x9005:0x0286
- Adaptec 2200S (Vulcan)、PCI ID 0x9005:0x0285:0x9005:0x0285
- Adaptec 2200S (Vulcan-2m)、PCI ID 0x9005:0x0285:0x9005:0x0287
- Legend S220 (Legend Crusader)、PCI ID 0x9005:0x0285:0x17aa:0x0286
- Legend S230 (Legend Vulcan)、PCI ID 0x9005:0x0285:0x17aa:0x0287
- Adaptec 3230S (Harrier)、PCI ID 0x9005:0x0285:0x9005:0x0288
- Adaptec 3240S (Tornado)、PCI ID 0x9005:0x0285:0x9005:0x0289
- ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk)、PCI ID 0x9005:0x0285:0x9005:0x028a
- ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator)、PCI ID 0x9005:0x0285:0x9005:0x028b
- ASR-2230S + ASR-2230SLP PCI-X (Lancer)、PCI ID 0x9005:0x0286:0x9005:0x028c
- ASR-2130S (Lancer)、PCI ID 0x9005:0x0286:0x9005:0x028d
- AAR-2820SA (Intruder)、PCI ID 0x9005:0x0286:0x9005:0x029b
- AAR-2620SA (Intruder)、PCI ID 0x9005:0x0286:0x9005:0x029c
- AAR-2420SA (Intruder)、PCI ID 0x9005:0x0286:0x9005:0x029d
- ICP9024RO (Lancer)、PCI ID 0x9005:0x0286:0x9005:0x029e
- ICP9014RO (Lancer)、PCI ID 0x9005:0x0286:0x9005:0x029f
- ICP9047MA (Lancer)、PCI ID 0x9005:0x0286:0x9005:0x02a0
- ICP9087MA (Lancer)、PCI ID 0x9005:0x0286:0x9005:0x02a1
- ICP5445AU (Hurricane44)、PCI ID 0x9005:0x0286:0x9005:0x02a3
- ICP9085LI (Marauder-X)、PCI ID 0x9005:0x0285:0x9005:0x02a4
- ICP5085BR (Marauder-E)、PCI ID 0x9005:0x0285:0x9005:0x02a5
- ICP9067MA (Intruder-6)、PCI ID 0x9005:0x0286:0x9005:0x02a6
- Themisto Jupiter Platform、PCI ID 0x9005:0x0287:0x9005:0x0800
- Themisto Jupiter Platform、PCI ID 0x9005:0x0200:0x9005:0x0200
- Callisto Jupiter Platform、PCI ID 0x9005:0x0286:0x9005:0x0800
- ASR-2020SA SATA PCI-X ZCR (Skyhawk)、PCI ID 0x9005:0x0285:0x9005:0x028e
- ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator)、PCI ID 0x9005:0x0285:0x9005:0x028f
- AAR-2410SA PCI SATA 4ch (Jaguar II)、PCI ID 0x9005:0x0285:0x9005:0x0290
- CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)、PCI ID 0x9005:0x0285:0x9005:0x0291
- AAR-2810SA PCI SATA 8ch (Corsair-8)、PCI ID 0x9005:0x0285:0x9005:0x0292
- AAR-21610SA PCI SATA 16ch (Corsair-16)、PCI ID 0x9005:0x0285:0x9005:0x0293
- ESD SO-DIMM PCI-X SATA ZCR (Prowler)、PCI ID 0x9005:0x0285:0x9005:0x0294
- AAR-2610SA PCI SATA 6ch、PCI ID 0x9005:0x0285:0x103C:0x3227
- ASR-2240S (SabreExpress)、PCI ID 0x9005:0x0285:0x9005:0x0296
- ASR-4005、PCI ID 0x9005:0x0285:0x9005:0x0297
- IBM 8i (AvonPark)、PCI ID 0x9005:0x0285:0x1014:0x02F2
- IBM 8i (AvonPark Lite)、PCI ID 0x9005:0x0285:0x1014:0x0312
- IBM 8k/8k-l8 (Aurora)、PCI ID 0x9005:0x0286:0x1014:0x9580
- IBM 8k/8k-l4 (Aurora Lite)、PCI ID 0x9005:0x0286:0x1014:0x9540
- ASR-4000 (BlackBird)、PCI ID 0x9005:0x0285:0x9005:0x0298
- ASR-4800SAS (Marauder-X)、PCI ID 0x9005:0x0285:0x9005:0x0299
- ASR-4805SAS (Marauder-E)、PCI ID 0x9005:0x0285:0x9005:0x029a
- ASR-3800 (Hurricane44)、PCI ID 0x9005:0x0286:0x9005:0x02a2
- Perc 320/DC、PCI ID 0x9005:0x0285:0x1028:0x0287
- Adaptec 5400S (Mustang)、PCI ID 0x1011:0x0046:0x9005:0x0365
- Adaptec 5400S (Mustang)、PCI ID 0x1011:0x0046:0x9005:0x0364
- Dell PERC2/QC、PCI ID 0x1011:0x0046:0x9005:0x1364
- HP NetRAID-4M、PCI ID 0x1011:0x0046:0x103c:0x10c2
- Dell Catchall、PCI ID 0x9005:0x0285:0x1028
- Legend Catchall、PCI ID 0x9005:0x0285:0x17aa
- Adaptec Catch All、PCI ID 0x9005:0x0285
- Adaptec Rocket Catch All、PCI ID 0x9005:0x0286
- Adaptec NEMER/ARK Catch All、PCI ID 0x9005:0x0288
mlx4_core
ドライバーの以下の Mellanox Gen 2 および ConnectX-2 アダプターが削除されました。- PCI ID 0x15B3:0x1002
- PCI ID 0x15B3:0x676E
- PCI ID 0x15B3:0x6746
- PCI ID 0x15B3:0x6764
- PCI ID 0x15B3:0x675A
- PCI ID 0x15B3:0x6372
- PCI ID 0x15B3:0x6750
- PCI ID 0x15B3:0x6368
- PCI ID 0x15B3:0x673C
- PCI ID 0x15B3:0x6732
- PCI ID 0x15B3:0x6354
- PCI ID 0x15B3:0x634A
- PCI ID 0x15B3:0x6340
mpt2sas
ドライバーから次のアダプターが削除されました。- SAS2004、PCI ID 0x1000:0x0070
- SAS2008、PCI ID 0x1000:0x0072
- SAS2108_1、PCI ID 0x1000:0x0074
- SAS2108_2、PCI ID 0x1000:0x0076
- SAS2108_3、PCI ID 0x1000:0x0077
- SAS2116_1、PCI ID 0x1000:0x0064
- SAS2116_2、PCI ID 0x1000:0x0065
- SSS6200、PCI ID 0x1000:0x007E
megaraid_sas
ドライバーから次のアダプターが削除されました。- Dell PERC5、PCI ID 0x1028:0x0015
- SAS1078R、PCI ID 0x1000:0x0060
- SAS1078DE、PCI ID 0x1000:0x007C
- SAS1064R、PCI ID 0x1000:0x0411
- VERDE_ZCR、PCI ID 0x1000:0x0413
- SAS1078GEN2、PCI ID 0x1000:0x0078
- SAS0079GEN2、PCI ID 0x1000:0x0079
- SAS0073SKINNY、PCI ID 0x1000:0x0073
- SAS0071SKINNY、 PCI ID 0x1000:0x0071
qla2xxx
ドライバーから次のアダプターが削除されました。- ISP24xx、PCI ID 0x1077:0x2422
- ISP24xx、PCI ID 0x1077:0x2432
- ISP2422、PCI ID 0x1077:0x5422
- QLE220、PCI ID 0x1077:0x5432
- QLE81xx、PCI ID 0x1077:0x8001
- QLE10000、PCI ID 0x1077:0xF000
- QLE84xx、PCI ID 0x1077:0x8044
- QLE8000、PCI ID 0x1077:0x8432
- QLE82xx、PCI ID 0x1077:0x8021
qla4xxx
ドライバーから次のアダプターが削除されました。- QLOGIC_ISP8022、PCI ID 0x1077:0x8022
- QLOGIC_ISP8324、PCI ID 0x1077:0x8032
- QLOGIC_ISP8042、PCI ID 0x1077:0x8042
be2iscsi
ドライバーから次のアダプターが削除されました。BladeEngine 2 (BE2) デバイス
- BladeEngine2 10Gb iSCSI Initiator (汎用)、PCI ID 0x19a2:0x212
- OneConnect OCe10101、OCm10101、OCe10102、OCm10102 BE2 アダプターファミリー、PCI ID 0x19a2:0x702
- OCe10100 BE2 アダプターファミリー、PCI ID 0x19a2:0x703
BladeEngine 3 (BE3) デバイス
- OneConnect TOMCAT iSCSI、PCI ID 0x19a2:0x0712
- BladeEngine3 iSCSI、PCI ID 0x19a2:0x0222
be2net
ドライバーが制御する次のイーサネットアダプターが削除されました。BladeEngine 2 (BE2) デバイス
- OneConnect TIGERSHARK NIC、PCI ID 0x19a2:0x0700
- BladeEngine2 Network Adapter、PCI ID 0x19a2:0x0211
BladeEngine 3 (BE3) デバイス
- OneConnect TOMCAT NIC、PCI ID 0x19a2:0x0710
- BladeEngine3 Network Adapter、PCI ID 0x19a2:0x0221
lpfc
ドライバーから次のアダプターが削除されました。BladeEngine 2 (BE2) デバイス
- OneConnect TIGERSHARK FCoE、PCI ID 0x19a2:0x0704
BladeEngine 3 (BE3) デバイス
- OneConnect TOMCAT FCoE、PCI ID 0x19a2:0x0714
ファイバーチャンネル (FC) デバイス
- FIREFLY、PCI ID 0x10df:0x1ae5
- PROTEUS_VF、PCI ID 0x10df:0xe100
- BALIUS、PCI ID 0x10df:0xe131
- PROTEUS_PF、PCI ID 0x10df:0xe180
- RFLY、PCI ID 0x10df:0xf095
- PFLY、PCI ID 0x10df:0xf098
- LP101、PCI ID 0x10df:0xf0a1
- TFLY、PCI ID 0x10df:0xf0a5
- BSMB、PCI ID 0x10df:0xf0d1
- BMID、PCI ID 0x10df:0xf0d5
- ZSMB、PCI ID 0x10df:0xf0e1
- ZMID、PCI ID 0x10df:0xf0e5
- NEPTUNE、PCI ID 0x10df:0xf0f5
- NEPTUNE_SCSP、PCI ID 0x10df:0xf0f6
- NEPTUNE_DCSP、PCI ID 0x10df:0xf0f7
- FALCON、PCI ID 0x10df:0xf180
- SUPERFLY、PCI ID 0x10df:0xf700
- DRAGONFLY、PCI ID 0x10df:0xf800
- CENTAUR、PCI ID 0x10df:0xf900
- PEGASUS、PCI ID 0x10df:0xf980
- THOR、PCI ID 0x10df:0xfa00
- VIPER、PCI ID 0x10df:0xfb00
- LP10000S、PCI ID 0x10df:0xfc00
- LP11000S、PCI ID 0x10df:0xfc10
- LPE11000S、PCI ID 0x10df:0xfc20
- PROTEUS_S、PCI ID 0x10df:0xfc50
- HELIOS、PCI ID 0x10df:0xfd00
- HELIOS_SCSP、PCI ID 0x10df:0xfd11
- HELIOS_DCSP、PCI ID 0x10df:0xfd12
- ZEPHYR、PCI ID 0x10df:0xfe00
- HORNET、PCI ID 0x10df:0xfe05
- ZEPHYR_SCSP、PCI ID 0x10df:0xfe11
- ZEPHYR_DCSP、PCI ID 0x10df:0xfe12
Lancer FCoE CNA デバイス
- OCe15104-FM、PCI ID 0x10df:0xe260
- OCe15102-FM、PCI ID 0x10df:0xe260
- OCm15108-F-P、PCI ID 0x10df:0xe260
11.1.3. 削除されたその他のハードウェアサポート
11.1.3.1. AGP グラフィックカードがサポート対象外に
AGP (Accelerated Graphics Port) バスを使用するグラフィックカードは、Red Hat Enterprise Linux 8 ではサポートされていません。推奨される代替として、PCI Express バスを備えたグラフィックスカードを使用してください。
11.1.3.2. FCoE ソフトウェアの削除
FCoE (Fibre Channel over Ethernet) ソフトウェアは、Red Hat Enterprise Linux 8 から削除されました。これにより、Ethernet アダプターおよびドライバーで、ソフトウェア FCoE インターフェイスで作成するのに fcoe.ko
カーネルモジュールが利用できなくなりました。この変更は、業界でソフトウェア管理 FCoE が採用されていないことが原因です。
Red Hat Enterprise 8 に固有の変更には以下が含まれます。
-
fcoe.ko
カーネルモジュールが利用できなくなりました。これにより、Data Center Bridging が有効な Ethernet アダプターおよびドライバーを使用したソフトウェア FCoE のサポートが削除されます。 lldpad
を使用して DCBX (Data Center Bridging eXchange) を介したリンクレベルのソフトウェア設定が、FCoE ではサポートされなくなりました。-
fcoe-utils
ツール (特にfcoemon
) は、デフォルトで設定され、DCB 設定を検証せず、lldpad
と通信しません。 -
fcoemon
のlldpad
統合が永続的に無効になる可能性があります。
-
-
libhbaapi
ライブラリーおよびlibhbalinux
ライブラリーは、fcoe-utils
からは使用されず、Red Hat のテストも受けなくなります。
以下のサポートは変更しません。
-
オペレーティングシステムへの Fibre Channel アダプターとして表示される、現在サポートされるオフロード FCoE アダプターは、別途記載がない限り、
fcoe-utils
管理ツールを使用しません。これは、lpfc
FC ドライバーによりサポートされているアダプターを選択します。bfa
ドライバーは、Red Hat Enterprise Linux 8 には含まれないことに注意してください。 -
現在サポートされるオフロードの FCoE アダプターは、
fcoe-utils
管理ツールを使用していますが、別途記載がない限り、fcoe.ko
の代わりに独自のカーネルドライバーを使用し、ドライバーやファームウェアに DCBX 設定を管理します。fnic
ドライバー、bnx2fc
ドライバー、およびqedf
ドライバーは、引き続き Red Hat Enterprise Linux 8 で完全に対応します。 -
対応する一部のドライバーに必要なカーネルモジュール
libfc.ko
およびlibfcoe.ko
は、上記で説明されています。
詳細は、Software FCoE および Fibre Channel ではターゲットモードに対応しない を参照してください。
11.1.3.3. RHEL 8 では e1000 ネットワークドライバーに対応しない
Red Hat Enterprise Linux 8 は、e1000 ネットワークドライバーに対応していません。これは、ベアメタルおよび仮想化の両方に影響します。ただし、新しいバージョンの e1000e ネットワークドライバーが、引き続き RHEL 8 でフルサポートとなります。
11.1.3.4. RHEL 8 では tulip ドライバーに対応しない
この更新で、tulip ネットワークドライバーへの対応は終了しました。したがって、Microsoft Hyper-V ハイパーバイザーの Generation 1 仮想マシンで RHEL 8 を使用すると、Legacy Network Adapter デバイスが動作しないため、仮想マシンの PXE インストールに失敗します。
PXE インストールを起動するには、Generation 2 Hyper-V 仮想マシンに RHEL 8 をインストールします。RHEL 8 Generation 1 仮想マシンが必要な場合は ISO インストールを使用します。
11.1.3.5. qla2xxx
ドライバーがターゲットモードに対応しなくなる
qla2xxx
QLogic ファイバーチャンネルドライバーを使用したターゲットモードのサポートが無効になっています。この変更の影響は以下のとおりです。
-
カーネルが、
tcm_qla2xxx
モジュールを提供しなくなりました。 -
rtslib
ライブラリーおよびtargetcli
ユーティリティーが、qla2xxx
に対応しなくなりました。
qla2xxx
を使用したイニシエーターモードは引き続きサポートされます。
第12章 ファイルシステムおよびストレージ
12.1. ファイルシステム
12.1.1. Btrfs が削除される
Btrfs ファイルシステムは、Red Hat Enterprise Linux 8 から削除されました。これには、以下のコンポーネントがあります。
-
btrfs.ko
カーネルモジュール -
btrfs-progs
パッケージ -
snapper
パッケージ
Red Hat Enterprise Linux 8 では、Btrfs ファイルシステムの作成、マウント、またはインストールを行うことができなくなりました。Anaconda インストーラーおよびキックスタートコマンドが Btrfs に対応しなくなりました。
12.1.3. ext4 ファイルシステムがメタデータのチェックサムをサポート
この更新により、ext4 メタデータはチェックサムにより保護されます。これにより、ファイルシステムが破損メタデータを認識させます。これにより破損を回避し、ファイルシステムの耐障害性を高めます。
12.1.4. /etc/sysconfig/nfs
ファイルおよびレガシーの NFS サービス名が利用できない
Red Hat Enterprise Linux 8.0 では、NFS 設定が、Red Hat Enterprise Linux 7 で使用されていた /etc/sysconfig/nfs
設定ファイルから、/etc/nfs.conf
に移動しています。
/etc/nfs.conf
ファイルが異なる構文を使用します。Red Hat Enterprise Linux 7 からアップグレードすると、Red Hat Enterprise Linux 8 が、すべてのオプションを /etc/sysconfig/nfs
から /etc/nfs.conf
へ自動的に変換しようとします。
Red Hat Enterprise Linux 7 では、両方の設定ファイルに対応します。Red Hat は、新しい /etc/nfs.conf
ファイルを使用して、Red Hat Enterprise Linux のすべてのバージョンの NFS 設定を、自動化した設定システムと互換性を持たせるようにすることを推奨します。
また、以下の NFS サービスエイリアスが削除され、アップストリームの名前に置き換えられました。
-
nfs.service
(nfs-server.service
に置き換え) -
nfs-secure.service
(rpc-gssd.service
に置き換え) -
rpcgssd.service
(rpc-gssd.service
に置き換え) -
nfs-idmap.service
(nfs-idmapd.service
に置き換え) -
rpcidmapd.service
(nfs-idmapd.service
に置き換え) -
nfs-lock.service
(rpc-statd.service
に置き換え) -
nfslock.service
(rpc-statd.service
に置き換え)
12.2. ストレージ
12.2.1. BOOM ブートマネージャーが、ブートエントリーを作成するプロセスを簡素化
BOOM は、Linux システム用のブートマネージャーで、ブートエントリー設定の BootLoader 仕様に対応するブートローダーを使用します。柔軟なブート設定が可能になり、ブートエントリーの新規作成や変更が容易になります。たとえば、LVM を使用して作成したシステムのスナップショットイメージを起動するためのエントリーです。
BOOM は、既存のブートローダー設定を変更せず、追加エントリーを挿入するだけです。既存の設定は維持され、ディストリビューションの統合 (カーネルのインストールや更新のスクリプトなど) は、以前と同じように引き続き機能します。
BOOM には、ブートエントリーを作成するタスクを容易にする、単純化されたコマンドラインインターフェイス (CLI) および API があります。
12.2.2. Stratis が利用可能に
Stratis は、新しいローカルストレージマネージャーです。ユーザーへの追加機能を備えたストレージプールに、管理されるファイルシステムを提供します。
Stratis を使用すると、次のようなストレージタスクをより簡単に実行できます。
- スナップショットおよびシンプロビジョニングを管理する
- 必要に応じてファイルシステムのサイズを自動的に大きくする
- ファイルシステムを維持する
Stratis ストレージを管理するには、バックグランドサービス stratisd
と通信する stratis
ユーティリティーを使用します。
Stratis はテクノロジープレビューとして提供されます。
詳細については、Stratis のドキュメント (Stratis ファイルシステムの設定) を参照してください。
12.2.3. LUKS2 が、ボリューム暗号化のデフォルト形式に
RHEL 8 では、レガシーの LUKS (LUKS1) 形式に代わり、LUKS バージョン 2 (LUKS2) の形式が使用されます。dm-crypt
サブシステムおよび cryptsetup
ツールでは、暗号化ボリュームのデフォルト形式として LUKS2 が使用されるようになりました。LUKS2 は、部分的なメタデータ破損イベントが発生した場合に備えて、暗号化されたボリュームにメタデータの冗長性と自動回復を提供します。
内部の柔軟なレイアウトにより、LUKS2 は将来の機能も可能にします。これは、libcryptsetup
に組み込まれた一般的なカーネルキーリングトークンによる自動ロック解除に対応し、カーネルキーリング保持サービスに保存されているパスフレーズを使用して LUKS2 ボリュームのロックを解除します。
以下は、その他の主な機能強化です。
- ラップ鍵暗号方式を使用した保護鍵の設定
- Policy-Based Decryption (Clevis) とのより簡単な統合
- 最大 32 個の鍵スロット (LUKS1 は鍵スロットを 8 個のみ提供します)
詳細は、man ページの cryptsetup(8)
および cryptsetup-reencrypt(8)
を参照してください。
12.2.4. ブロックデバイスにおけるマルチキュースケジューリング
Red Hat Enterprise Linux 8 では、ブロックデバイスがマルチキュースケジューリングを使用するようになりました。これにより、高速ソリッドステートドライブ (SSD) およびマルチコアシステムでの拡張が向上します。
SCSI マルチキュー (scsi-mq
) ドライバーがデフォルトで有効になり、カーネルが scsi_mod.use_blk_mq=Y
オプションで起動します。この変更は、アップストリームの Linux カーネルと同じです。
デバイスマッパーマルチパス (DM Multipath) を使用するには、scsi-mq
ドライバーがアクティブになっている必要があります。
12.2.5. VDO がすべてのアーキテクチャーに対応
Virtual Data Optimizer (VDO) が、RHEL 8 で対応しているすべてのアーキテクチャーで利用可能になりました。
12.2.6. VDO が読み込みキャッシュに対応しなくなる
読み込みキャッシュ機能は、VDO (Virtual Data Optimizer) から削除されました。読み込みキャッシュは常に VDO ボリュームで無効になり、vdo
ユーティリティーの --readCache
オプションを使用して有効にできなくなりました。
Red Hat は、異なる実装を使用して、後続の Red Hat Enterprise Linux リリースで VDO 読み取りキャッシュを再実装できるようになりました。
12.2.7. dmraid
パッケージが削除される
dmraid
パッケージは、Red Hat Enterprise Linux 8 から削除されました。ハードウェアとソフトウェアの RAID ホストバスアダプター (HBA) ヘの対応が必要な場合は、ネイティブの MD software RAID、SNIA RAID Common Disk Data Format (DDF)、Intel® Matrix Storage Manager (IMSM) の形式に対応する mdadm
ユーティリティーを使用する必要があります。
12.2.8. Software FCoE および Fibre Channel ではターゲットモードに対応しない
- Software FCoE - Red Hat Enterprise Linux 8.0 から、NIC Software FCoE ターゲット機能が削除されました。
-
ファイバーチャンネルは、ターゲットモードに対応しません。ターゲットモードは、Red Hat Enterprise Linux 8.0 の
qla2xxx
QLogic Fibre Channel ドライバーに対して無効になります。
詳しくは、FCoE ソフトウェアの削除 を参照してください。
12.2.9. DM Multipath のマージナルパスの検出が改善
multipathd
サービスでは、マージナルパスの検出が改善しました。これにより、マルチパスデバイスが、繰り返し失敗する可能性があるパスを回避して、パフォーマンスを向上します。マージナルパスは、永続的で断続的な I/O エラーがあるパスです。
マージナルパスの動作は、/etc/multipath.conf
ファイルの以下のオプションで制御します。
-
marginal_path_double_failed_time
-
marginal_path_err_sample_time
-
marginal_path_err_rate_threshold
-
marginal_path_err_recheck_gap_time
以下の場合、DM Multipath はパスを無効にし、サンプル期間中に繰り返し I/O でテストします。
-
multipath.conf
オプションが設定されている - 設定した期間内にパスが 2 回失敗する
- その他のパスが利用できる
このテスト時に、パスのエラー率が、設定されたエラー率よりも大きいと、設定したギャップ時間中 DM Multipath がパスを無視し、それが復旧できるぐらいに適切に機能しているかどうかを再確認します。
詳細は、man ページの multipath.conf
を参照してください。
12.2.10. DM Multipath 設定ファイルの overrides
セクションが追加
/etc/multipath.conf
ファイルには、全デバイスの設定値を設定できる overrides
セクションが追加されました。この属性は、デバイスを含むパスに対して、/etc/multipath.conf
ファイルの multipaths
セクションに指定した属性で上書きした場合を除き、DM Multipath によりすべてのデバイスに使用されます。この機能は、現在は対応していない設定ファイルの devices
セクションの all_devs
パラメーターに代わるものです。
12.2.11. Broadcom Emulex および Marvell Qlogic のファイバーチャンネルアダプターで NVMe/FC に完全対応
NVMe に対応する Broadcom Emulex アダプターおよび Marvell Qlogic Fibre Channel 32Gbit アダプターとともに使用すると、イニシエーターモードで NVMe/FC (NVMe over Fibre Channel) トランスポートタイプに完全に対応するようになりました。
Red Hat Enterprise Linux に同梱されていた RDMA (Remote Direct Memory Access) プロトコルに加えて、NVMe over Fibre Channel が、NVMe (Nonvolatile Memory Express) プロトコルのファブリックトランスポートタイプとして追加されました。
NVMe/FC を有効にするには、以下を行います。
lpfc
ドライバーで NVMe/FC を有効にするには、/etc/modprobe.d/lpfc.conf
ファイルに以下のオプションを追加します。lpfc_enable_fc4_type=3
qla2xxx
ドライバーで NVMe/FC を有効にするには、/etc/modprobe.d/qla2xxx.conf
ファイルに以下のオプションを追加します。qla2xxx.ql2xnvmeenable=1
その他の制限:
- NVMe クラスタリングは、NVMe/FC ではサポートされません。
-
NVMe/FC は、
kdump
に対応していません。 - SAN (Storage Area Network) の NVMe/FC からのシステム起動には対応していません。
12.2.12. DIF/DIX (Data Integrity Field/Data Integrity Extension) への対応
DIF/DIX は SCSI 規格への追加分です。対応していると明記されている場合を除き、引き続き HBA およびストレージアレイに対するテクノロジープレビューとなります。
DIF/DIX により DIF (Data Integrity Field) が追加され、一般的に使用される 512 バイトのディスクブロックのサイズが 520 バイトに増えます。DIF は、書き込みの発生時に HBA (Host Bus Adapter) により算出されるデータブロックのチェックサム値を保存します。その後、受信時にストレージデバイスがチェックサムを確認し、データとチェックサムの両方を保存します。読み取りが発生すると、チェックサムが、ストレージデバイス、および受信する HBA により検証されます。
12.2.13. libstoragemgmt-netapp-plugin
の削除
libStorageMgmt
ライブラリーで使用される libstoragemgmt-netapp-plugin
パッケージが削除されました。次の理由でサポートされなくなりました。
- このパッケージには NetApp 7 モード API が必要ですが、これは NetApp によって段階的に廃止されています。
-
RHEL 8 では、
TLS_RSA_WITH_3DES_EDE_CBC_SHA
暗号を使用した TLSv1.0 プロトコルのデフォルトサポートが削除されました。TLS でこのプラグインを使用しても機能しません。
12.2.14. sfdisk
および cfdisk
からの Cylinder-Head-Sector アドレス指定の削除
Cylinder-Head-Sector (CHS) アドレス指定は、最新のストレージデバイスではもはや役に立ちません。sfdisk
および cfdisk
コマンドからオプションとして削除されました。RHEL 8 以降、次のオプションは使用できません。
-
-C, --cylinders number
-
-H, --heads number
-
-S, --sectors number
詳細は、sfdisk (8)
および cfdisk (8)
man ページを参照してください。
12.3. LVM
12.3.2. lvmetad
デーモンの削除
LVM は、メタデータのキャッシュに lvmetad
デーモンを使用しなくなり、常にディスクからメタデータを常に読み込みます。LVM ディスクの読み込みが減っており、それによりキャッシュの利点が減ります。
論理ボリュームの自動アクティベーションは、lvm.conf
設定ファイルの use_lvmetad
設定に間接的に関連付けられていました。lvm.conf
ファイルに auto_activation_volume_list
を設定し続ける自動アクティベーションを無効にすることが適切な方法となります。
12.3.3. LVM が、GFS プールボリュームマネージャー、または lvm1
メタデータ形式でフォーマットしたデバイスを管理できない
LVM が、GFS プールのボリュームマネージャー、または lvm1 メタデータ形式でフォーマットしたデバイスを管理できなくなりました。Red Hat Enterprise Linux 4 を導入する前に論理ボリュームを作成した場合は、この影響を受ける場合があります。lvm1
形式を使用したボリュームグループは、vgconvert
コマンドを使用して lvm2
形式に変換する必要があります。
12.3.4. LVM ライブラリーおよび LVM Python バインディングが削除される
lvm2-python-libs
パッケージにより提供される lvm2app
ライブラリーおよび LVM Python バインディングが削除されました。Red Hat は、代わりに以下のソリューションを推奨します。
-
LVM D-Bus API と
lvm2-dbusd
サービスの組み合わせ。このソリューションでは Python バージョン 3 を使用する必要があります。 -
JSON 形式の LVM コマンドラインユーティリティー。この形式は、
lvm2
パッケージのバージョン 2.02.158 以降で利用できます。 -
C/C++ の AppStream に含まれる
libblockdev
ライブラリー
Red Hat Enterprise Linux 8 へアップグレードする前に、削除したライブラリーおよび D-Bus API へのバインディングを使用して、アプリケーションをポートする必要があります。
12.3.5. LVM ミラーのログをミラーリングする機能が削除される
ミラー化された LVM ボリュームでのミラー化されたミラーログ機能が非推奨となりました。Red Hat Enterprise Linux (RHEL) 8 では、ミラー化されたミラーログを持つ LVM ボリュームの作成またはアクティブ化がサポートされなくなりました。
推奨される代替ソリューションは以下のとおりです。
- RAID1 LVM ボリューム。RAID1 ボリュームの優れた点は、劣化モードにおいても機能し、一時的な障害の後に回復できることです。
-
ディスクのミラーログ。ミラー化されたミラーログをディスクのミラーログに変換するには、
lvconvert --mirrorlog disk my_vg/my_lv
コマンドを実行します。
第13章 高可用性およびクラスター
Red Hat Enterprise Linux 8 では、pcs
は、クラスター通信に、Corosync 3 クラスターエンジンと、Kronosnet (knet) ネットワーク抽象化層にフルサポートを提供します。既存の RHEL 7 クラスターから RHEL 8 クラスターへのアップグレードを計画すると、以下のような事項を検討する必要があります。
- アプリケーションのバージョン - RHEL 8 クラスターで必要なのは、どのバージョンの高可用性アプリケーションですか ?
- アプリケーションのプロセスの順番 - アプリケーションのプロセスを開始および停止する際に必要なのはどの変更ですか ?
-
クラスターインフラストラクチャー - RHEL 8 の
pcs
で複数のネットワーク接続に対応するようになったため、クラスターが認識する NIC の数は変更しますか ? - 必要なパッケージ - 新しいクラスターで同じパッケージをすべてインストールする必要はありますか ?
RHEL 8 で Pacemaker クラスターを実行するための、以下の事項またはその他の事項により、RHEL 7 クラスターから RHEL 8 クラスターへのインプレースアップグレードを実行することはできず、RHEL 8 で新しいクラスターを設定する方法があります。RHEL 7 および RHEL 8 の両方を実行しているノードを含むクラスターを実行することはできません。
また、アップグレードを実行する前に、次の計画を立てる必要があります。
- 最終カットオーバー - アプリケーションのダウンタイムを短くするために、以前のクラスターで実行しているアプリケーションを停止して、新しいクラスターで開始するためにはどのようなプロセスがありますか ?
- テスト - アップグレード前に、開発環境またはテスト環境で、アップグレード戦略をテストすることはできますか ?
RHEL 7 と RHEL 8 における、クラスター作成および管理における主な相違点は、以下のセクションで説明します。
13.1. pcs cluster setup
コマンド、pcs cluster node add
コマンド、および pcs cluster node remove
コマンドの新しい形式
Red Hat Enterprise Linux 8 の pcs
では、ノード名の使用に完全に対応します。これは、現在は必須であり、ノード識別子でノードアドレスを置き換えます。ノードアドレスは任意となりました。
-
pcs host auth
コマンドで、ノードアドレスがデフォルトでノード名となります。 -
pcs cluster setup
コマンドおよびpcs cluster node add
コマンドでは、ノードアドレスが、pcs host auth
コマンドで指定したノードアドレスにデフォルト設定されます。
この変更により、クラスターのセットアップ、クラスターへのノードの追加、およびクラスターからのノードの削除を行うコマンドの形式が変更になりました。新しいコマンド形式の詳細は、pcs cluster setup
コマンド、pcs cluster node add
コマンド、および pcs cluster node remove
コマンドのヘルプ表示を参照してください。
13.2. マスターリソースから、昇格可能なクローンリソースに名前が変更
Red Hat Enterprise Linux (RHEL) 8 は Pacemaker 2.0 に対応しています。ここでは、マスター/スレーブのリソースが、別の種類のリソースではなくなり、promotable
メタ属性が true
に設定されている標準のクローンリソースになりました。今回の更新に対応するために、以下の変更が行われました。
-
pcs
コマンドでマスターリソースを作成することができなくなりました。代わりに、昇格可能な
クローンリソースを作成できます。関連キーワードおよびコマンドが、master
からpromotable
に変わりました。 - 既存のすべてのマスターリソースが昇格可能なクローンリソースとして表示されます。
- RHEL7 クラスターでは昇格可能なクローンに対応しないため、Web UI で RHEL7 クラスターを管理する場合は、マスターリソースが引き続きマスターと呼ばれます。
13.3. クラスターのノードを認証する新しいコマンド
Red Hat Enterprise Linux (RHEL) 8 では、クラスターでノードの認証に使用されるコマンドに以下の変更が加えられています。
-
認証用の新しいコマンドは
pcs host auth
です。このコマンドにより、ホスト名、アドレス、およびpcsd
ポートを指定できます。 -
pcs cluster auth
コマンドは、ローカルクラスターのノードのみを認証し、ノードリストは許可しません、 -
各ノードにアドレスを指定できるようになりました。これにより、
pcs
/pcsd
は指定したアドレスを使用して各ノードと通信します。このアドレスは、corosync
が内部で使用しているアドレスとは異なる場合があります。 -
pcs pcsd clear-auth
コマンドは、pcs pcsd deauth
コマンドおよびpcs host deauth
コマンドに置き換えられました。この新しいコマンドを使用すると、ユーザーは全ホストの認証解除だけでなく、1 台のホストでも認証解除できます。 -
以前は、ノード認証が双方向で行われており、
pcs cluster auth
コマンドを実行すると、指定したすべてのノードが互いに認証されていました。ただし、pcs host auth
コマンドを使用すると、指定したノードに対してローカルホストだけが認証されます。これにより、このコマンドを実行する際に、どのノードをどのノードに認証させるかをより適切に制御できます。クラスターを設定する場合や、ノードを追加する際に、pcs
がクラスターのトークンを自動的に同期するため、クラスター内のすべてのノードが以前と同じように自動的に認証され、クラスターノードが互いに通信できます。
これらの変更は後方互換性がないことに注意してください。RHEL 7 システムで認証されたノードは、再認証する必要があります。
13.4. Red Hat High Availability のアクティブ/パッシブなクラスターにおける LVM ボリューム
RHEL 8 の Red Hat HA アクティブ/パッシブのリソースとして LVM ボリュームを設定すると、LVM-activate
リソースとしてボリュームを設定します。RHEL 7 では、このようなボリュームを LVM
リソースとして設定しました。RHEL 8 のアクティブ/パッシブクラスターで LVM ボリュームをリソースとして設定する方法を含むクラスターの設定手順の例は、Red Hat High Availability クラスターのアクティブ/パッシブな NFS サーバーの設定 を参照してください。
13.6. RHEL 8 Pacemaker クラスター内の GFS2 ファイルシステム
RHEL 8 では、LVM は、「共有ストレージデバイスを管理する clvmd
の削除」 で説明されているように、アクティブ/アクティブクラスターで共有ストレージデバイスを管理するために、clvmd
の代わりに、LVM ロックデーモン lvmlockd
を使用します。
RHEL 8 クラスターに RHEL 7 システムを作成した GFS2 ファイルシステムを使用するには、RHEL 8 システムで共有論理ボリュームとしてマウントされる論理ボリュームを設定して、ボリュームグループのロックを開始する必要があります。既存の RHEL 7 論理ボリュームを、RHEL 8 Pacemaker クラスターとして使用するように設定する手順は、RHEL7 から RHEL8 へ GFS2 ファイルシステムの移行 を参照してください。
第14章 シェルおよびコマンドラインツール
14.1. ローカライゼーションが複数のパッケージで配布
RHEL 8 では、1 つの glibc-common
パッケージで、ロケールと翻訳が提供されなくなりました。代わりに、すべてのロケールと言語が glibc-langpack-CODE
パッケージで利用できるようになりました。また、デフォルトですべてのロケールがインストールされず、インストーラーで選択した言語だけがインストールされます。その他の言語は、必要に応じてロケールパッケージを個別にインストールする必要があります。
システムにインストールされているすべてのパッケージに対する翻訳、ディクショナリー、およびロケールを含む追加のアドオンパッケージをインストールするメタパッケージは、langpacks と呼ばれます。
詳細は、langpacks の使用 を参照してください。
14.2. ユーザー名およびグループ名がすべて数値の場合はサポート対象外
Red Hat Enterprise Linux (RHEL) 8 の useradd
コマンドおよび groupadd
コマンドでは、数値だけのユーザー名とグループ名を使用することができません。ユーザー ID およびグループ ID は数値となるため、数値だけのユーザー名およびグループ名を使用すると、ユーザー名とユーザー ID、またはグループ名とグループ ID を組み合わせて使用するツールで、混乱が生まれるためです。
コマンドラインでの新規ユーザーの追加 に関する詳細を参照してください。
14.3. nobody ユーザーが nfsnobody に置き換え
Red Hat Enterprise Linux (RHEL) 7 では、nobody
ユーザーとグループのペアの ID は 99 でした。nfsnobody
ユーザーとグループのペアの ID は 65534 で、デフォルトのカーネルオーバーフロー ID になります。
これはいずれも、RHEL 8 では、nobody
ユーザーおよびグループのペア (ID 65534) に統合されます。RHEL 8 では、nfsnobody
ペアは作成されません。
この変更により、nobody
が所有し、NFS とは無関係のファイルに関する混乱が軽減されます。
14.4. バージョン制御システム
RHEL 8 は、次のバージョン管理システムを提供します。
-
Git 2.18
は、分散アーキテクチャーを持つ分散型リビジョン管理システムです。 -
Mercurial 4.8
は、大規模プロジェクトを効率的に処理するために設計された、軽量の分散バージョン管理システムです。 -
Subversion 1.10
は、集中型管理システムです。
RHEL 7 で利用できた Concurrent Versions System (CVS) および Revision Control System (RCS) は、RHEL 8 では配布されていません。
14.4.1. Subversion 1.10
への主な変更点
Subversion 1.10
には、RHEL 7 で配布されたバージョン 1.7 以降に追加された新機能と、次の互換性の変更が含まれています。
-
言語バインディングに対応するのに使用される
Subversion
ライブラリーにおける非互換性のため、Subversion 1.10
のPython 3
バインディングは利用できません。したがって、Subversion
にPython
バインディングを必要とするアプリケーションには対応していません。 -
Berkeley DB
に基づくリポジトリーには対応しなくなりました。アップグレード前に、svnadmin dump
コマンドを使用して、Subversion 1.7
で作成したリポジトリーをバックアップします。RHEL 8 をインストールした後、svnadmin load
コマンドを使用してリポジトリーを復元します。 -
RHEL 7 の
Subversion 1.7
クライアントがチェックアウトした既存のワーキングコピーは、Subversion 1.10
で使用する前に新しい形式にアップグレードする必要があります。RHEL 8 をインストールしたら、各ワーキングコピーでsvn upgrade
コマンドを実行します。 -
https://
を使用してリポジトリーにアクセスするスマートカード認証には対応しなくなりました。
14.5. パッケージが crontab エントリーから systemd タイマーへ移行
crontab
エントリーで使用されていたパッケージで、systemd
タイマーが使用されるようになりました。以下のコマンドを実行して、systemd
タイマーエントリーのあるパッケージを検索します。
$ repoquery --qf %{name} -f '/usr/lib/systemd/system/*.timer'
$ repoquery --qf %{name} -f '/etc/cron./'
第15章 動的プログラミング言語、Web サーバー、およびデータベースサーバー
15.1. 動的プログラミング言語
15.1.1. Python への主な変更点
15.1.1.1. Python 3
が RHEL 8 におけるデフォルトの Python
実装に
Red Hat Enterprise Linux 8 には、Python 3
の複数のバージョンが同梱されています。Python 3.6
は、RHEL 8 のライフサイクル全体でサポートされる予定です。それぞれのパッケージは、デフォルトではインストールされない場合があります。
Python 2.7
は、python2
パッケージで入手できます。ただし、Python 3
への移行をより円滑に進められるように、Python 2
のライフサイクルは短くなっています。
詳細は、Python のバージョン を参照してください。
デフォルトの python
パッケージまたはバージョンを指定しない /usr/bin/python
実行ファイルは、いずれも RHEL 8 では配布されません。python3
または python2
を直接使用することが推奨されます。もしくは、管理者が、alternatives
コマンドを使用して、バージョン管理外の python
コマンドを設定できます。バージョン管理されていない Python の設定 を参照してください。
15.1.1.2. Python 2 から Python 3 への移行
開発者は、Python 2 で記述したコードを Python 3 に移行できます。
大規模なコードベースを Python 3 に移行する方法は The Conservative Python 3 Porting Guide を参照してください。
この移行が終了すると、元の Python 2 コードは Python 3 インタープリターにより解釈できるようになり、同様に Python 2 インタープリターは解釈できるままとなることに注意してください。
15.1.1.3. バージョンを指定しない Python の設定
システム管理者は、alternatives
コマンドを使用して、/usr/bin/python
に、バージョンを管理しない python
コマンドを設定できます。必要なパッケージ (python3、python38、python39、python3.11
、または python2
) は、バージョンを指定しないコマンドをそれぞれのバージョンに設定する前にインストールする必要があります。
/usr/bin/python
実行ファイルは 代替
システムによって制御されます。更新時に手動の変更が上書きされる可能性があります。
その他の Python 関連のコマンド (pip3
など) には、バージョンを指定しないで設定できるバリアントがあります。
15.1.1.3.1. バージョンを指定しない python コマンドを直接設定
バージョンを指定しない python
コマンドを、選択した Python バージョンに直接設定できます。
前提条件
- 必要なバージョンの Python がインストールされていることを確認する。
手順
バージョンを指定しない
python
コマンドを Python 3.6 に設定するには、以下を使用します。# alternatives --set python /usr/bin/python3
バージョンを指定しない
python
コマンドを Python 3.8 に設定するには、以下を使用します。# alternatives --set python /usr/bin/python3.8
バージョンを指定しない
python
コマンドを Python 3.9 に設定するには、以下を使用します。# alternatives --set python /usr/bin/python3.9
バージョンを指定しない
python
コマンドを Python 3.11 に設定するには、以下を使用します。# alternatives --set python /usr/bin/python3.11
バージョンを指定しない
python
コマンドを Python 3.11 に設定するには、以下を使用します。# alternatives --set python /usr/bin/python3.12
バージョンを指定しない
python
コマンドを Python 2 に設定するには、以下のコマンドを実行します。# alternatives --set python /usr/bin/python2
15.1.1.3.2. バージョンを指定しない python コマンドを、必要な Python バージョンに対話的に設定する
バージョンを指定しない python
コマンドを、必要な Python バージョンに対話的に設定できます。
前提条件
- 必要なバージョンの Python がインストールされていることを確認する。
手順
バージョンを指定しない
python
コマンドを対話的に設定するには、次のコマンドを実行します。# alternatives --config python
- 表示されたリストから必要なバージョンを選択します。
この設定をリセットし、バージョンを指定しない
python
コマンドを削除するには、次のコマンドを実行します。# alternatives --auto python
15.1.1.3.3. 関連情報
-
man ページの
alternatives(8)
およびunversioned-python(1)
15.1.1.4. Python スクリプトでのインタープリターディレクティブの処理
Red Hat Enterprise Linux 8 では、実行可能な Python スクリプトは、少なくとも主要な Python バージョンを明示的に指定するインタープリターディレクティブ (別名 hashbangs または shebangs) を使用することが想定されます。以下に例を示します。
#!/usr/bin/python3 #!/usr/bin/python3.6 #!/usr/bin/python3.8 #!/usr/bin/python3.9 #!/usr/bin/python3.11 #!/usr/bin/python3.12 #!/usr/bin/python2
/usr/lib/rpm/redhat/brp-mangle-shebangs
BRP (buildroot policy) スクリプトは、RPM パッケージをビルドする際に自動的に実行され、実行可能なすべてのファイルでインタープリターディレクティブを修正しようとします。
BRP スクリプトは、以下のようにあいまいなインタープリターディレクティブを含む Python スクリプトを検出すると、エラーを生成します。
#!/usr/bin/python
または
#!/usr/bin/env python
15.1.1.4.1. Python スクリプトでインタープリターディレクティブの変更
RPM ビルド時にビルドエラーが発生する Python スクリプト内のインタープリターディレクティブを変更します。
前提条件
- Python スクリプトのインタープリターディレクティブの一部でビルドエラーが発生する。
手順
インタープリターディレクティブを変更するには、以下のタスクのいずれかを実行します。
platform-python-devel
パッケージからpathfix.py
スクリプトを適用します。# pathfix.py -pn -i %{__python3} PATH …
複数の
PATH
を指定できます。PATH
がディレクトリーの場合、pathfix.py
はあいまいなインタープリターディレクティブを持つスクリプトだけでなく、^[a-zA-Z0-9_]+\.py$
のパターンに一致する Python スクリプトを再帰的にスキャンします。このコマンドを%prep
セクション、または%install
セクションに追加します。-
パッケージ化した Python スクリプトを、想定される形式に準拠するように変更します。この目的のために、
pathfix.py
は、RPM ビルドプロセス以外でも使用できます。pathfix.py
を RPM ビルド以外で実行する場合は、上記の例の%{__python3}
を、/usr/bin/python3
などのインタープリターディレクティブのパスに置き換えます。
パッケージ化された Python スクリプトに Python 3.6 以外のバージョンが必要な場合は、上記のコマンドを調整して必要なバージョンを含めます。
15.1.1.4.2. カスタムパッケージの /usr/bin/python3 インタープリターディレクティブの変更
デフォルトでは、/usr/bin/python3
の形式でのインタープリターディレクティブは、Red Hat Enterprise Linux のシステムツールに使用される platform-python
パッケージから Python を参照するインタープリターディレクティブに置き換えられます。カスタムパッケージの /usr/bin/python3
インタープリターディレクティブを変更して、AppStream リポジトリーからインストールした特定バージョンの Python を参照できます。
手順
Python の特定バージョンのパッケージを構築するには、対応する
python
パッケージのpython*-rpm-macros
サブパッケージを SPEC ファイルの BuildRequires セクションに追加します。たとえば、Python 3.6 の場合は、以下の行を追加します。BuildRequires: python36-rpm-macros
これにより、カスタムパッケージの
/usr/bin/python3
インタープリターディレクティブは、自動的に/usr/bin/python3.6
に変換されます。
BRP スクリプトがインタープリターディレクティブを確認したり、変更したりしないようにするには、以下の RPM ディレクティブを使用します。
%undefine __brp_mangle_shebangs
15.1.1.5. net-snmp
パッケージの Python
バインディングが利用できない
Net-SNMP
のツールスイートは、RHEL 8 のデフォルトの Python
の実装である Python 3
にバインディングを提供しません。これにより、python-net-snmp
パッケージ、python2-net-snmp
パッケージ、または python3-net-snmp
パッケージが RHEL 8 では使用できません。
15.1.2. PHP
への主な変更点
Red Hat Enterprise Linux 8 には PHP 7.2
が同梱されています。このバージョンには、RHEL 7 で利用できた PHP 5.4
に対する重要な変更が追加されています。
-
PHP
はデフォルトで FastCGI Process Manager (FPM) を使用します (スレッド化されたhttpd
で安全に使用できます)。 -
php_value
変数とphp-flag
変数がhttpd
設定ファイルで使用されなくなり、代わりにプール設定の/etc/php-fpm.d/*.conf
で設定する必要があります。 -
PHP
スクリプトのエラーと警告のログは、/var/log/httpd/error.log
ではなく/var/log/php-fpm/www-error.log
ファイルに記録されます。 -
PHP の
max_execution_time
設定変数を変更する時は、変更した値に合わせてhttpd
ProxyTimeout
設定を増やす必要があります。 -
PHP
スクリプトを実行するユーザーが、FPM プール設定 (apache
ユーザーがデフォルトとなる/etc/php-fpm.d/www.conf
ファイル) に設定されるようになりました。 -
設定を変更した場合、または新しい拡張機能をインストールした場合は、
php-fpm
サービスを再起動する必要があります。 -
zip
拡張が、php-common
から、別のパッケージphp-pecl-zip
に移動しました。
以下の拡張機能が削除されました。
-
aspell
-
mysql
(拡張機能のmysqli
およびpdo_mysql
は、php-mysqlnd
パッケージで引き続き利用できます) -
memcache
15.1.3. Perl
への主な変更点
RHEL 8 で提供される Perl 5.26
では、RHEL 7 で提供されていたバージョンに以下のような変更が追加されました。
-
Unicode 9.0
に対応するようになりました。 -
新しい
SystemTap
のプローブop-entry
、loading-file
、およびloaded-file
が提供されるようになりました。 - パフォーマンスを向上させるために、スカラーの割り当て時に、コピーオンライトメカニズムが使用されます。
-
IPv4 ソケットおよび IPv6 ソケットを透過的に処理するために
IO::Socket::IP
モジュールが追加されました。 -
構造化された方法で
perl -V
データにアクセスするために、Config::Perl::V
モジュールが追加されました。 -
Comprehensive Perl Archive Network (CPAN) リポジトリーからモジュールを取得、抽出、ビルド、およびインストールする
cpanm
ユーティリティーを同梱するperl-App-cpanminus
パッケージが追加されました。 -
セキュリティー上の理由により、
@INC
モジュールの検索パスから、現在のディレクトリー (.
) が削除されました。 -
上記の動作上の変更によりファイルの読み込みに失敗した時に、
do
ステートメントが非推奨の警告を返すようになりました。 -
do subroutine(LIST)
呼び出しに対応しなくなり、構文エラーが発生するようになりました。 -
ハッシュがデフォルトでランダム化されるようになりました。ハッシュから鍵と値が返される順序は、
perl
の実行ごとに変わります。ランダム化を無効にするには、PERL_PERTURB_KEYS
環境変数を0
に設定します。 -
正規表現のパターンで、エスケープされていないリテラルの
{
文字が使用できなくなりました。 -
$_
変数に対する語彙的なスコープへの対応が削除されました。 -
配列またはハッシュに
defined
演算子を使用すると、致命的なエラーが発生します。 -
UNIVERSAL
モジュールから関数をインポートすると、致命的なエラーが発生します。 -
find2perl
ツール、s2p
ツール、a2p
、c2ph
ツール、およびpstruct
ツールが削除されました。 -
${^ENCODING}
機能が削除されました。encoding
プラグマのデフォルトモードに対応しなくなりました。UTF-8
以外のエンコーディングでソースコードを記述する場合は、エンコーディングのFilter
オプションを使用します。 -
アップストリームに合わせて、
perl
パッケージが変更になりました。perl
パッケージはコアモジュール群をインストールし、/usr/bin/perl
インタープリターはperl-interpreter
パッケージで提供されます。以前のリリースでは、perl
パッケージに最小限のインタープリターだけが同梱され、perl-core
パッケージにインタープリターとコアモジュールの両方が同梱されていました。 -
Perl モジュールの
IO::Socket::SSL
は、./certs/my-ca.pem
ファイルまたは./ca
ディレクトリーから認証局の証明書、./certs/server-key.pem
ファイルからサーバーの秘密鍵、./certs/server-cert.pem
ファイルからサーバーの証明書、./certs/client-key.pem
ファイルからクライアントの秘密鍵、./certs/client-cert.pem
ファイルからクライアント証明書を読み込まなくなりました。代わりにファイルのパスを明示的に指定します。
15.1.4. Ruby
への主な変更点
RHEL 8 では、RHEL 7 に同梱されていた Ruby 2.5
に新機能および機能強化を追加した Ruby 2.0.0
が提供されます。以下は、主な変更点です。
- インクリメンタルガベージコレクターが追加されました。
-
Refinements
構文が追加されました。 - シンボルは、ガベージコレクションが行われるようになりました。
-
安全レベルの
$SAFE=2
および$SAFE=3
が廃止されました。 -
Fixnum
クラスとBignum
クラスが、Integer
クラスに統合されました。 -
Hash
クラスの最適化、インスタンス変数へのアクセスの向上、ならびにMutex
クラスの小型化および高速化により、パフォーマンスが向上しました。 - 古い API が非推奨になりました。
-
RubyGems
、Rake
、RDoc
、Psych
、Minitest
、test-unit
などのバンドルされたライブライリーが更新されました。 -
Ruby
とともに配布されていたmathn
、DL
、ext/tk
、XMLRPC
などのライブラリーは非推奨になり、同梱されなくなりました。 -
SemVer
バージョン管理スキームが、Ruby
バージョン管理に使用されるようになりました。
15.1.5. SWIG
への主な変更点
RHEL 8 には、SWIG (Simplified Wrapper and Interface Generator) バージョン 3.0 が含まれています。RHEL 7 に同梱されていたバージョン 2.0 に新機能、機能拡張、およびバグ修正が数多く追加されました。特に注目すべきは、C++11 標準仕様への対応が実装されたことです。SWIG
は、Go 1.6
、PHP 7
、Octave 4.2
、および Python 3.5
に対応するようになりました。
15.1.6. Node.js
が RHEL に新登場
JavaScript プログラミング言語で高速でスケーラブルなネットワークアプリケーションを構築するソフトウェア開発プラットフォームである Node.js
が RHEL で初めて提供されます。以前は、Software Collection からしか入手できませんでした。RHEL 8 では Node.js 10
が提供されます。
15.2. Tcl
Tool command language (Tcl) は、動的なプログラミング言語です。この言語のインタープリターと C ライブラリーは、tcl
パッケージにより提供されます。
Tk とともに Tcl を使用すると (Tcl/Tk)、プラットフォーム間共通の GUI アプリケーションを作成できます。Tk は、tk
パッケージから入手できます。
Tk は次のいずれかを参照できることに注意してください。
- 複数言語のプログラミングツールキット
- Tk C ライブラリーバインディングは、複数の言語 (C、Ruby、Perl、Python など) で利用できます。
- Tk コンソールのインスタンスを作成する wish インタープリター
- 特定の Tcl インタープリターに新しいコマンドを多数追加する Tk の拡張
15.2.1. Tcl/Tk 8.6 に関する注目すべき変更点
RHEL 8 では、Tcl/Tk バージョン 8.6 が使用されます。Tcl/Tk バージョン 8.5 から、以下のような変更が追加されています。
- オブジェクト指向のプログラミングサポート
- スタックレス評価の実装
- 強化された例外処理
- Tcl で構築およびインストールしたサードパーティーパッケージのコレクション
- 有効なマルチスレッド操作
- SQL データベースを提供するスクリプトサポート
- IPv6 ネットワーキングサポート
- ビルドインの zlib 圧縮
リスト処理
新しい 2 つのコマンド
lmap
およびdict map
が利用できます。これにより、Tcl コンテナーにおける変換の表現が可能になります。スクリプトにより積み上げられたチャンネル
新しい 2 つのコマンド
chan push
およびchan pop
が利用できるため、I/O チャンネルへ、または I/O チャンネルからの変換を追加または削除できます。
Tcl/Tk version 8.6 の変更点および新機能の詳細は、以下の参考資料を参照してください。
Tcl/Tk 8.6 に移行する必要がある場合は、Tcl/Tk を使用してタスクのスクリプトを作成したユーザーのパスの移行 を参照してください。
15.3. Web サーバー
15.3.1. Apache HTTP Server への主な変更点
Apache HTTP Server が、RHEL 7 のバージョン 2.4.6 から、RHEL 8 のバージョン 2.4.37 に更新されました。この更新バージョンには新機能がいくつか含まれていますが、外部モジュールの設定および Application Binary Interface (ABI) のレベルでは、RHEL 7 バージョンとの後方互換性を維持します。
新機能は次のとおりです。
-
httpd
モジュール含まれるmod_http2
パッケージにより、HTTP/2
に対応するようになりました。 -
systemd ソケットのアクティベーションが対応します。詳細は、man ページの
httpd.socket(8)
を参照してください。
新しいモジュールが複数追加されています。
-
mod_proxy_hcheck
- プロキシーのヘルスチェックモジュール -
mod_proxy_uwsgi
- Web Server Gateway Interface (WSGI) プロキシー -
mod_proxy_fdpass
- クライアントのソケットを別のプロセスに渡す -
mod_cache_socache
- HTTP キャッシュ (例: memcache バックエンドを使用) -
mod_md
- ACME プロトコルの SSL/TLS 証明書サービス
-
以下のモジュールはデフォルトで読み込まれるようになりました。
-
mod_request
-
mod_macro
-
mod_watchdog
-
-
新しいサブパッケージ
httpd-filesystem
が追加されています。これには、Apache HTTP Server の基本的なディレクトリーレイアウト (ディレクトリーの適切な権限を含む) が含まれます。 -
インスタンス化されたサービスのサポート
httpd@.service
が導入されました。詳細は、man ページのhttpd.service
を参照してください。
-
新しい
httpd-init.service
が%post script
に置き換わり、自己署名の鍵ペアmod_ssl
を作成します。
-
(
Let's Encrypt
などの証明書プロバイダーで使用するため) 自動証明書管理環境 (ACME) プロトコルを使用した、TLS 証明書の自動プロビジョニングおよび更新に、mod_md
パッケージで対応するようになりました。 -
Apache HTTP Server が、
PKCS#11
モジュールを利用して、ハードウェアのセキュリティートークンから、TLS 証明書および秘密鍵を直接読み込むようになりました。これにより、mod_ssl
設定で、PKCS#11
URL を使用して、SSLCertificateKeyFile
ディレクティブおよびSSLCertificateFile
ディレクティブに、TLS 秘密鍵と、必要に応じて TLS 証明書をそれぞれ指定できるようになりました。 /etc/httpd/conf/httpd.conf
ファイルの新しいListenFree
ディレクティブに対応するようになりました。Listen
ディレクティブと同様、ListenFree
は、サーバーがリッスンする IP アドレス、ポート、または IP アドレスとポートの組み合わせに関する情報を提供します。ただし、ListenFree
を使用すると、IP_FREEBIND
ソケットオプションがデフォルトで有効になります。したがって、httpd
は、ローカルではない IP アドレス、または今はまだ存在していない IP アドレスにバインドすることもできます。これにより、httpd
がソケットをリッスンできるようになり、httpd
がバインドしようとするときに、基になるネットワークインターフェイスまたは指定した動的 IP アドレスを起動する必要がなくなります。ListenFree
ディレクティブは、現在 RHEL 8 でのみ利用できます。ListenFree
の詳細は、以下の表を参照してください。表15.1 ListenFree ディレクティブの構文、状態、およびモジュール 構文 状態 モジュール ListenFree [IP-address:]portnumber [protocol]
MPM
event、worker、prefork、mpm_winnt、mpm_netware、mpmt_os2
その他の主な変更点は次の通りです。
以下のモジュールが削除されました。
-
mod_file_cache
mod_nss
代わりに
mod_ssl
を使用します。mod_nss
からの移行の詳細は、さまざまな種類のサーバーのデプロイメント
のApache Web サーバー設定で秘密鍵と証明書を使用できるように NSS データベースからの証明書のエクスポートを参照してください。-
mod_perl
-
-
RHEL 8 の Apache HTTP Server が使用するデフォルトの DBM 認証データベースのデフォルトタイプが、
SDBM
からdb5
に変更になりました。 -
Apache HTTP Server の
mod_wsgi
モジュールが Python 3 に更新されました。WSGI アプリケーションは Python 3 でしか対応していないため、Python 2 から移行する必要があります。 Apache HTTP Server を使用してデフォルトで設定されたマルチプロセッシングモジュール (MPM) は、マルチプロセスのフォークモデル (
prefork
として知られています) から、高パフォーマンスのマルチスレッドモデルevent
に変更しました。スレッドセーフではないサードパーティーのモジュールは、交換または削除する必要があります。設定した MPM を変更するには、
/etc/httpd/conf.modules.d/00-mpm.conf
ファイルを編集します。詳細は、man ページのhttpd.service(8)
を参照してください。- suEXEC によりユーザーに許可される最小 UID および GID はそれぞれ 1000 および 500 です (以前は 100 および 100 でした)。
-
/etc/sysconfig/httpd
ファイルは、httpd
サービスへの環境変数の設定に対応するインターフェイスではなくなりました。systemd サービスに、httpd.service(8)
の man ページが追加されています。 -
httpd
サービスを停止すると、デフォルトで自動停止が使用されます。 -
mod_auth_kerb
モジュールが、mod_auth_gssapi
モジュールに置き換わりました。
デプロイ方法は Apache HTTP Web サーバーの設定 を参照してください。
15.3.2. nginx
Web サーバーが RHEL に新登場
RHEL 8 では、HTTP などのプロトコルに対応する Web サーバーおよびプロキシーサーバー nginx 1.14
が導入され、同時実行性とパフォーマンスが高くなり、メモリー使用量が少なくなりました。nginx
は、以前は、Software Collection からしか入手できませんでした。
nginx
の Web サーバーは、PKCS#11
モジュールを利用してハードウェアセキュリティートークンから直接 TLS 秘密鍵を読み込むようになりました。これにより、nginx
設定で、PKCS#11
の URL を使用して TLS 秘密鍵を ssl_certificate_key
ディレクティブに指定できるようになりました。
15.3.3. Apache Tomcat は RHEL 8.0 で削除され、RHEL 8.8 で再導入される
Apache Tomcat サーバーは Red Hat Enterprise Linux 8.0 から削除され、RHEL 8.8 で再導入されました。Tomcat は、Java Servlet および JavaServer Pages テクノロジーの公式リファレンス実装で使用されるサーブレットコンテナーです。Java Servlet および JavaServer Pages の仕様は、Java Community Process に基づいて Sun によって開発されました。Tomcat はオープンな参加型環境で開発され、Apache ソフトウェアライセンスバージョン 2.0 に基づいてリリースされています。
サーブレットコンテナーを必要とする RHEL 8.8 より前のマイナーバージョンのユーザーは、JBoss Web Server を使用できます。
15.4. プロキシーキャッシュサーバー
15.4.1. Varnish Cache
が RHEL に新登場
高パフォーマンスの HTTP 逆ポリシーである Varnish Cache
が、RHEL で初めて提供されました。以前は、Software Collection からしか入手できませんでした。Varnish Cache
は、将来の同等の要求で応答時間およびネットワークの帯域幅を削減するのに使用されるメモリーに、ファイルまたはファイルの断片を保存します。RHEL 8.0 は、Varnish Cache 6.0
で配布されています。
15.4.2. Squid
への主な変更点
RHEL 8.0 は、Web クライアント、対応する FTP、Gopher、および HTTP のデータオブジェクト用の高パフォーマンスのプロキシーキャッシュサーバーである Squid 4.4
で配布します。このリリースは、RHEL 7 で利用可能なバージョン 3.5 に新しい機能、機能強化、バグ修正を多数提供します。
以下は、主な変更点です。
- ヘルパーのキューサイズが変更可能
- ヘルパー同時実行チャンネルへの変更
- ヘルパーバイナリーへの変更
- Internet Content Adaptation Protocol (ICAP) の保護
- 対称型マルチプロセッシング (SMP) への対応が改善
- プロセス管理が改善
- SSL への対応が削除
- Edge Side Includes (ESI) カスタムパーサーが削除
- 複数の設定変更
15.5. データベースサーバー
RHEL 8 は、次のデータベースサーバーを提供します。
-
MySQL 8.0
。マルチユーザー、マルチスレッドの SQL データベースサーバーです。MySQL
サーバーデーモンであるmysqld
と、多数のクライアントプログラムで設定されます。 -
MariaDB 10.3
。マルチユーザー、マルチスレッドの SQL データベースサーバーです。あらゆる実用的な目的に対応するために、MariaDB
には、MySQL
とバイナリー互換性があります。 -
PostgreSQL 10
およびPostgreSQL 9.6
。高度なオブジェクトリレーショナルデータベース管理システム (DBMS) です。 -
Redis 5
。高度な鍵と値のストアです。鍵には、文字列、ハッシュ、リスト、セット、およびソートセットを含めることができるため、データ構造サーバーと呼ばれています。RHEL で、Redis
が初めて提供されます。
NoSQL の MongoDB
データベースサーバーは、Server Side Public License (SSPL) を使用するため、RHEL 8.0 には同梱されていません。
データベースサーバーを並行してインストールできない
RPM パッケージが競合しているため、RHEL 8.0 では、mariadb
モジュールと mysql
モジュールを同時にインストールすることができません。
設計上、同じモジュールの複数のバージョン (ストリーム) を並行してインストールすることはできません。たとえば、postgresql
モジュールから利用可能なストリーム ( 10
(デフォルト) または 9.6
) の中から 1 つ選択する必要があります。RHEL 6 および RHEL 7 用の Red Hat Software Collections では、コンポーネントの並列インストールが可能です。RHEL 8 では、コンテナー内で異なるバージョンのデータベースサーバーを使用できます。
15.5.1. MariaDB 10.3
への主な変更点
MariaDB 10.3
では、RHEL 7 に同梱されていたバージョン 5.5 に新機能が数多く追加されました。以下は、主な変更点です。
- 共通テーブル式 (CTE)
- システムのバージョンが管理されたテーブル
-
FOR
ループ - 非表示の列
- シーケンス
-
InnoDB
のインスタントADD COLUMN
- ストレージエンジンに依存しないカラム圧縮
- 並列レプリケーション
- マルチソースのレプリケーション
さらに、新しい mariadb-connector-c
パッケージは、MySQL
と MariaDB
に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーの MySQL
および MariaDB
の全バージョンで使用できます。その結果、RHEL 8 に同梱される MySQL
サーバーおよび MariaDB
サーバーのいずれかに構築されるアプリケーションの 1 つに接続できます。
その他の主な変更点は次の通りです。
-
同期マルチソースクラスターの
MariaDB Galera クラスター
は、MariaDB
の標準部分となりました。 -
InnoDB
は、XtraDB
の代わりに、デフォルトのストレージエンジンとして使用されます。 - mariadb-bench サブパッケージが削除されました。
- プラグインの成熟度に対するデフォルトの許可レベルは、サーバーの成熟度よりレベルが 1 つ低くなるように変更になりました。その結果、以前は動作していた、成熟度レベルが低いプラグインが、読み込まれなくなりました。
Red Hat Enterprise Linux 8 での MariaDB の使用 も併せて参照してください。
15.5.2. MySQL 8.0
への主な変更点
RHEL 8 に同梱される MySQL 8.0
には、たとえば次のような機能強化が含まれます。
-
MySQL
に、データベースオブジェクトに関する情報を格納するトランザクショナルデータディクショナリーが組み込まれました。 -
MySQL
がロールに対応するようになりました。ロールは特権の集まりです。 -
デフォルトの文字セットが、
latin1
からutf8mb4
に変更しました。 - 非再帰的および再帰的な Common Table Expression に対応するようになりました。
-
MySQL
が、クエリーで関連する行の集合に対して、行ごとに計算を実行する window 関数に対応するようになりました。 -
locking read ステートメントにより、
InnoDB
で、NOWAIT
オプションおよびSKIP LOCKED
オプションに対応するようになりました。 - GIS 関連の関数が改善しました。
- JSON 関数が強化されました。
-
新しい
mariadb-connector-c
パッケージは、MySQL
とMariaDB
に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーのMySQL
およびMariaDB
の全バージョンで使用できます。その結果、RHEL 8 に同梱されるMySQL
サーバーおよびMariaDB
サーバーのいずれかに構築されるアプリケーションの 1 つに接続できます。
さらに、RHEL 8 に同梱されている MySQL 8.0
サーバーでは、デフォルトの認証プラグインに mysql_native_password
を使用するように設定されています。RHEL 8 のクライアントツールおよびライブラリーは、アップストリームの MySQL 8.0
バージョンでデフォルトで使用されている caching_sha2_password
メソッドと互換性がないためです。
デフォルトの認証プラグインを caching_sha2_password
に変更するには、/etc/my.cnf.d/mysql-default-authentication-plugin.cnf
ファイルを次のように変更します。
[mysqld] default_authentication_plugin=caching_sha2_password
15.5.3. PostgreSQL
への主な変更点
RHEL 8.0 は、postgresql
モジュールの 2 つのストリームで、PostgreSQL
データベースサーバーのバージョンを 2 つ (PostgreSQL 10
(デフォルトストリーム) および PostgreSQL 9.6
) 提供します。RHEL 7 には PostgreSQL
バージョン 9.2 が含まれます。
PostgreSQL 9.6
への主な変更点。以下は例になります。
-
一連の動作の並列実行 -
scan
、join
、およびaggregate
- 同期レプリケーションの機能強化
- フレーズを検索できるように、フルテキスト検索が改善
-
postgres_fdw
データ連携ドライバーが、リモートのjoin
、sort
、UPDATE
、およびDELETE
の操作に対応 - (特に、マルチ CPU ソケットサーバーのスケーラビリティーに関する) 重要なパフォーマンスの向上
PostgreSQL 10
への主な機能拡張。以下は例になります。
-
publish
キーワードおよびsubscribe
キーワードを使用した論理レプリケーション -
SCRAM-SHA-256
メカニズムを基にした強力なパスワード認証 - 宣言型テーブルのパーティション
- 改善されたクエリーの並列処理
- 重要な一般的なパフォーマンスの向上
- 改善された監視および制御
Red Hat Enterprise Linux 8 での PostgreSQL の使用 も併せて参照してください。
第16章 コンパイラーおよび開発ツール
16.1. RHEL 7 以降の toolchain の変更点
以下のシナリオでは、Red Hat Enterprise Linux 7 で説明されているコンポーネントのリリース以降のツールチェインにおける変更を記載します。Red Hat Enterprise Linux 8.0 リリースノート も併せて参照してください。
16.1.1. RHEL 8 の GCC における変更点
Red Hat Enterprise Linux 8 では、GCC ツールチェーンは GCC 8.2 リリースシリーズに基づいています。以下は、Red Hat Enterprise Linux 7 からの主な変更点です。
- エイリアス解析、ベクトル化機能の改善、同一コードの折りたたみ、プロシージャー間解析、ストアマージの最適化パスなど、一般的な最適化が多数追加されました。
- Address Sanitizer が改善されました。
- メモリーリークを検出するために、Leak Sanitizer が追加されました。
- 未定義の挙動を検出するために、Undefined Behavior Sanitizer が追加されました。
- デバッグ情報が DWARF5 形式で生成できるようになりました。この機能は実験的なものです。
- ソースコードカバレッジ解析ツールの GCOV が、様々な改良とともに拡張されました。
- OpenMP 4.5 仕様のサポートが追加されました。また、OpenMP 4.0 仕様のオフロード機能は、C、C++、および Fortran のコンパイラーで対応されます。
- 特定の、起こりうるプログラムエラーを静的に検出するために、新しい警告と改善された診断が追加されました。
- ソースの場所は、その場所よりも広い範囲を追跡するため、診断する内容が濃くなりました。コンパイラーは、fix-it ヒントを提供し、可能なコードの修正を提案します。代替名とタイポの検出を簡単にするために、スペルチェックが追加されました。
セキュリティー
GCC が、生成したコードをさらに強化するツールを提供するように拡張されました。セキュリティーに関する改善点には以下が含まれます。
-
オーバーフローチェックを含む算術計算のための組み込み関数
__builtin_add_overflow
、__builtin_sub_overflow
、および__builtin_mul_overflow
が追加されました。 -
スタッククラッシュに対して追加のコード保護を生成するために、
-fstack-clash-protection
オプションが追加されました。 -
増加したプログラムセキュリティーの制御フロー命令のターゲットアドレスを確認するために、
-fcf-protection
オプションが導入されました。 -
新しい
-Wstringop-truncation
警告オプションは、コピーした文字列を切り捨てるか、目的が変更しないstrncat
、strncpy
、stpncpy
などのバインドされた文字列操作関数への呼び出しをリスト表示します。 -
-Warray-bounds
警告オプションが改善され、範囲外の配列のインデックスおよびポインターのオフセットの検出が改善されるようになりました。 -
memcpy
、realloc
などの生のメモリーアクセス機能により、重要なクラスターイプのオブジェクトで潜在的に危険な操作を警告するために、-Wclass-memaccess
警告オプションが追加されました。
アーキテクチャーおよびプロセッサーのサポート
アーキテクチャーおよびプロセッサーサポートの改善点は次のとおりです。
- Intel AVX-512 アーキテクチャー、その多数のマイクロアーキテクチャー、および Intel Software Guard Extensions (SGX) にアーキテクチャー固有の新しいオプションが複数追加されました。
- コード生成は、現在、64 ビットの ARM アーキテクチャー LSE 拡張、ARMv8.2-A 16 ビット浮動小数点拡張 (FPE)、およびアーキテクチャーのバージョン ARMv8.2-A、ARMv8.3-A、および ARMv8.4-A を対象にできるようになりました。
-
ARM および 64 ビット ARM アーキテクチャーで
-march=native
オプションの処理が修正されました。 - 64 ビット IBM Z アーキテクチャーの z13 および z14 プロセッサーのサポートが追加されました。
言語および標準
以下は、言語と標準規格に関連した主な変更点です。
- C 言語でコンパイルする際に使用されるデフォルトの標準規格が、GNU 拡張機能が含まれる C17 に変更になりました。
- C++ 言語でコードをコンパイルする際に使用されるデフォルトの標準規格が、GNU 拡張機能が含まれる C++14 に変更になりました。
- C++ ランタイムライブラリーが、C++11 および C++14 の標準規格に対応するようになりました。
-
C++ コンパイラーは、新しい機能を多数持つ C++14 標準仕様を実装するようになりました。たとえば、変数テンプレート、非静的データメンバーイニシャライザーを持つ統合、拡張した
constexpr
指定子、標準サイズの割り当て解除関数、汎用ラムダ、可変長の配列、桁区切り記号などになります。 - C 言語の標準 C11 のサポートが改善しました。ISO C11 アトミック、一般的な選択、およびスレッドローカルストレージが利用可能になりました。
-
新しい
__auto_type
の GNU C 拡張機能が、C 言語の C++11 のauto
キーワード機能のサブセットを提供します。 -
ISO/IEC TS 18661-3:2015 標準規格が指定する型名
_FloatN
および_FloatNx
が、C フロントエンドで認識されるようになりました。 -
C 言語でコンパイルする際に使用されるデフォルトの標準規格が、GNU 拡張機能が含まれる C17 に変更になりました。これは、
--std=gnu17
オプションを使用するのと同じ効果があります。以前は、デフォルトは、GNU 拡張を持つ C89 です。 - GCC は、C++17 言語標準規格と、C++20 標準規格の一部の機能を使用してコンパイルできるようになりました。
- 空のクラスを引数として渡すと、プラットフォーム ABI で要求される、Intel 64 アーキテクチャーおよび AMD64 アーキテクチャーで領域を使用しません。削除したコピーまたは移動のコンストラクターだけを持つクラスを渡すか返すと、重要なコピーまたは移動のコンストラクターを持つクラスと同じ規則を使用します。
-
C++11 の
alignof
演算子により返される値は、C の_Alignof
演算子と一致し、最小の配置を返すように修正されました。適切な配置を見つけるには、GNU 拡張機能__alignof__
を使用します。 -
Fortran 言語コード用の
libgfortran
ライブラリーのメインバージョンが 5 に変更になりました。 - Ada (GNAT)、GCC Go、および Objective C/C++ 言語に対応しなくなりました。Go コード開発には Go Toolset を使用してください。
関連情報
- Red Hat Enterprise Linux 8 リリースノート も併せて参照してください。
- Using Go Toolset
16.1.2. RHEL 8 の GCC へのセキュリティー強化
以下では、Red Hat Enterprise Linux 7.0 のリリース以降に追加されたセキュリティーに関連する GCC の変更の詳細を紹介します。
新しい警告
以下のような警告オプションが追加されました。
オプション | 警告が表示された理由 |
---|---|
|
コピーした文字列を切り捨てるか、目的が変更しない |
|
警告は、ユーザー定義のコンストラクターやコピー代入演算子、破損した仮想テーブルポインター、const 修飾型または参照、またはメンバーポインターのデータメンバーを回避する呼び出しを検出します。この警告は、データメンバーへのアクセス制御を回避する呼び出しも検出します。 |
| コードのインデントにより、コードのブロック構造について誤解を与える場所。 |
|
割り当てるメモリーの量が size を超えた場合にメモリー割り当て関数を呼び出します。2 つのパラメーターを乗じることで割り当てが指定される関数や、 |
|
メモリー量を割り当てないようにするメモリー割り当て関数を呼び出します。2 つのパラメーターを乗じることで割り当てが指定される関数や、 |
|
|
|
size 以上のメモリーが必要になると、 |
| 指定のサイズを超えたか、そのバインドが十分に拘束されるか不明な可変長配列 (VLA) の定義。 |
|
形式化された出力関数の |
|
形式化された出力関数の |
|
|
警告の改良
次の GCC の警告が修正されました。
-
-Warray-bounds
オプションが改善され、範囲外の配列インデックスおよびポインターオフセットの複数インスタンスを検出するようになりました。たとえば、フレキシブル配列メンバーと文字列リテラルに、負または過剰なインデックスが検出されます。 -
GCC 7 で導入された
-Wrestrict
オプションは、標準メモリーと、memcpy
、strcpy
などの文字列操作関数への制限引数を介してオブジェクトへのアクセスをオーバーラップする、より多くのインスタンスを検出するように強化されました。 -
-Wnonnull
オプションは、null 以外の引数 (nonnull
属性が付いている) を期待する関数に null ポインターを渡す広範囲なケースセットを検出するように強化されました。
新しい UndefinedBehaviorSanitizer
UndefinedBehaviorSanitizer と呼ばれる未定義の動作を検出する新しいランタイムサニタイザーが追加されました。主な機能は以下のようになります。
オプション | チェック |
---|---|
| ゼロによる浮動小数点除算を検出します。 |
| 浮動小数点型から整数の変換がオーバーフローしていないことを確認します。 |
| 配列境界の計測を有効にして、範囲外のアクセスを検出します。 |
| アラインメントチェックを有効にし、アラインが適切でない様々なオブジェクトを検出します。 |
| オブジェクトサイズのチェックを有効にして、様々な範囲外のアクセスを検出します。 |
| C++ メンバー関数呼び出し、メンバーアクセス、および基本クラスおよび派生クラスへのポインター間の会話のチェックを有効にします。また、参照されるオブジェクトに正しい動的タイプがない場合は検出します。 |
|
配列境界の厳密なチェックを有効にします。これにより、 |
| 汎用ベクトルを持つ算術演算でも、算術オーバーフローが診断されます。 |
|
事前定義されたビルトインの |
|
ポインターのラッピングに簡易ランタイムテストを実行します。 |
AddressSanitizer の新規オプション
以下のオプションが AddressSanitizer に追加されました。
オプション | チェック |
---|---|
| 異なるメモリーオブジェクトを指定するポインターの比較を警告します。 |
| 異なるメモリーオブジェクトを指すポインターの減算を警告します。 |
| その変数が定義されている範囲後に取得され使用されているアドレスの変数をサニタイズします。 |
その他のサニタイザーおよび計測
-
プローブを挿入するために、
-fstack-clash-protection
オプションが追加されました。このプローブは、スタック領域が静的または動的に割り当てられた場合に、スタックオーバーフローが確実に検出され、オペレーティングシステムが提供するスタックガードページを超えることに依存する攻撃ベクトルを軽減する際に挿入されます。 -
制御フロー転送のターゲットアドレス命令 (間接的な関数呼び出し、関数の戻り値、間接ジャンプなど) のターゲットアドレスが有効であることを確認することで、コード計測を実行して、プログラムセキュリティーを高める新しいオプション
-fcf-protection=[full|branch|return|none]
が追加されました。
関連情報
上述のオプションの一部に提供された値の詳細および説明は、gcc(1) man ページを参照してください。
$ man gcc
16.1.3. RHEL 8 の GCC で互換性に影響を与える変更
std::string
および std::list
における C++ ABI の変更
RHEL 7 (GCC 4.8) と RHEL 8 (GCC 8) との間で変更した libstdc++
ライブラリーの std::string
クラスおよび std::list
クラスの Application Binary Interface (ABI) は、C++11 標準に従います。libstdc++
ライブラリーは、古い ABI および新しい ABI の両方に対応しますが、その他の C++ システムライブラリーには対応しません。そのため、このライブラリーに動的にリンクするアプリケーションを再構築する必要があります。これは、C++98 を含むすべての C++ 標準モードに影響します。RHEL 7 で Red Hat Developer Toolset コンパイラーを使用して構築したアプリケーションにも影響します。このコンパイラーは、古い ABI を維持して、システムライブラリーとの互換性を維持します。
GCC が、Ada、Go、および Objective C/C++ コードを構築しなくなる
GCC コンパイラーから、Ada (GNAT)、GCC Go、および Objective C/C++ の言語でコードを構築する機能が削除されました。
Go コードを構築する場合は、代わりに Go Toolset を使用します。
16.2. コンパイラーツールセット
RHEL 8 は、以下のコンパイラーツールセットを、アプリケーションストリームとして提供します。
- LLVM ツールは、LLVM コンパイラーインフラストラクチャーフレームワーク、C 言語および C++ 言語用の Clang コンパイラー、LLDB デバッガー、コード解析の関連ツールを提供します。
-
Rust Toolset は、Rust プログラミング言語コンパイラー
rustc
、cargo
ビルドツールおよび依存マネージャー、cargo-vendor
プラグイン、および必要なライブラリーを提供します。 -
Go Toolset は、Go プログラミング言語ツールおよびライブラリーを提供します。Go は、
golang
としても知られています。
使用方法の詳細と情報については、Red Hat DeveloperTools ページのコンパイラーツールセットのユーザーガイドを参照してください。
16.3. RHEL 8 における Java 実装および Java ツール
RHEL 8 AppStream リポジトリーには、以下が含まれます。
-
java-11-openjdk
パッケージ。OpenJDK 11 Java Runtime Environment および OpenJDK 11 Java Software Development Kit を提供します。 -
java-1.8.0-openjdk
パッケージ。OpenJDK 8 Java Runtime Environment および OpenJDK 8 Java Software Development Kit を提供します。 -
icedtea-web
パッケージ (Java Web Start の実装を提供)。 -
Java ライブラリーおよびコマンドラインツールを提供する
ant
モジュール。Java アプリケーションのコンパイル、アセンブル、テスト、および実行を行います。ant
がバージョン 1.10 に更新されました。 -
maven
モジュールは、ソフトウェアプロジェクトの管理および解釈を行うツールを提供します。maven
は、以前は、Software Collection から、またはサポート対象外の Optional チャンネルからしか入手できませんでした。 -
scala
モジュール は、Java プラットフォーム用の汎用プログラミング言語を提供します。scala
は、以前は、Software Collection からしか入手できませんでした。
また、java-1.8.0-ibm
パッケージは、Supplementary リポジトリーを介して配布されます。Red Hat は、このリポジトリーのパッケージをサポートしていません。
16.4. GDB で互換性に影響を与える変更
Red Hat Enterprise Linux 8 で提供される GDB のバージョンは、特に GDB の出力が端末から直接読み込まれる場合に、互換性に影響を与える変更が多数含まれています。次のセクションは、この変更の詳細を提供します。
GDB の出力の解析は推奨されません。Python GDB API または GDB Machine Interface (MI) を使用するスクリプトが推奨されます。
GDBserver がシェルで inferior を開始
inferior コマンドライン引数で拡張や変数置換を有効にするために、GDBserver では、GDB と同じように、シェルで inferior を開始するようになりました。
シェルを使用して無効にするには、以下を行います。
-
GDB コマンド
target extended-remote
を使用する場合は、set startup-with-shell off
コマンドでシェルが無効になります。 -
GDB コマンド
target remote
を使用する場合は、GDBserver の--no-startup-with-shell
オプションでシェルが無効になります。
例16.1 リモートの GDB inferior へのシェル拡張例
この例は、GDBserver から /bin/echo /*
コマンドを実行する方法が Red Hat Enterprise Linux versions 7 および 8 でどのように異なるかを示します。
RHEL 7 の場合:
$ gdbserver --multi :1234 $ gdb -batch -ex 'target extended-remote :1234' -ex 'set remote exec-file /bin/echo' -ex 'file /bin/echo' -ex 'run /*' /*
RHEL 8 の場合:
$ gdbserver --multi :1234 $ gdb -batch -ex 'target extended-remote :1234' -ex 'set remote exec-file /bin/echo' -ex 'file /bin/echo' -ex 'run /*' /bin /boot (...) /tmp /usr /var
gcj
サポートが削除される
Java 用の GNU Compiler でコンパイルされた Java プログラムをデバッグへの対応 (gcj
) が削除されました。
シンボルのダンプのメンテナンスコマンドの新しい構文
シンボルのダンプのメンテナンスコマンド構文に、ファイル名の前にオプションが追加されました。これにより、RHEL 7 の GDB で機能するコマンドが、RHEL 8 では機能しなくなりました。
例として、次のコマンドはファイルにシンボルを格納しませんが、エラーメッセージを生成します。
(gdb) maintenance print symbols /tmp/out main.c
シンボルのダンプのメンテナンスコマンドの新しい構文は、以下のようになります。
maint print symbols [-pc address] [--] [filename] maint print symbols [-objfile objfile] [-source source] [--] [filename] maint print psymbols [-objfile objfile] [-pc address] [--] [filename] maint print psymbols [-objfile objfile] [-source source] [--] [filename] maint print msymbols [-objfile objfile] [--] [filename]
スレッド番号がグローバルではなくなる
GDB は、グローバルのスレッド番号設定のみを使用していました。番号設定は、inferior_num.thread_num
の形式 (2.1
など) で、inferior ごとに表示されるように拡張されました。そのため、利便性に関する変数 $_thread
と、Python 属性 InferiorThread.num
のスレッド番号が、inferior の間で一意ではなくなりました。
GDB は、スレッドごとに、グローバルスレッド ID と呼ばれる 2 番目のスレッド ID を格納します。これは、以前のリリースのスレッド番号と同等の、新規のものになります。グローバルスレッド番号にアクセスするには、利便性に関する変数 $_gthread
および Python 属性 InferiorThread.global_num
を使用します。
後方互換性の場合は、Machine Interface (MI) のスレッド ID に、常にグローバル ID が含まれます。
例16.2 GDB スレッド番号変更の例
Red Hat Enterprise Linux 7 の場合:
# debuginfo-install coreutils $ gdb -batch -ex 'file echo' -ex start -ex 'add-inferior' -ex 'inferior 2' -ex 'file echo' -ex start -ex 'info threads' -ex 'pring $_thread' -ex 'inferior 1' -ex 'pring $_thread' (...) Id Target Id Frame * 2 process 203923 "echo" main (argc=1, argv=0x7fffffffdb88) at src/echo.c:109 1 process 203914 "echo" main (argc=1, argv=0x7fffffffdb88) at src/echo.c:109 $1 = 2 (...) $2 = 1
Red Hat Enterprise Linux 8 の場合:
# dnf debuginfo-install coreutils $ gdb -batch -ex 'file echo' -ex start -ex 'add-inferior' -ex 'inferior 2' -ex 'file echo' -ex start -ex 'info threads' -ex 'pring $_thread' -ex 'inferior 1' -ex 'pring $_thread' (...) Id Target Id Frame 1.1 process 4106488 "echo" main (argc=1, argv=0x7fffffffce58) at ../src/echo.c:109 * 2.1 process 4106494 "echo" main (argc=1, argv=0x7fffffffce58) at ../src/echo.c:109 $1 = 1 (...) $2 = 1
値の中身に対するメモリーが制限される
GDB は、以前は、値のコンテンツに割り当てられるメモリー量に制限を課していませんでした。その結果、誤ったプログラムをデバッグすると、GDB が割り当てるメモリー量が多くなりすぎていました。割り当てたメモリーの量を制限できるように、max-value-size
設定が追加されました。この制限のデフォルト値は 64 KiB です。これにより、Red Hat Enterprise Linux 8 の GDB では、表示される値が大きくなりすぎることはありませんが、その値が大きすぎることが報告されます。
たとえば、char s[128*1024];
と定義された値を出力すると、異なる結果が生成されます。
-
Red Hat Enterprise Linux 7 では、
$1 = 'A' <repeats 131072 times>
となります。 -
Red Hat Enterprise Linux 8 では、
value requires 131072 bytes, which is more than max-value-size
(値には 131072 バイトが必要ですが、この値は max-value-size を超えています) と表示されます。
スタブ形式の Sun のバージョンがサポート対象外になる
Sun バージョンの stabs
デバッグファイルフォーマットに対応しなくなりました。RHEL で gcc -gstabs
オプションを使用して GCC が生成した stabs
フォーマットは、GDB でも引き続きサポートされます。
Sysroot 処理変更
set sysroot path
コマンドは、デバッグに必要なファイルを検索する際にシステムルートを指定します。このコマンドに適用したディレクトリー名は、文字列 target:
の接頭辞になり、GDB が、(ローカルおよびリモートの) ターゲットシステムの共有ライブラリーを読み込みます。以前は利用できた remote:
接頭辞は、target:
として扱われるようになりました。さらに、デフォルトのシステム root の値は、後方互換性として、空の文字列から target:
に変更になりました。
GDB がリモートのプロセスを開始したり、すでに実行しているプロセス (ローカルおよびリモートの両方) に接続する際に、指定したシステムの root が、主な実行ファイルのファイル名の先頭に追加されます。これは、プロセスがリモートの場合に、デフォルト値 target:
が、GDB がリモートシステムからデバッグ情報を読み込もうとすることを示しています。これが発生しないようにするには、target remote
コマンドの前に set sysroot
コマンドを実行して、ローカルのシンボルファイルが、リモートのファイルが見つかるよりも早く見つかるようにします。
HISTSIZE が GDB コマンドの履歴サイズを制御しなくなる
HISTSIZE
環境変数に使用されている GDB は、コマンド履歴がどのぐらい保存されるかを指定していました。代わりに GDBHISTSIZE
環境変数が使用されるように変更になりました。この変数は、GDB に固有になります。可能な値とその効果は次のとおりです。
- 正の数 - このサイズのコマンド履歴を使用
-
-1
または空の文字列 - コマンド履歴をすべて保持 - 数値以外の値 - 無視
完了制限が追加される
set max-completions
コマンドを使用して、完了時に検討される候補の最大値が制限されるようになりました。現在の制限を表示するには、show max-completions
コマンドを実行します。デフォルト値は 200 です。この制限により、GDB が、生成する完了リストが大きすぎて、応答しなくならないようにします。
たとえば、p <tab><tab>
の入力後の出力は、以下のようになります。
-
RHEL 7 の場合 -
Display all 29863 possibilities? (y or n)
-
RHEL 8 の場合 -
Display all 200 possibilities? (y or n)
HP-UX XDB 互換性モードが削除される
HP-UX XDB 互換性モードの -xdb
オプションが GDB から削除されています。
スレッドのシグナル処理
GDB は、シグナルが実際に送信されるスレッドの代わりに、現在のスレッドへシグナルを配信していました。このバグは修正され、実行を再開する際に GDB が現在のスレッドへ、常にシグナルを渡すようになりました。
また、signal
コマンドは、現在のスレッドに、必要なシグナルを常に正しく配信するようになりました。シグナルに対してプログラムが停止したり、ユーザーがスレッドを切り替えた場合は、GDB により確認が求められます。
ブレークポイントモードが常に挿入され、自動的にマージされる
breakpoint always-inserted
設定が変更しました。auto
値と対応する動作が削除されました。デフォルト値は off
です。off
の場合は、すべてのスレッドが停止するまで、GDB がターゲットからブレークポイントを削除しないようになります。
remotebaud コマンドがサポート対象外に
set remotebaud
コマンドおよび show remotebaud
コマンドがサポートされなくなりました。代わりに set serial baud
コマンドおよび show serial baud
コマンドを使用してください。
16.5. コンパイラーおよび開発ツールにおける互換性に影響を与える変更
librtkaio が削除される
この更新では、librtkaio ライブラリーが削除されました。このライブラリーは、ファイルへの高パフォーマンスのリアルタイム非同期 I/O アクセスを提供していました。これは、Linux の KAIO (kernel Asynchronous I/O) サポートに基づいています。
削除の結果は以下のようになります。
-
librtkaio を読み込む
LD_PRELOAD
メソッドを使用するアプリケーションは、不明なライブラリーに関する警告を表示し、代わりに librt ライブラリーを読み込み、適切に実行します。 -
librtkaio を読み込む
LD_LIBRARY_PATH
メソッドを使用するアプリケーションは、代わりに librt ライブラリーを読み込んで適切に実行し、警告は表示されません。 -
dlopen()
システムコールを使用するアプリケーションでは、代わりに librtkaio が librt ライブラリーを直接読み込みます。
librtkaio のユーザーには以下のオプションがあります。
- 自身のアプリケーションを変更せずに、上記のフォールバックメカニズムを使用。
- librt ライブラリーを使用するようにアプリケーションのコードを変更。互換性のある POSIX 準拠 API が提供されます。
- 互換性のある API を提供する libaio ライブラリーを使用するようにアプリケーションのコードを変更。
特定の条件では、librt と libaio の両方が、同じ機能および性能を提供します。
Red Hat 互換性レベルは、libaio パッケージが 2 になります。librtk と削除された librtkaio の場合は 1 です。
詳細は Changes/GLIBC223 librtkaio removal を参照してください。
Sun RPC インターフェイスおよび NIS インターフェイスが glibc
から削除される
glibc
ライブラリーは、新しいアプリケーションに Sun RPC および NIS のインターフェイスを提供しなくなりました。このインターフェイスは、レガシーアプリケーションを実行する場合にのみ利用できるようになりました。開発者は、Sun RPC の代わりに libtirpc
ライブラリー、そして NIS の代わりに libnsl2
ライブラリーを使用するようにアプリケーションを変更する必要があります。アプリケーションは、置換ライブラリーの IPv6 サポートを利用します。
32 ビット Xen の nosegneg
ライブラリーが削除される
glibc
i686 パッケージは、以前は代替の glibc
ビルドに含まれており、負のオフセット (nosegneg
) を使用して、スレッド記述子セグメントレジスターの使用を回避していました。この代替ビルドは、ハードウェアの仮想化サポートを使用せず、フル準仮想化のコストを削除するための最適化として、32 ビットバージョンの Xen Project ハイパーバイザーでのみ使用されます。この代替ビルドはこれ以上使用されず、削除されます。
make
の新しい演算子 !=
を使用すると一部の makefile の既存構文で解釈が異なる
BSD makefile との互換性を高める $(shell …)
関数の代わりに、シェル代入演算子 !=
が GNU make
に追加されました。これにより、variable!=value
のように、感嘆符で終わり、その後に代入が続く名前の変数は、新しいシェル割り当てとして解釈されるようになりました。以前の動作に戻すには、variable! =value
のように、感嘆符の後にスペースを追加します。
演算子と関数の詳細と相違点は、GNU の make
マニュアルを参照してください。
MPI デバッグサポート用 valgrind ライブラリーが削除される
valgrind-openmpi
パッケージが提供する Valgrind の libmpiwrap.so
ラッパーライブラリーが削除されました。このライブラリーにより、MPI (Message Passing Interface) を使用して、Valgrind がプログラムをデバッグできるようになりました。このライブラリーは、以前のバージョンの Red Hat Enterprise Linux の Open MPI 実装バージョンに固有です。
libmpiwrap.so
を使用する場合は、MPI 実装およびバージョンに固有のアップストリームソースから独自のバージョンを構築することが推奨されます。LD_PRELOAD
技術を使用して、カスタムビルドのライブラリーを Valgrind に提供します。
開発用ヘッダーおよび静的ライブラリーが valgrind-devel
から削除される
valgrind-devel
サブパッケージは、カスタムの valgrind ツールを開発する開発ファイルを追加するために使用されていました。このファイルには保証された API がないため、この更新によりこのファイルが削除され、静的なリンクが必要となり、サポート対象外となります。valgrind-devel
パッケージには、valgrind が有効なプログラムや、valgrind.h
、callgrind.h
、drd.h
、helgrind.h
、memcheck.h
などのヘッダーファイルに対する開発ファイルが含まれます。このファイルは安定しており、十分にサポートされます。
第17章 ID 管理
17.1. Identity Management パッケージがモジュールとしてインストールされる
RHEL 8 では、Identity Management (IdM) サーバーとクライアントのインストールに必要なパッケージがモジュールとして配布されています。client
ストリームは、idm
モジュールのデフォルトのストリームであるため、このストリームを有効にしなくてもクライアントのインストールに必要なパッケージをダウンロードできます。
IdM サーバーモジュールストリームは DL1
と呼ばれ、さまざまなタイプの IdM サーバーに対応するプロファイルが複数含まれます。
-
サーバー
: 統合 DNS のない IdM サーバー -
DNS
: 統合 DNS のある IdM サーバー -
adtrust
: Active Directory と信頼関係のある IdM サーバー -
クライアント
: IdM クライアント
DL1
ストリームの特定のプロファイルにあるパッケージをダウンロードする場合は、以下を行います。
ストリームを有効にします。
# yum module enable idm:DL1
ストリーム経由で配信される RPM に切り替えます。
# yum distro-sync
選択したプロファイルをインストールします。
# yum module install idm:DL1/profile
profile を、上で定義した特定のプロファイルのいずれかに置き換えます。
詳細は Identity Management サーバーに必要なパッケージのインストール および Identity Management クライアントのインストールに必要なパッケージ を参照してください。
17.2. Active Directory ユーザーが Identity Management を管理可能に
Red Hat Enterprise Linux (RHEL) 7 では、System Security Services Daemon (SSSD) で外部グループメンバーシップを使用して、AD ユーザーとグループが POSIX 環境の IdM リソースにアクセスするのを許可します。
IdM LDAP サーバーには、アクセス制御を付与する独自のメカニズムがあります。RHEL 8 には、AD ユーザーに対する ID ユーザーのオーバーライドを、IdM グループのメンバーとして追加できるようにする更新が導入されました。ID オーバーライドは、特定の Active Directory ユーザーまたはグループのプロパティーが特定の ID ビュー (この場合は Default Trust View) 内でどのように見えるかを記述するレコードです。この更新により、IdM LDAP サーバーは、IdM グループのアクセス制御ルールを AD ユーザーに適用できます。
AD ユーザーは、IdM UI のセルフサービス機能 (SSH キーのアップロード、個人のデータの変更など) を使用できるようになりました。AD 管理者は、アカウントおよびパスワードを 2 つ使用しなくても、IdM を完全に管理できるようになります。
IdM の一部の機能は、AD ユーザーには現在利用できません。たとえば、IdM の admins
グループに所属する AD ユーザーが、IdM ユーザーのパスワードを設定することはできません。
17.3. IdM が、インストールおよび管理用の Ansible ロールとモジュールに対応
Red Hat Enterprise Linux 8.1 では、Identity Management (IdM) のデプロイメントと管理のための Ansible ロールとモジュールを提供する ansible-freeipa
パッケージが導入されています。Ansible ロールを使用して、IdM サーバー、レプリカ、およびクライアントのインストールとアンインストールを行うことができます。Ansible モジュールを使用して、IdM グループ、トポロジー、およびユーザーを管理できます。また、サンプル Playbook も用意されています。
今回の更新で、IdM ベースのソリューションのインストールおよび設定が容易になります。
17.4. すべての依存関係を持つ AppStream リポジトリーで ansible-freeipa
が利用可能に
RHEL 8.6 以降、ansible-freeipa
パッケージをインストールすると、ansible
のより基本的なバージョンである ansible-core
パッケージが依存関係として自動的にインストールされます。ansible-freeipa
と ansible-core
の両方が、rhel-9-for-x86_64-appstream-rpms
リポジトリーで利用できます。
RHEL 8.6 の ansible-freeipa
には、RHEL 8.6 より前に含まれていたすべてのモジュールが含まれています。
RHEL 8.6 より前は、まず Ansible リポジトリーを有効にして、ansible
パッケージをインストールする必要がありました。そうして初めて、ansible-freeipa
がインストール可能でした。
17.5. 従来の RHEL ansible-freeipa
リポジトリーに代わる Ansible Automation Hub
Red Hat Enterprise Linux 8.6 では、標準の RHEL リポジトリーからダウンロードする代わりに、Ansible Automation Hub (AAH) から ansible-freeipa
モジュールをダウンロードできます。AAH を使用することで、このリポジトリーで利用可能な ansible-freeipa
モジュールのより高速な更新の恩恵を受けることができます。
AAH では、ansible-freeipa
のロールとモジュールがコレクション形式で配布されます。AAH ポータルのコンテンツにアクセスするには、Ansible Automation Platform (AAP) サブスクリプションが必要であることに注意してください。また、ansible
バージョン 2.14 以降も必要です。
redhat.rhel_idm
コレクションには、従来の ansible-freeipa
パッケージと同じコンテンツが含まれています。ただし、コレクション形式では、名前空間とコレクション名で構成される完全修飾コレクション名 (FQCN) が使用されます。たとえば、redhat.rhel_idm.ipadnsconfig
モジュールは、RHEL リポジトリーによって提供される ansible-freeipa
の ipadnsconfig
モジュールに対応します。名前空間とコレクション名の組み合わせにより、オブジェクトが一意になり、競合することなく共有できるようになります。
17.6. Identity Management ユーザーは、外部アイデンティティープロバイダーを使用して IdM に認証できるようになる
RHEL 8.10 以降では、アイデンティティー Management (IdM) ユーザーを、OAuth 2 デバイス認証フローをサポートする外部アイデンティティープロバイダー (IdP) に関連付けることができます。このような IdP の例としては、Red Hat build of Keycloak、Azure Entra ID、Github、Google、Facebook などがあります。
IdM に IdP 参照と関連付けられた IdP ユーザー ID が存在する場合は、それらを使用して IdM ユーザーが外部 IdP で認証できるようにすることができます。外部 IdP で認証と認可を実行した後、IdM ユーザーはシングルサインオン機能を備えた Kerberos チケットを受け取ります。ユーザーは、RHEL 8.7 以降で使用可能な SSSD バージョンで認証する必要があります。
idp
ansible-freeipa
モジュールを使用して、IdM ユーザーの IdP 認証を設定することもできます。
17.7. RHEL 8 のセッション記録ソリューションが追加
Red Hat Enterprise Linux 8 (RHEL 8) にセッション記録ソリューションが追加されました。新しい tlog
パッケージと、それに関連付けられた Web コンソールセッションプレイヤーにより、ユーザー端末セッションを録画および再生できるようになりました。録画は、システムセキュリティーサービスデーモン (SSSD) サービスを介して、ユーザー別またはユーザーグループ別に設定できます。端末への入出力はすべてキャプチャーされ、テキストベースの形式でシステムジャーナルに保存されます。セキュリティー上の理由から、未加工のパスワードやその他の機密情報を傍受されないように、入力はデフォルトでは非アクティブになっています。
このソリューションを、セキュリティーが重要なシステムでユーザーセッションを監査するのに使用できます。セキュリティー違反が発生した場合に、記録したセッションをフォレンジック分析として評価できます。システム管理者は、セッション録画をローカルに設定し、tlog-play
ユーティリティーを使用して、RHEL 8 Web コンソールインターフェイスまたはコマンドラインインターフェイスから、結果を表示できるようになりました。
17.8. Identity Management から削除された機能
17.8.1. NTP サーバー
の IdM サーバーロールがない
RHEL 8 では chronyd
が優先されるため、ntpd
は非推奨となっており、IdM サーバーは Network Time Protocol (NTP) サーバーとして設定されず、NTP クライアントとしてのみ設定されます。RHEL 7 の NTP サーバー
の IdM サーバーロールも、RHEL 8 では非推奨になりました。
17.8.2. NSS データベースが OpenLDAP でサポートされない
以前のバージョンの Red Hat Enterprise Linux (RHEL) における OpenLDAP スイートは、暗号化目的で Mozilla Network Security Services (NSS) を使用しました。RHEL 8 を使用して、OpenLDAP コミュニティーがサポートする OpenSSL は NSS を置き換えます。証明書およびキーを保存する NSS データベースをサポートしません。ただし、同じ目的を担う PEM (Privacy Enhanced Mail) ファイルをサポートします。
17.8.3. 選択した Python Kerberos パッケージが置き換えられている
Red Hat Enterprise Linux (RHEL) 8 では、python-gssapi
パッケージが、python-krbV
、python-kerberos
、python-requests-kerberos
、python-urllib2_kerberos
などの Python Kerberos パッケージに置き換えられました。重要な利点には、以下のようなものがあります。
-
python-gssapi
は、python-kerberos
またはpython-krbV
よりも使いやすくなりました。 -
python 2
およびpython 3
は、python-gssapi
では対応されますが、python-krbV
では対応されません。 -
追加の Kerberos パッケージ
python-requests-gssapi
およびpython-urllib-gssapi
は、現在、 Extra Packages for Enterprise Linux (EPEL) リポジトリーの追加パッケージで利用できます。
GSSAPI ベースのパッケージは、後方互換性のために、Kerberos だけでなく、NT LAN Manager NTLM
など、その他の Generic Security Services API (GSSAPI) メカニズムを使用できます。
この更新により、RHEL 8 の GSSAPI の保守性とデバッグ可能性が向上します。
17.9. SSSD
17.9.1. AD GPO がデフォルトで有効に
RHEL 8 では、ad_gpo_access_control
オプションのデフォルト設定は enforcing
となり、Active Directory Group Policy Objects (GPO) に基づいてアクセス制御ルールが評価され、適用されます。
一方、RHEL 7 のこのオプションのデフォルトは Permissive
で、GPO ベースのアクセス制御ルールは強制的に実行されません。Permissive
モードでは、GPO によるアクセスが拒否されるたびに syslog メッセージは記録されますが、ユーザーはアクセスが拒否されてもそのままログインできます。
Red Hat は、RHEL 7 から RHEL 8 にアップグレードする前に、Active Directory で GPO が正しく設定されていることを確認することを推奨します。
デフォルトの RHEL 7 ホストで認可に影響のない GPO の設定が間違っていると、デフォルトの RHEL 8 ホストに影響を及ぼす可能性があります。
GPO の詳細は、RHEL でのグループポリシーオブジェクトアクセス制御の適用 および sssd-ad
の man ページの ad_gpo_access_control
のエントリーを参照してください。
17.9.2. authselect
が authconfig
に置き換え
RHEL 8 では、authselect
ユーティリティーが authconfig
ユーティリティーに代わります。authselect
には、システム管理者が PAM 設定変更を簡単に行える、PAM スタック管理のより安全なアプローチがあります。authselect
を使用して、パスワード、証明書、スマートカード、フィンガープリントなどの認証方法を設定できます。authselect
では、リモートドメインに参加するのに必要なサービスを設定しないことに注意してください。このタスクは、realmd
、ipa-client-install
のような専門のツールにより実行されます。
17.9.3. KCM が、KEYRING をデフォルトの認証情報キャッシュストレージとして置き換え
RHEL 8 でデフォルトの認証情報キャッシュストレージは、sssd-kcm
デーモンにより強化されている Kerberos Credential Manager (KCM) です。KCM では、以前使用されていた KEYRING の制限 (名前空間がないためにコンテナー化された環境での使用や、クォータの表示および管理が困難など) が解消されています。
今回の更新で、RHEL 8 には、コンテナー環境により適した認証情報キャッシュが含まれ、将来のリリースでより多くの機能を構築するための基盤が提供されます。
17.9.4. sssctl
が、IdM ドメインの HBAC ルールレポートを出力
今回の更新で、System Security Services Daemon (SSSD) の sssctl
ユーティリティーは、Identity Management (IdM) ドメインのアクセス制御レポートを出力できるようになりました。この機能は、規制上の理由から、特定のクライアントマシンにアクセスできるユーザーとグループのリストを表示するニーズを満たします。IdM クライアントで sssctl access-report
domain_name
を実行すると、クライアントマシンに適用する IdM ドメインで解析されたホストベースのアクセス制御 (HBAC) ルールのサブセットを表示します。
IdM 以外のプロバイダーは、この機能に対応していません。
17.9.5. RHEL 8.8 以降、SSSD がデフォルトでローカルユーザーをキャッシュせず、nss_sss
モジュールを通じてローカルユーザーにサービスを提供しなくなる
RHEL 8.8 以降では、/etc/passwd
ファイルおよび /etc/group
ファイルからユーザーおよびグループを提供する System Security Services Daemon (SSSD) files
プロバイダーはデフォルトで無効になっています。/etc/sssd/sssd.conf
設定ファイルの enable_files_domain
設定のデフォルト値は false
です。
RHEL 8.7 以前のバージョンでは、SSSD ファイル
プロバイダーはデフォルトで有効になっています。sssd.conf
設定ファイルの enable_files_domain
設定のデフォルト値は true
であり、sss
nsswitch モジュールは /etc/nsswitch.conf
ファイル内の ファイル
より優先されます。
17.9.6. SSSD で、複数のスマートカード認証デバイスの中から 1 つを選択可能
デフォルトでは、SSSD (System Security Services Daemon) が、スマートカード認証用デバイスを自動的に検出しようとします。複数のデバイスを接続している場合は、最初に見つかったデバイスを SSSD が選択します。したがって、特定のデバイスを選択することはできません。失敗する可能性もあります。
この更新では、sssd.conf
設定ファイルの [pam]
セクションに、新しい p11_uri
オプションを設定できるようになりました。このオプションを使用すると、スマートカード認証に使用するデバイスを定義できます。
たとえば、OpenSC PKCS#11 モジュールにより検出されたスロット ID 2
のリーダーを選択するには、以下を追加します。
p11_uri = library-description=OpenSC%20smartcard%20framework;slot-id=2
sssd.conf
の [pam]
セクションに追加します。
詳細は、man sssd.conf
ページを参照してください。
17.10. 削除された SSSD 機能
17.10.1. sssd-secrets
が削除される
System Security Services Daemon (SSSD) の sssd-secrets
コンポーネントは、Red Hat Enterprise Linux 8 から削除されました。Custodia シークレットサービスプロバイダーが、以前よりも活発に開発されなくなったためです。その他の Identity Management ツールを使用して Identity Management Vault などのシークレットを保存します。
17.10.2. SSSD バージョンの libwbclient が削除される
libwbclient
パッケージの SSSD 実装により、Samba smbd
サービスは、winbind
サービスを実行する必要なく、AD からユーザーおよびグループ情報を取得できていました。Samba では、winbind
サービスが実行しており、AD との通信を処理する必要があるため、セキュリティー上の理由から、関連するコードが smdb
から削除されました。この追加の必須機能は SSSD の一部ではなく、また、libwbclient の SSSD
実装は Samba の最近のバージョンでは使用できないため、libwbclient の SSSD
実装は RHEL 8.5 で削除されました。
第18章 Web コンソール
18.1. Web コンソールがデフォルトで利用可能
RHEL 8 Web コンソールのパッケージ (Cockpit とも呼ばれます) は、Red Hat Enterprise Linux のデフォルトリポジトリーに同梱されるようになったため、登録済みの RHEL 8 システムにすぐにインストールできます。
さらに、RHEL 8 の最小インストール以外のインストールでは、Web コンソールが自動的にインストールされ、コンソールに必要なファイアウォールポートが自動的に開くようになりました。
ログイン前に、Web コンソールを有効にしたり、Web コンソールにアクセスする方法を示すシステムメッセージも追加されました。
18.2. 新しいファイアウォールインターフェイス
RHEL 8 Web コンソールの Networking タブに Firewall セクションが追加されました。このセクションでは以下のことができます。
- ファイアウォールの有効化/無効化
- サービスの追加/削除
詳細は Web コンソールでのファイアウォールの管理 を参照してください。
18.3. サブスクリプション管理
RHEL 8 Web コンソールは、ローカルシステムにインストールされている Red Hat Subscription Manager を使用するインターフェイスを提供します。Subscription Manager は Red Hat カスタマーポータルに接続し、利用可能な次のものをすべて確認します。
- アクティブなサブスクリプション
- 期限が切れたサブスクリプション
- 更新されたサブスクリプション
Red Hat カスタマーポータルでサブスクリプションを更新したり、別のサブスクリプションを入手したい場合に、Subscription Manager のデータを手動で更新する必要はありません。Subscription Manager は、Red Hat カスタマーポータルと自動的に同期します。
新しい subscription-manager-cockpit パッケージで、Web コンソールのサブスクリプションページが提供されるようになりました。
詳細は Web コンソールを使用したサブスクリプションの管理 を参照してください。
18.4. Web コンソール用の IdM 統合が改善
システムが Identity Management (IdM) ドメインに登録されていると、RHEL 8 Web コンソールはデフォルトで、ドメインで集中管理されている IdM リソースを使用するようになりました。これには、以下の利点があります。
- IdM ドメインの管理者は、Web コンソールを使用して、ローカルマシンを管理できます。
- コンソールの Web サーバーでは、IdM 認証局 (CA) が発行した証明書に自動的に切り替わり、ブラウザーにより許可されます。
- IdM ドメインに Kerberos チケットがあると、Web コンソールにアクセスする際にログイン認証情報を指定する必要がなくなりました。
- IdM ドメインで認識されている SSH ホストは、手動で SSH 接続を追加しなくても Web コンソールにアクセスできます。
IdM と Web コンソールの統合が適切に機能するようにするには、IdM サーバーの enable-admins-sudo オプションを使用して、ipa-advise ユーティリティーを実行する必要があります。
18.5. Web コンソールにモバイルブラウザーとの互換性が追加
今回の更新で、モバイルブラウザーのバリアントで、Web コンソールメニューおよびページを移動できるようになりました。これにより、モバイルデバイスから RHEL 8 Web コンソールを使用してシステムを管理できます。
18.6. Web コンソールのフロントページに、不足している更新およびサブスクリプションを表示
RHEL 8 Web コンソールが管理するシステムに、古いパッケージまたは失効したサブスクリプションがあると、システムの Web コンソールのフロントページに警告が表示されるようになりました。
18.7. Web コンソールが PBD 登録に対応
今回の更新で、RHEL 8 Web コンソールインターフェイスを使用して、管理システムのディスクに PBD (Policy-Based Decryption) ルールを適用できるようになりました。これは、Clevis 複号クライアントを使用して、LUKS で暗号化されたディスクパーティションの自動ロック解除など、Web コンソールのさまざまなセキュリティー管理機能を容易にします。
18.8. LUKS v2 のサポート
Web コンソールの ストレージ タブでは、作成、ロック、ロック解除、サイズ変更、または LUKS (Linux Unified Key Setup) バージョン 2 形式を使用した暗号化デバイスを設定できます。
この新しいバージョンの LUKS は、以下を提供します。
- より柔軟なロック解除ポリシー
- より強力な暗号化
- 今後の変更との互換性の高さ
18.9. Web コンソールを使用して仮想マシンが管理可能に
RHEL 8 Web コンソールインターフェイスに、Virtual Machines ページを追加できるようになりました。これにより、libvirt ベースの仮想マシンを作成および管理できるようになりました。
Web コンソールおよび仮想マシンマネージャーの仮想管理機能の相違点は、仮想マシンマネージャーと Web コンソールでの仮想化機能の相違点 を参照してください。
18.10. Web コンソールで Internet Explorer がサポートされない
RHEL 8 Web コンソールで Internet Explorer ブラウザーに対応しなくなりました。Internet Explorer の Web コンソールを開こうとするとエラー画面が表示され、代わりに使用できる推奨されるブラウザーのリストが表示されます。
第19章 仮想化
19.1. Web コンソールを使用して仮想マシンが管理可能に
RHEL 8 Web コンソールインターフェイスに、Virtual Machines ページを追加できるようになりました。これにより、libvirt ベースの仮想マシンを作成および管理できるようになりました。
また、Virtual Machine Manager (virt-manager
) アプリケーションが非推奨になり、将来バージョンの RHEL ではサポートされなくなる可能性があります。
Web コンソールは、virt-manager
が提供する仮想管理機能をすべて提供しているわけではないことに注意してください。RHEL 8 Web コンソールと Virtual Machine Manager の利用可能な機能の相違点の詳細は、RHEL 8 Web コンソールで仮想マシンの管理 を参照してください。
19.2. 仮想システムで Q35 マシンタイプに対応
Red hat Enterprise Linux 8 は、より現代的な PCI Express ベースのマシンタイプである Q35
に対応するようになりました。これにより、仮想デバイスの機能とパフォーマンスに様々な改善が行われ、最新の広範囲なデバイスで仮想システムへの互換性が保証されます。また、Red Hat Enterprise Linux 8 で作成された仮想マシンは、デフォルトで Q35 を使用するように設定されています。
以前のデフォルトの PC
マシンタイプは非推奨になっており、将来バージョンの RHEL では対応されなくなる可能性があります。既存の仮想マシンのマシンタイプを PC
から Q35
へ変更することは推奨されていません。
PC
と Q35
の主な相違点は以下のようになります。
- Windows XP などの古いオペレーティングシステムでは Q35 に対応せず、Q35 の仮想マシンで使用すると起動しません。
現在、Q35 仮想マシンで RHEL 6 をオペレーティングシステムとして使用すると、状況によっては、その仮想マシンにホットプラグした PCI デバイスが動作しません。さらに、一部のレガシーの virtio デバイスは、RHEL 6 の Q35 仮想マシンでは適切に動作しません。
したがって、RHEL 6 仮想マシンには、マシンタイプ PC が使用されます。
- Q35 は、PCI の代わりに PCI Express (PCI-e) バスをエミュレートします。その結果、異なるデバイストポロジーとアドレス指定方式が、ゲスト OS に提示されます。
- Q35 には、IDE コントローラーの代わりに、組み込み SATA/AHCI コントローラーがあります。
- SecureBoot 機能は、Q35 仮想マシンでのみ有効です。
19.3. 削除された仮想機能
cpu64-rhel6
CPU モデルが非推奨になり削除される
RHEL 8.1 では、cpu64-rhel6
QEMU 仮想 CPU モデルが非推奨になり、RHEL 8.2 から削除されました。ホストマシンにある CPU に応じて、QEMU および libvirt
が提供する他の CPU モデルを使用することが推奨されます。
IVSHMEM が無効になる
複数の仮想マシンに共有メモリーを提供する仮想マシン間の共有メモリーデバイス (IVSHMEM) 機能は、Red Hat Enterprise Linux 8 で無効になりました。このデバイスで設定した仮想マシンは起動できません。同様に、そのようなデバイスにおけるホットプラグの試行も失敗します。
virt-install
が NFS の場所を使用できなくなる
この更新により、virt-install
ユーティリティーは、NFS の場所をマウントできなくなりました。したがって、NFS アドレスを持つ virt-install
を使用する仮想マシンを、--location
オプションの値としてインストールしようとすると失敗します。この変更を回避するには、virt-install
を使用する前に NFS 共有をマウントするか、HTTP の場所を使用します。
RHEL 8 では tulip ドライバーに対応しない
この更新で、tulip ネットワークドライバーへの対応は終了しました。したがって、Microsoft Hyper-V ハイパーバイザーの Generation 1 仮想マシンで RHEL 8 を使用すると、Legacy Network Adapter デバイスが動作しないため、仮想マシンの PXE インストールに失敗します。
PXE インストールを起動するには、Generation 2 Hyper-V 仮想マシンに RHEL 8 をインストールします。RHEL 8 Generation 1 仮想マシンが必要な場合は ISO インストールを使用します。
LSI Logic SAS ドライバーおよび Parallel SCSI ドライバーはサポート対象外に
SCSI 用の LSI Logic SAS ドライバー (mptsas
) および LSI Logic Parallel ドライバー (mptspi
) はサポートされなくなりました。したがって、このドライバーは、VMWare ハイパーバイザーで RHEL 8 をゲストのオペレーティングシステムとして SCSI ディスクにインストールするために使用できますが、Red Hat は、作成した仮想マシンをサポートしません。
virtio-win をインストールすると、Windows ドライバーを含むフロッピーのディスクイメージが作成されなくなる
フロッピードライブの制限により、virtio-win ドライバーはフロッピーイメージとして提供されなくなりました。代わりに ISO イメージを使用する必要があります。
第20章 コンテナー
Red Hat Enterprise Linux 8 用の一連のコンテナーイメージが利用できます。以下は、主な変更点です。
RHEL 8.0 には、Docker が同梱されていません。コンテナーを使用するには、ツールの podman、buildah、skopeo、および runc が必要です。
これらのツールの詳細およびRHEL 8 でコンテナーを使用する方法は コンテナーの構築、実行、および管理 を参照してください。
podman ツールが、完全に対応されるようになりました。
podman ツールでは、1 つのノードにある Pod、コンテナーイメージ、およびコンテナーが管理されます。これは、libpod ライブラリーでビルドされます。このライブラリーでは、コンテナーおよびコンテナーのグループ (Pod と呼ばれています) の管理が有効になります。
podman の使用方法は コンテナーの構築、実行、および管理 を参照してください。
RHEL 8 GA 以降、Red Hat Universal Base Images (UBI) が新たに利用できるようになりました。UBI は、標準および最小の RHEL ベースイメージなど、以前提供されていた Red Hat イメージの一部を置き換えるものです。
以前の Red Hat イメージとは異なり、UBI は自由に再配布できます。つまり、あらゆる環境で使用でき、どこでも共有できます。Red Hat のお客様でなくても使用できます。
UBI の詳細は コンテナーの構築、実行、および管理 を参照してください。
-
RHEL 8 GA 時に、AppStream コンポーネントを提供するコンテナーイメージが追加されました。このコンテナーイメージは、RHEL 7 の Red Hat Software Collections で配布されています。このような RHEL 8 イメージは、すべて
ubi8
ベースイメージに基づいています。 - 64 ビットの ARM アーキテクチャーに対するコンテナーイメージの ARM は、RHEL 8 で完全に対応されています。
-
RHEL 8 では、
rhel-tools
コンテナーが削除されました。sos
ツールおよびredhat-support-tool
ツールは、support-tools
コンテナーで提供されています。システム管理者は、このイメージを、システムツールのコンテナーイメージをビルドするためのベースとして使用することもできます。 ルートレスコンテナーは、RHEL 8 ではテクノロジープレビューとして利用できます。
ルートレスコンテナーは、管理者権限なしで通常のシステムユーザーにより作成および管理されるコンテナーです。
第21章 デスクトップおよびグラフィックス
21.1. GNOME Shell がデフォルトのデスクトップ環境に
RHEL 8 では、GNOME Shell がデフォルトのデスクトップ環境として配布されます。
KDE Plasma Workspaces (KDE) に関連するすべてのパッケージが削除され、デフォルトの GNOME デスクトップ環境の代替として KDE を使用することができなくなりました。
Red Hat は、KDE を使用する RHEL 7 から、RHEL 8 GNOME への移行は対応しません。KDE を使用する RHEL 7 を使用している場合は、データのバックアップを取得し、GNOME Shell で RHEL 8 をインストールします。
21.2. GNOME Shell への主な変更点
RHEL 8 では、GNOME Shell (バージョン 3.28) が配布されます。
本セクションでは、以下を説明します。
- GNOME Shell (バージョン 3.28) に関連する機能強化を説明します。
- GNOME Shell 環境とディスプレイプロトコルのデフォルトの組み合わせにおける変更を説明します。
- デフォルトでは利用できない機能にアクセスする方法を説明します。
- ソフトウェア管理の GNOME ツールにおける変更を説明します。
21.2.1. RHEL 8 の GNOME シェル (バージョン 3.28)
RHEL 8 では、GNOME シェルのバージョン 3.28 が利用できます。以下は、主な機能強化です。
- GNOME Boxes の新機能
- 新しいオンスクリーンキーボード
- デバイスへの対応が拡張 (最も大きな統合は Thunderbolt 3 インターフェイス)
- GNOME ソフトウェア、dconf-editor、および GNOME 端末の改善
21.2.2. GNOME Shell 環境
GNOME 3 では、2 つの基本的な環境を利用できます。
- GNOME Standard
- GNOME クラシック
いずれの環境でも、グラフィカルインターフェイスを構築するプロトコルを 2 つ使用できます。
- X11 プロトコル (X.Org をディスプレイサーバーとして使用)
Wayland プロトコル (GNOME Shell を Wayland コンポジターおよびディスプレイサーバーとして使用)
ディスプレイサーバーに関するこのソリューションは、Wayland の GNOME Shell と呼ばれています。
RHEL 8 のデフォルトの組み合わせは、Wayland の GNOME Shell を使用した GNOME 標準環境です。
ただし、GNOME Shell 環境と、グラフィックスのプロトコルスタックに切り替える場合があります。詳細は、「GNOME 環境およびディスプレイプロトコルの選択」 を参照してください。
関連情報
- 両方の GNOME Shell 環境の基本的な使用方法は、GNOME 環境の概要 を参照してください。
21.2.3. デスクトップアイコン
RHEL 8 では、デスクトップアイコン機能は Nautilus ファイルマネージャーではなく、デスクトップアイコンの gnome-shell 拡張により提供されるようになりました。
拡張機能を使用できるようにするには、Appstream リポジトリーで利用可能な gnome-shell-extension-desktop-icons
パッケージをインストールする必要があります。
関連情報
- RHEL 8 のデスクトップアイコンの詳細は、デスクトップアイコンの管理 を参照してください。
21.2.4. 分数スケール
Wayland の GNOME Shell セッションで、分数のスケーリング機能が利用できます。この機能は、GUI を分数でスケールでき、特定のディスプレイでスケールした GUI の出現を改善します。
この機能は現在試験的なものなので、デフォルトでは無効になっていることに注意してください。
分数スケールを有効にするには、次のコマンドを実行します。
# gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
21.2.5. パッケージ管理用 GNOME ソフトウェア
RHEL 7 のグラフィカル環境におけるパッケージ管理に、一連のツールを提供する gnome-packagekit
パッケージが利用できなくなりました。
RHEL 8 では、アプリケーションと gnome-shell 拡張機能のインストールと更新を可能にする GNOME Software ユーティリティーにより同様の機能が提供されます。GNOME Software は、gnome-software
パッケージで配布されます。
関連情報
- GNOME ソフトウェア を使用したアプリケーションのインストールの詳細は、GNOME へのアプリケーションのインストールを参照してください。
21.2.6. sudo でグラフィカルアプリケーションを開く
sudo
コマンドを使用して、端末でグラフィカルアプリケーションを開くには、次の操作が必要になります。
X11 アプリケーション
アプリケーションは、X11
ディスプレイプロトコルを使用して、X サーバーのアクセス制御リストにローカルユーザー root
を追加します。その結果、root
は Xwayland
に接続できるようになり、X11
プロトコルが Wayland
プロトコル、または逆方向に翻訳されます。
例21.1 X サーバーアクセス制御リストへ root
を追加して、sudo で xclock を開く
$ xhost +si:localuser:root
$ sudo xclock
Wayland アプリケーション
アプリケーションが Wayland
ネイティブの場合は、-E
オプションが含まれます。
例21.2 sudo で GNOME Calculator を開く
$ sudo -E gnome-calculator
もしくは、sudo
およびアプリケーションの名前を入力すると、アプリケーションを開く操作に失敗し、次のエラーメッセージが表示されます。
No protocol specified Unable to init server: could not connect: connection refused # Failed to parse arguments: Cannot open display
21.3. GNOME 環境およびディスプレイプロトコルの選択
様々な GNOME 環境の組み合わせおよびグラフィックプロトコルスタックを切り替えるために、以下の手順を使用します。
手順
ログイン画面 (GDM) で、Sign In ボタンの横にある歯車のボタンをクリックします。
注記ロック画面からはこのオプションにアクセスできません。最初に RHEL 8 を起動するか、現在のセッションからログアウトすると、ログイン画面が表示されます。
表示されるドロップダウンメニューから、オプションを選択します。
注記ログイン画面に表示されるメニューで、X.Org ディスプレイサーバーが X11 ディスプレイサーバーとして表示されます。
GNOME 環境、および上記手順のグラフィックプロトコルスタックの変更は、ユーザーがログアウトしたり、コンピューターの電源を落としたり、システムを再起動しても持続します。
第22章 国際化
22.1. RHEL 8 の国際言語
Red Hat Enterprise Linux 8 は、複数の言語のインストールと、要件に応じた言語の変更に対応します。
- 東アジア言語 - 日本語、韓国語、簡体字中国語、および繁体字中国語。
- ヨーロッパ言語 - 英語、ドイツ語、スペイン語、フランス語、イタリア語、ポルトガル語、およびロシア語。
次の表は、さまざまな主要言語に提供されるフォントと入力方法を示しています。
言語 | デフォルトフォント (フォントパッケージ) | 入力メソッド |
---|---|---|
英語 | dejavu-sans-fonts | |
フランス語 | dejavu-sans-fonts | |
ドイツ語 | dejavu-sans-fonts | |
イタリア語 | dejavu-sans-fonts | |
ロシア語 | dejavu-sans-fonts | |
スペイン語 | dejavu-sans-fonts | |
ポルトガル語 | dejavu-sans-fonts | |
簡体字中国語 | google-noto-sans-cjk-ttc-fonts、google-noto-serif-cjk-ttc-fonts | ibus-libpinyin、libpinyin |
繁体字中国語 | google-noto-sans-cjk-ttc-fonts、google-noto-serif-cjk-ttc-fonts | ibus-libzhuyin、libzhuyin |
日本語 | google-noto-sans-cjk-ttc-fonts、google-noto-serif-cjk-ttc-fonts | ibus-kkc、libkkc |
韓国語 | google-noto-sans-cjk-ttc-fonts、google-noto-serif-cjk-ttc-fonts | ibus-hangul、libhangu |
22.2. RHEL 8 における国際化の主な変更点
RHEL 8 では、RHEL 7 の国際化に以下の変更が加えられています。
- Unicode 11 コンピューティングの業界標準のサポートが追加されました。
- 国際化は複数のパッケージで配布され、より小さなフットプリントのインストールを可能にします。詳細は、Using langpacks を参照してください。
-
複数のロケールの
glibc
パッケージの更新が、Common Locale Data Repository (CLDR) と同期するようになりました。
第23章 Red Hat Enterprise Linux for SAP Solutions
Red Hat Enterprise Linux for SAP Solutions は、SAP ワークロードの一貫した基盤を提供します。SAP 環境など、ビジネスクリティカルな IT ランドスケープに RHEL for SAP Solutions サブスクリプションが提供する機能および利点のリストは、Overview of the Red Hat Enterprise Linux for SAP Solutions subscription を参照してください。以下のリソースは、RHEL 7 から RHEL 8 への変更の概要を示しています。
- RHEL for SAP Solutions のライフサイクルの詳細は、Red Hat Enterprise Linux のライフサイクル を参照してください。
- RHEL 8 の詳細な使用方法は、RHEL 8 製品ドキュメント を参照してください。
- RHEL 7 から RHEL 8 へのインプレースアップグレードの方法は RHEL 7 から RHEL 8 へのアップグレード を参照してください。
BaseOS と AppStream の 2 つの主要な RHEL リポジトリーの他に、RHEL 8 for SAP Solutions サブスクリプションには、SAP Solutions リポジトリーと SAP NetWeaver が含まれます。どちらのリポジトリーも SAP 環境およびワークロードに必要です。
RHEL 7 と RHEL 8 の間でリポジトリー名の変更
以下の表は、RHEL 7 for SAP HANA / Solutions と RHEL 8 for SAP Solutions との間で名前が変更されたリポジトリーのリストです。
元のリポジトリー名 | 新規リポジトリー名 [a] | 変更があったバージョン | 備考 |
---|---|---|---|
rhel-sap-hana-for-rhel-7-<server|for-power-le>-rpms | rhel-8-for-<arch>-sap-solutions-rpms | RHEL 8.0 | 延長更新サポート (EUS) リポジトリーおよび Update Services for SAP Solutions (E4S) リポジトリーにも適用されます。 |
rhel-sap-for-rhel-7-<server|for-power-le>-rpms | rhel-8-for-<arch>-sap-netweaver-rpms | RHEL 8.0 | 延長更新サポート (EUS) リポジトリーおよび Update Services for SAP Solutions (E4S) リポジトリーにも適用されます。 |
[a]
この表はサンプルを使用して完全なリポジトリー ID を特定し、<arch> は特定のアーキテクチャーです。
|
付録A パッケージの変更
以下の章では、パッケージに関するRHEL 8 と RHEL 9 の間の変更点と、RHEL 9 のマイナーリリース間の変更点を説明します。
A.1. 新しいパッケージ
A.1.1. RHEL 8 マイナーリリースに追加されたパッケージ
以下のパッケージが、RHEL 8.1 以降の RHEL 8 マイナーリリースに追加されました。
パッケージ | リポジトリー | 追加されたバージョン |
---|---|---|
aardvark-dns | rhel8-AppStream | RHEL 8.6 |
accel-config | rhel8-BaseOS | RHEL 8.4 |
accel-config-devel | rhel8-CRB | RHEL 8.4 |
accel-config-libs | rhel8-BaseOS | RHEL 8.4 |
adwaita-icon-theme-devel | rhel8-CRB | RHEL 8.6 |
adwaita-qt5 | rhel8-AppStream | RHEL 8.5 |
alsa-sof-firmware | rhel8-BaseOS | RHEL 8.3 |
alsa-sof-firmware-debug | rhel8-BaseOS | RHEL 8.3 |
anaconda-widgets-devel | rhel8-CRB | RHEL 8.7 |
annobin-annocheck | rhel8-AppStream | RHEL 8.3 |
ansible-collection-microsoft-sql | rhel8-AppStream | RHEL 8.5 |
ansible-collection-redhat-rhel_mgmt | rhel8-AppStream | RHEL 8.5 |
ansible-core | rhel8-AppStream | RHEL 8.6 |
ansible-freeipa | rhel8-AppStream | RHEL 8.1 |
ansible-freeipa-tests | rhel8-AppStream | RHEL 8.5 |
ansible-pcp | rhel8-AppStream | RHEL 8.5 |
ansible-test | rhel8-AppStream | RHEL 8.6 |
apiguardian | rhel8-AppStream | RHEL 8.4 |
asio-devel | rhel8-CRB | RHEL 8.1 |
asio-devel | rhel8-CRB | RHEL 8.3 |
aspnetcore-runtime-3.1 | rhel8-AppStream | RHEL 8.2 |
aspnetcore-runtime-5.0 | rhel8-AppStream | RHEL 8.3 |
aspnetcore-runtime-6.0 | rhel8-AppStream | RHEL 8.5 |
aspnetcore-runtime-7.0 | rhel8-AppStream | RHEL 8.7 |
aspnetcore-runtime-8.0 | rhel8-AppStream | RHEL 8.10 |
aspnetcore-targeting-pack-3.1 | rhel8-AppStream | RHEL 8.2 |
aspnetcore-targeting-pack-5.0 | rhel8-AppStream | RHEL 8.3 |
aspnetcore-targeting-pack-6.0 | rhel8-AppStream | RHEL 8.5 |
aspnetcore-targeting-pack-7.0 | rhel8-AppStream | RHEL 8.7 |
aspnetcore-targeting-pack-8.0 | rhel8-AppStream | RHEL 8.10 |
autogen-libopts-devel | rhel8-CRB | RHEL 8.3 |
avahi-glib-devel | rhel8-CRB | RHEL 8.4 |
avahi-gobject-devel | rhel8-CRB | RHEL 8.4 |
avahi-tools | rhel8-AppStream | RHEL 8.9 |
avahi-ui | rhel8-CRB | RHEL 8.4 |
avahi-ui-devel | rhel8-CRB | RHEL 8.4 |
bash-devel | rhel8-CRB | RHEL 8.6 |
batik-css | rhel8-AppStream | RHEL 8.4 |
batik-util | rhel8-AppStream | RHEL 8.4 |
bcc-devel | rhel8-CRB | RHEL 8.2 |
bind9.16 | rhel8-AppStream | RHEL 8.6 |
bind9.16-chroot | rhel8-AppStream | RHEL 8.6 |
bind9.16-devel | rhel8-CRB | RHEL 8.6 |
bind9.16-dnssec-utils | rhel8-CRB | RHEL 8.6 |
bind9.16-doc | rhel8-CRB | RHEL 8.6 |
bind9.16-libs | rhel8-AppStream | RHEL 8.6 |
bind9.16-license | rhel8-AppStream | RHEL 8.6 |
bind9.16-utils | rhel8-AppStream | RHEL 8.6 |
chan | rhel8-AppStream | RHEL 8.3 |
cifs-utils-devel | rhel8-CRB | RHEL 8.8 |
clang-resource-filesystem | rhel8-AppStream | RHEL 8.5 |
clang-tools-extra-devel | rhel8-AppStream | RHEL 8.10 |
cockpit-leapp | rhel8-AppStream | RHEL 8.7 |
compat-exiv2-026 | rhel8-AppStream | RHEL 8.2 |
compat-hwloc1 | rhel8-BaseOS | RHEL 8.5 |
compat-sap-c++-10 | rhel8-SAP | RHEL 8.3 |
compat-sap-c++-11 | rhel8-SAP | RHEL 8.5 |
compat-sap-c++-12 | rhel8-SAP | RHEL 8.7 |
conmon | rhel8-AppStream | RHEL 8.2 |
coreos-installer | rhel8-AppStream | RHEL 8.5 |
coreos-installer-bootinfra | rhel8-AppStream | RHEL 8.5 |
coreos-installer-dracut | rhel8-AppStream | RHEL 8.6 |
crit | rhel8-AppStream | RHEL 8.2 |
criu-devel | rhel8-AppStream | RHEL 8.5 |
criu-libs | rhel8-AppStream | RHEL 8.5 |
crun | rhel8-AppStream | RHEL 8.3 |
crypto-policies-scripts | rhel8-BaseOS | RHEL 8.3 |
dejavu-lgc-sans-fonts | rhel8-AppStream | RHEL 8.4 |
delve | rhel8-AppStream | RHEL 8.2 |
directory-maven-plugin-javadoc | rhel8-AppStream | RHEL 8.2 |
directory-maven-plugin | rhel8-AppStream | RHEL 8.2 |
disruptor | rhel8-AppStream | RHEL 8.6 |
dotnet-apphost-pack-3.1 | rhel8-AppStream | RHEL 8.2 |
dotnet-apphost-pack-5.0 | rhel8-AppStream | RHEL 8.3 |
dotnet-apphost-pack-6.0 | rhel8-AppStream | RHEL 8.5 |
dotnet-apphost-pack-7.0 | rhel8-AppStream | RHEL 8.7 |
dotnet-apphost-pack-8.0 | rhel8-AppStream | RHEL 8.10 |
dotnet-build-reference-packages | rhel8-CRB | RHEL 8.5 |
dotnet-hostfxr-3.1 | rhel8-AppStream | RHEL 8.2 |
dotnet-hostfxr-5.0 | rhel8-AppStream | RHEL 8.3 |
dotnet-hostfxr-6.0 | rhel8-AppStream | RHEL 8.5 |
dotnet-hostfxr-7.0 | rhel8-AppStream | RHEL 8.7 |
dotnet-hostfxr-8.0 | rhel8-AppStream | RHEL 8.10 |
dotnet-runtime-3.1 | rhel8-AppStream | RHEL 8.2 |
dotnet-runtime-5.0 | rhel8-AppStream | RHEL 8.3 |
dotnet-runtime-6.0 | rhel8-AppStream | RHEL 8.5 |
dotnet-runtime-7.0 | rhel8-AppStream | RHEL 8.7 |
dotnet-runtime-8.0 | rhel8-AppStream | RHEL 8.10 |
dotnet-sdk-3.1-source-built-artifacts | rhel8-CRB | RHEL 8.5 |
dotnet-sdk-3.1 | rhel8-AppStream | RHEL 8.2 |
dotnet-sdk-5.0 | rhel8-AppStream | RHEL 8.3 |
dotnet-sdk-5.0-source-built-artifacts | rhel8-CRB | RHEL 8.5 |
dotnet-sdk-6.0 | rhel8-AppStream | RHEL 8.5 |
dotnet-sdk-6.0-source-built-artifacts | rhel8-CRB | RHEL 8.6 |
dotnet-sdk-7.0 | rhel8-AppStream | RHEL 8.7 |
dotnet-sdk-7.0-source-built-artifacts | rhel8-CRB | RHEL 8.7 |
dotnet-sdk-8.0 | rhel8-AppStream | RHEL 8.10 |
dotnet-sdk-8.0-source-built-artifacts | rhel8-CRB | RHEL 8.10 |
dotnet-targeting-pack-3.1 | rhel8-AppStream | RHEL 8.2 |
dotnet-targeting-pack-5.0 | rhel8-AppStream | RHEL 8.3 |
dotnet-targeting-pack-6.0 | rhel8-AppStream | RHEL 8.5 |
dotnet-targeting-pack-7.0 | rhel8-AppStream | RHEL 8.7 |
dotnet-targeting-pack-8.0 | rhel8-AppStream | RHEL 8.10 |
dotnet-templates-3.1 | rhel8-AppStream | RHEL 8.2 |
dotnet-templates-5.0 | rhel8-AppStream | RHEL 8.3 |
dotnet-templates-6.0 | rhel8-AppStream | RHEL 8.5 |
dotnet-templates-7.0 | rhel8-AppStream | RHEL 8.7 |
dotnet-templates-8.0 | rhel8-AppStream | RHEL 8.10 |
dotnet5.0-build-reference-packages | rhel8-CRB | RHEL 8.5 |
dwarves | rhel8-CRB | RHEL 8.2 |
ecj | rhel8-AppStream | RHEL 8.8 |
eclipse-ecf-core | rhel8-AppStream | RHEL 8.4 |
eclipse-ecf-runtime | rhel8-AppStream | RHEL 8.4 |
eclipse-emf-core | rhel8-AppStream | RHEL 8.4 |
eclipse-emf-runtime | rhel8-AppStream | RHEL 8.4 |
eclipse-emf-xsd | rhel8-AppStream | RHEL 8.4 |
eclipse-equinox-osgi | rhel8-AppStream | RHEL 8.4 |
eclipse-jdt | rhel8-AppStream | RHEL 8.4 |
eclipse-p2-discovery | rhel8-AppStream | RHEL 8.4 |
eclipse-pde | rhel8-AppStream | RHEL 8.4 |
eclipse-platform | rhel8-AppStream | RHEL 8.4 |
eclipse-swt | rhel8-AppStream | RHEL 8.4 |
ee4j-parent | rhel8-AppStream | RHEL 8.2 |
efivar-devel | rhel8-CRB | RHEL 8.6 |
egl-utils | rhel8-AppStream | RHEL 8.7 |
elfutils-debuginfod | rhel8-BaseOS | RHEL 8.3 |
elfutils-debuginfod-client-devel | rhel8-AppStream | RHEL 8.2 |
elfutils-debuginfod-client | rhel8-AppStream | RHEL 8.2 |
emoji-picker | rhel8-AppStream | RHEL 8.4 |
eth-tools-basic | rhel8-AppStream | RHEL 8.5 |
eth-tools-fastfabric | rhel8-AppStream | RHEL 8.5 |
evince-devel | rhel8-CRB | RHEL 8.4 |
evolution-data-server-ui | rhel8-AppStream | RHEL 8.10 |
evolution-data-server-ui-devel | rhel8-AppStream | RHEL 8.10 |
fapolicyd | rhel8-AppStream | RHEL 8.1 |
fapolicyd-selinux | rhel8-AppStream | RHEL 8.3 |
fasterxml-oss-parent | rhel8-AppStream | RHEL 8.10 |
fdo-admin-cli | rhel8-AppStream | RHEL 8.6 |
fdo-client | rhel8-AppStream | RHEL 8.6 |
fdo-init | rhel8-AppStream | RHEL 8.6 |
fdo-manufacturing-server | rhel8-AppStream | RHEL 8.6 |
fdo-owner-cli | rhel8-AppStream | RHEL 8.6 |
fdo-owner-onboarding-server | rhel8-AppStream | RHEL 8.6 |
fdo-rendezvous-server | rhel8-AppStream | RHEL 8.6 |
felix-gogo-command | rhel8-AppStream | RHEL 8.4 |
felix-gogo-runtime | rhel8-AppStream | RHEL 8.4 |
felix-gogo-shell | rhel8-AppStream | RHEL 8.4 |
felix-scr | rhel8-AppStream | RHEL 8.4 |
fence-agents-ibm-powervs | rhel8-AppStream | RHEL 8.6 |
fence-agents-ibm-vpc | rhel8-AppStream | RHEL 8.6 |
fence-agents-kubevirt | rhel8-AppStream | RHEL 8.6 |
fence-agents-openstack | rhel8-HighAvailability | RHEL 8.7 |
fence-virtd-cpg | rhel8-AppStream | RHEL 8.6 |
flatpak-devel | rhel8-CRB | RHEL 8.5 |
flatpak-selinux | rhel8-AppStream | RHEL 8.2 |
flatpak-session-helper | rhel8-AppStream | RHEL 8.2 |
flatpak-spawn | rhel8-AppStream | RHEL 8.4 |
flatpak-xdg-utils | rhel8-AppStream | RHEL 8.4 |
frr-selinux | rhel8-AppStream | RHEL 8.7 |
fstrm | rhel8-AppStream | RHEL 8.4 |
fstrm-devel | rhel8-AppStream | RHEL 8.4 |
fstrm-utils | rhel8-CRB | RHEL 8.7 |
fwupd-devel | rhel8-CRB | RHEL 8.6 |
gcc-plugin-annobin | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-9-libasan-devel | rhel8-AppStream | RHEL 8.2 |
gcc-toolset-9-libatomic-devel | rhel8-AppStream | RHEL 8.2 |
gcc-toolset-9-liblsan-devel | rhel8-AppStream | RHEL 8.2 |
gcc-toolset-9-libtsan-devel | rhel8-AppStream | RHEL 8.2 |
gcc-toolset-9-libubsan-devel | rhel8-AppStream | RHEL 8.2 |
gcc-toolset-10 | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-annobin | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-binutils | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-binutils-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-build | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-dwz | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-dyninst | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-dyninst-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-elfutils | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-elfutils-debuginfod-client | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-elfutils-debuginfod-client-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-elfutils-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-elfutils-libelf | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-elfutils-libelf-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-elfutils-libs | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-gcc | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-gcc-c++ | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-gcc-gdb-plugin | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-gcc-gfortran | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-gcc-plugin-devel | rhel8-CRB | RHEL 8.5 |
gcc-toolset-10-gdb | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-gdb-doc | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-gdb-gdbserver | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libasan-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libatomic-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libitm-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-liblsan-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libquadmath-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libstdc++-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libstdc++-docs | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libtsan-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-libubsan-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-ltrace | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-make | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-make-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-perftools | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-runtime | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-strace | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-systemtap | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-systemtap-client | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-systemtap-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-systemtap-initscript | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-systemtap-runtime | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-systemtap-sdt-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-systemtap-server | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-toolchain | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-valgrind | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-10-valgrind-devel | rhel8-AppStream | RHEL 8.3 |
gcc-toolset-11 | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-annobin-annocheck | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-annobin-docs | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-annobin-plugin-gcc | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-binutils | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-binutils-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-build | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-dwz | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-dyninst | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-dyninst-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-elfutils | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-elfutils-debuginfod-client | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-elfutils-debuginfod-client-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-elfutils-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-elfutils-libelf | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-elfutils-libelf-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-elfutils-libs | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gcc | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gcc-c++ | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gcc-gdb-plugin | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gcc-gfortran | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gcc-plugin-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gdb | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gdb-doc | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-gdb-gdbserver | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libasan-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libatomic-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libgccjit | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libgccjit-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libgccjit-docs | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libitm-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-liblsan-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libquadmath-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libstdc++-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libstdc++-docs | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libtsan-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-libubsan-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-ltrace | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-make | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-make-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-perftools | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-runtime | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-strace | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-systemtap | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-systemtap-client | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-systemtap-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-systemtap-initscript | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-systemtap-runtime | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-systemtap-sdt-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-systemtap-server | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-toolchain | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-valgrind | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-11-valgrind-devel | rhel8-AppStream | RHEL 8.5 |
gcc-toolset-12 | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-annobin-annocheck | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-annobin-docs | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-annobin-plugin-gcc | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-binutils | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-binutils-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-binutils-gold | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-build | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-dwz | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-gcc | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-gcc-c++ | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-gcc-gfortran | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-gcc-plugin-annobin | rhel8-AppStream | RHEL 8.8 |
gcc-toolset-12-gcc-plugin-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-gdb | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libasan-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libatomic-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libgccjit | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libgccjit-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libgccjit-docs | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libitm-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-liblsan-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libquadmath-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libstdc++-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libstdc++-docs | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libtsan-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-libubsan-devel | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-offload-nvptx | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-12-runtime | rhel8-AppStream | RHEL 8.7 |
gcc-toolset-13 | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-annobin-annocheck | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-annobin-docs | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-annobin-plugin-gcc | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-binutils | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-binutils-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-binutils-gold | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-dwz | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-gcc | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-gcc-c++ | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-gcc-gfortran | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-gcc-plugin-annobin | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-gcc-plugin-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-gdb | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libasan-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libatomic-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libgccjit | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libgccjit-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libitm-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-liblsan-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libquadmath-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libstdc++-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libstdc++-docs | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libtsan-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-libubsan-devel | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-offload-nvptx | rhel8-AppStream | RHEL 8.9 |
gcc-toolset-13-runtime | rhel8-AppStream | RHEL 8.9 |
gdm-devel | rhel8-CRB | RHEL 8.6 |
gdm-pam-extensions-devel | rhel8-CRB | RHEL 8.6 |
git-credential-libsecret | rhel8-AppStream | RHEL 8.3 |
git-lfs | rhel8-AppStream | RHEL 8.3 |
glade | rhel8-CRB | RHEL 8.7 |
glassfish-jsp | rhel8-AppStream | RHEL 8.4 |
glibc-doc | rhel8-BaseOS | RHEL 8.7 |
glibc-gconv-extra | rhel8-AppStream | RHEL 8.6 |
gnome-session-kiosk-session | rhel8-AppStream | RHEL 8.5 |
gnome-shell-extension-classification-banner | rhel8-AppStream | RHEL 8.6 |
gnome-shell-extension-custom-menu | rhel8-AppStream | RHEL 8.9 |
gnome-shell-extension-dash-to-panel | rhel8-AppStream | RHEL 8.6 |
gnome-shell-extension-gesture-inhibitor | rhel8-AppStream | RHEL 8.5 |
gnome-shell-extension-heads-up-display | rhel8-AppStream | RHEL 8.6 |
gnome-software-devel | rhel8-CRB | RHEL 8.5 |
google-gson | rhel8-AppStream | RHEL 8.4 |
grafana-pcp | rhel8-AppStream | RHEL 8.2 |
grafana-selinux | rhel8-AppStream | RHEL 8.10 |
graphviz-python3 | rhel8-CRB | RHEL 8.2 |
graphviz-ruby | rhel8-AppStream | RHEL 8.10 |
greenboot | rhel8-AppStream | RHEL 8.3 |
greenboot-default-health-checks | rhel8-AppStream | RHEL 8.6 |
greenboot-grub2 | rhel8-AppStream | RHEL 8.3 |
greenboot-reboot | rhel8-AppStream | RHEL 8.3 |
greenboot-rpm-ostree-grub2 | rhel8-AppStream | RHEL 8.3 |
greenboot-status | rhel8-AppStream | RHEL 8.3 |
gtk-vnc2-devel | rhel8-CRB | RHEL 8.9 |
gtk3-devel-docs | rhel8-CRB | RHEL 8.7 |
guava | rhel8-AppStream | RHEL 8.2 |
gvnc-devel | rhel8-CRB | RHEL 8.9 |
HdrHistogram | rhel8-AppStream | RHEL 8.3 |
HdrHistogram_c | rhel8-AppStream | RHEL 8.3 |
HdrHistogram-javadoc | rhel8-AppStream | RHEL 8.3 |
hostapd | rhel8-AppStream | RHEL 8.6 |
http-parser-devel | rhel8-CRB | RHEL 8.2 |
ibus-table-devel | rhel8-CRB | RHEL 8.4 |
ibus-table-tests | rhel8-CRB | RHEL 8.4 |
ibus-typing-booster-tests | rhel8-CRB | RHEL 8.4 |
icu4j | rhel8-AppStream | RHEL 8.4 |
idm-jss | rhel8-AppStream | RHEL 8.10 |
idm-jss-javadoc | rhel8-AppStream | RHEL 8.10 |
idm-ldapjdk | rhel8-AppStream | RHEL 8.10 |
idm-ldapjdk-javadoc | rhel8-AppStream | RHEL 8.10 |
idm-pki-acme | rhel8-AppStream | RHEL 8.7 |
idm-pki-base | rhel8-AppStream | RHEL 8.7 |
idm-pki-base-java | rhel8-AppStream | RHEL 8.7 |
idm-pki-ca | rhel8-AppStream | RHEL 8.7 |
idm-pki-kra | rhel8-AppStream | RHEL 8.7 |
idm-pki-server | rhel8-AppStream | RHEL 8.7 |
idm-pki-symkey | rhel8-AppStream | RHEL 8.7 |
idm-pki-tools | rhel8-AppStream | RHEL 8.7 |
idm-tomcatjss | rhel8-AppStream | RHEL 8.10 |
idn2 | rhel8-AppStream | RHEL 8.1 |
ima-evm-utils0 | rhel8-BaseOS | RHEL 8.4 |
inkscape1 | rhel8-AppStream | RHEL 8.8 |
inkscape1-docs | rhel8-AppStream | RHEL 8.8 |
inkscape1-view | rhel8-AppStream | RHEL 8.8 |
intel-cmt-cat-devel | rhel8-CRB | RHEL 8.4 |
ipa-client-epn | rhel8-AppStream | RHEL 8.3 |
ipa-client-samba | rhel8-AppStream | RHEL 8.1 |
ipa-healthcheck | rhel8-AppStream | RHEL 8.1 |
ipa-healthcheck-core | rhel8-AppStream | RHEL 8.2 |
ipa-selinux | rhel8-AppStream | RHEL 8.3 |
ipxe-bootimgs-aarch64 | rhel8-AppStream | RHEL 8.6 |
ipxe-bootimgs-x86 | rhel8-AppStream | RHEL 8.6 |
iscsi-initiator-utils-devel | rhel8-CRB | RHEL 8.3 |
jackson-bom | rhel8-AppStream | RHEL 8.10 |
jackson-modules-base | rhel8-AppStream | RHEL 8.10 |
jackson-parent | rhel8-AppStream | RHEL 8.10 |
jaf-javadoc | rhel8-AppStream | RHEL 8.2 |
jaf | rhel8-AppStream | RHEL 8.2 |
jakarta-activation2 | rhel8-AppStream | RHEL 8.8 |
jakarta-annotations | rhel8-AppStream | RHEL 8.7 |
java-1.8.0-openjdk-accessibility-fastdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-accessibility-slowdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-demo-fastdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-demo-slowdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-devel-fastdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-devel-slowdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-fastdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-headless-fastdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-headless-slowdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-slowdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-src-fastdebug | rhel8-CRB | RHEL 8.4 |
java-1.8.0-openjdk-src-slowdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-demo-fastdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-demo-slowdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-devel-fastdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-devel-slowdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-fastdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-headless-fastdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-headless-slowdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-jmods-fastdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-jmods-slowdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-slowdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-src-fastdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-src-slowdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-static-libs | rhel8-AppStream | RHEL 8.3 |
java-11-openjdk-static-libs-fastdebug | rhel8-CRB | RHEL 8.4 |
java-11-openjdk-static-libs-slowdebug | rhel8-CRB | RHEL 8.4 |
java-17-openjdk | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-demo | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-demo-fastdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-demo-slowdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-devel | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-devel-fastdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-devel-slowdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-fastdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-headless | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-headless-fastdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-headless-slowdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-javadoc | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-javadoc-zip | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-jmods | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-jmods-fastdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-jmods-slowdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-slowdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-src | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-src-fastdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-src-slowdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-static-libs | rhel8-AppStream | RHEL 8.5 |
java-17-openjdk-static-libs-fastdebug | rhel8-CRB | RHEL 8.5 |
java-17-openjdk-static-libs-slowdebug | rhel8-CRB | RHEL 8.5 |
java-21-openjdk | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-demo | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-demo-fastdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-demo-slowdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-devel | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-devel-fastdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-devel-slowdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-fastdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-headless | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-headless-fastdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-headless-slowdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-javadoc | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-javadoc-zip | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-jmods | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-jmods-fastdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-jmods-slowdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-slowdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-src | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-src-fastdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-src-slowdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-static-libs | rhel8-AppStream | RHEL 8.9 |
java-21-openjdk-static-libs-fastdebug | rhel8-CRB | RHEL 8.9 |
java-21-openjdk-static-libs-slowdebug | rhel8-CRB | RHEL 8.9 |
jaxb-api4 | rhel8-AppStream | RHEL 8.8 |
jaxb-codemodel | rhel8-AppStream | RHEL 8.8 |
jaxb-core | rhel8-AppStream | RHEL 8.8 |
jaxb-dtd-parser | rhel8-AppStream | RHEL 8.8 |
jaxb-istack-commons-runtime | rhel8-AppStream | RHEL 8.8 |
jaxb-istack-commons-tools | rhel8-AppStream | RHEL 8.8 |
jaxb-relaxng-datatype | rhel8-AppStream | RHEL 8.8 |
jaxb-rngom | rhel8-AppStream | RHEL 8.8 |
jaxb-runtime | rhel8-AppStream | RHEL 8.8 |
jaxb-txw2 | rhel8-AppStream | RHEL 8.8 |
jaxb-xjc | rhel8-AppStream | RHEL 8.8 |
jaxb-xsom | rhel8-AppStream | RHEL 8.8 |
jctools | rhel8-AppStream | RHEL 8.6 |
jetty-continuation | rhel8-AppStream | RHEL 8.4 |
jetty-http | rhel8-AppStream | RHEL 8.4 |
jetty-io | rhel8-AppStream | RHEL 8.4 |
jetty-security | rhel8-AppStream | RHEL 8.4 |
jetty-server | rhel8-AppStream | RHEL 8.4 |
jetty-servlet | rhel8-AppStream | RHEL 8.4 |
jetty-util | rhel8-AppStream | RHEL 8.4 |
jigawatts | rhel8-AppStream | RHEL 8.5 |
jigawatts-javadoc | rhel8-AppStream | RHEL 8.5 |
jigawatts-javadoc | rhel8-AppStream | RHEL 8.8 |
jmc-core-javadoc | rhel8-AppStream | RHEL 8.2 |
jmc-core | rhel8-AppStream | RHEL 8.2 |
jmc | rhel8-AppStream | RHEL 8.2 |
jolokia-jvm-agent | rhel8-AppStream | RHEL 8.2 |
jq-devel | rhel8-CRB | RHEL 8.5 |
js-d3-flame-graph | rhel8-AppStream | RHEL 8.3 |
Judy-devel | rhel8-BaseOS | RHEL 8.1 |
Judy-devel | rhel8-CRB | RHEL 8.3 |
junit5 | rhel8-AppStream | RHEL 8.4 |
kernel-abi-stablelists | rhel8-BaseOS | RHEL 8.4 |
kmod-redhat-oracleasm | rhel8-BaseOS | RHEL 8.4 |
kpatch-dnf | rhel8-BaseOS | RHEL 8.4 |
lasso-devel | rhel8-CRB | RHEL 8.5 |
ldns-doc | rhel8-CRB | RHEL 8.10 |
ldns-utils | rhel8-CRB | RHEL 8.10 |
leapp | rhel8-AppStream | RHEL 8.7 |
leapp-deps | rhel8-AppStream | RHEL 8.7 |
leapp-upgrade-el8toel9 | rhel8-AppStream | RHEL 8.7 |
leapp-upgrade-el8toel9-deps | rhel8-AppStream | RHEL 8.7 |
libadwaita-qt5 | rhel8-AppStream | RHEL 8.5 |
libasan6 | rhel8-AppStream | RHEL 8.4 |
libasan8 | rhel8-AppStream | RHEL 8.7 |
libbabeltrace-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-crypto-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-fs-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-loop-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-lvm-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-mdraid-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-part-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-swap-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-utils-devel | rhel8-CRB | RHEL 8.3 |
libblockdev-vdo-devel | rhel8-CRB | RHEL 8.3 |
libbpf-devel | rhel8-CRB | RHEL 8.2 |
libbpf-static | rhel8-CRB | RHEL 8.2 |
libbpf | rhel8-BaseOS | RHEL 8.2 |
libbytesize-devel | rhel8-CRB | RHEL 8.3 |
libcap-ng-python3 | rhel8-BaseOS | RHEL 8.5 |
libdazzle-devel | rhel8-CRB | RHEL 8.4 |
libdhash-devel | rhel8-CRB | RHEL 8.7 |
libdnf-devel | rhel8-CRB | RHEL 8.4 |
libdwarves1 | rhel8-CRB | RHEL 8.2 |
libecpg | rhel8-AppStream | RHEL 8.4 |
libecpg-devel | rhel8-CRB | RHEL 8.4 |
libepubgen-devel | rhel8-CRB | RHEL 8.4 |
libestr-devel | rhel8-CRB | RHEL 8.7 |
libgcab1-devel | rhel8-CRB | RHEL 8.6 |
libguestfs-appliance | rhel8-AppStream | RHEL 8.6 |
libnbd | rhel8-AppStream | RHEL 8.3 |
libnbd-bash-completion | rhel8-AppStream | RHEL 8.6 |
libnbd-devel | rhel8-AppStream | RHEL 8.3 |
libnetapi | rhel8-BaseOS | RHEL 8.8 |
libnetapi-devel | rhel8-CRB | RHEL 8.8 |
libnftnl-devel | rhel8-CRB | RHEL 8.2 |
libnumbertext | rhel8-AppStream | RHEL 8.4 |
libpgtypes | rhel8-AppStream | RHEL 8.4 |
libpinyin-devel | rhel8-CRB | RHEL 8.6 |
libpsl-devel | rhel8-CRB | RHEL 8.3 |
librabbitmq-tools | rhel8-AppStream | RHEL 8.10 |
libreoffice | rhel8-AppStream | RHEL 8.8 |
librepo-devel | rhel8-CRB | RHEL 8.4 |
librhsm-devel | rhel8-CRB | RHEL 8.4 |
libselinux-static | rhel8-CRB | RHEL 8.6 |
libsemanage-devel | rhel8-CRB | RHEL 8.3 |
libserf-devel | rhel8-CRB | RHEL 8.7 |
libslirp | rhel8-AppStream | RHEL 8.3 |
libslirp-devel | rhel8-AppStream | RHEL 8.3 |
libsmi-devel | rhel8-CRB | RHEL 8.4 |
libsndfile-utils | rhel8-AppStream | RHEL 8.8 |
libsolv-devel | rhel8-CRB | RHEL 8.4 |
libsolv-tools | rhel8-CRB | RHEL 8.4 |
libss-devel | rhel8-CRB | RHEL 8.6 |
libssh-config | rhel8-BaseOS | RHEL 8.1 |
libstoragemgmt-devel | rhel8-BaseOS | RHEL 8.3 |
libstoragemgmt-devel | rhel8-CRB | RHEL 8.3 |
libstoragemgmt-nfs-plugin | rhel8-AppStream | RHEL 8.7 |
libtimezonemap-devel | rhel8-CRB | RHEL 8.10 |
libtpms | rhel8-AppStream | RHEL 8.6 |
libtpms-devel | rhel8-AppStream | RHEL 8.6 |
libtraceevent | rhel8-BaseOS | RHEL 8.8 |
libtraceevent-devel | rhel8-CRB | RHEL 8.8 |
libtracefs | rhel8-BaseOS | RHEL 8.8 |
libtracefs-devel | rhel8-CRB | RHEL 8.8 |
libtsan2 | rhel8-AppStream | RHEL 8.7 |
libudisks2-devel | rhel8-CRB | RHEL 8.3 |
liburing-devel | rhel8-CRB | RHEL 8.3 |
liburing | rhel8-AppStream | RHEL 8.2 |
libuser-devel | rhel8-CRB | RHEL 8.6 |
libuv-devel | rhel8-CRB | RHEL 8.4 |
libverto-libev | rhel8-AppStream | RHEL 8.7 |
libvirt-daemon-driver-storage-iscsi-direct | rhel8-AppStream | RHEL 8.3 |
libvirt-wireshark | rhel8-AppStream | RHEL 8.6 |
libvma-utils | rhel8-AppStream | RHEL 8.9 |
libvoikko-devel | rhel8-CRB | RHEL 8.5 |
libwpe | rhel8-AppStream | RHEL 8.8 |
libwpe-devel | rhel8-CRB | RHEL 8.8 |
libxdp | rhel8-AppStream | RHEL 8.3 |
libxdp-devel | rhel8-CRB | RHEL 8.8 |
libxdp-static | rhel8-CRB | RHEL 8.8 |
libxkbfile-1.1.0-1.el8 | rhel8-AppStream |