2.3. モジュールの概要
モジュールは、コンポーネントを表す RPM パッケージのセットです。一般的なモジュールには次のパッケージタイプが含まれます。
- アプリケーションを含むパッケージ
- アプリケーション固有の依存関係ライブラリーを含むパッケージ
- アプリケーションのドキュメントを含むパッケージ
- ヘルパーユーティリティーを含むパッケージ
2.3.1. モジュールストリーム
モジュールのストリームは、AppStream 物理リポジトリーで仮想的なリポジトリーとして扱えるフィルターです。モジュールストリームは、AppStream コンポーネントのバージョンです。各ストリームは別々に更新を受信し、他のモジュールストリームに依存している場合があります。
モジュールストリームは、アクティブまたは非アクティブにできます。アクティブなストリームにより、システムは特定のモジュールストリーム内の RPM パッケージにアクセスできるようになり、それぞれのコンポーネントバージョンをインストールできるようになります。
ストリームは次の場合にアクティブになります。
- 管理者が明示的に有効にした場合。
- ストリームが有効なモジュールの依存関係である場合。
- ストリームがデフォルトのストリームの場合。各モジュールは、デフォルトのストリームを持つことができます。デフォルトのストリームは、モジュールについて学ぶ必要はなく、通常の方法で RHEL パッケージを簡単に使用できます。モジュール全体が無効になっているか、そのモジュールの別のストリームが有効になっている場合を除き、デフォルトのストリームはアクティブです。
あるモジュールの中で同時にアクティブにできるストリームは 1 つだけです。したがって、1 つのシステムにインストールできるコンポーネントは、1 つのバージョンだけです。複数のコンテナーで異なるバージョンを使用できます。
デフォルトのストリームは、RHEL メジャーリリースでは変更されません。各ストリームの ライフサイクル を常に考慮してください。RHEL メジャーリリースの終了前に、デフォルトのストリームがライフサイクルの終了日に到達するインスタンスのデフォルトストリームに依存しないでください。
特定のモジュールストリームは、その他のモジュールストリームに依存します。たとえば、次のモジュールストリームは特定の Perl
モジュールストリームに依存します。
-
perl-App-cpanminus
-
perl-DBD-MySQL
-
perl-DBD-Pg
-
perl-DBD-SQLite
-
perl-DBI
-
perl-YAML
-
freeradius
ランタイムユーザーアプリケーションまたは開発者アプリケーションに特定のストリームを選択する前に、次の点を考慮してください。
- 必要な機能と、それをサポートするコンポーネントのバージョン。
- アプリケーションまたはユースケースとの互換性。
- アプリケーションストリームの ライフサイクル と更新計画。
利用可能なモジュールおよびストリームのリストは パッケージマニフェスト を参照してください。コンポーネント別の変更は、リリースノート を参照してください。
2.3.2. モジュールプロファイル
モジュールプロファイルは、サーバー、クライアント、開発、最小インストールなど、特定のユースケースでまとめてインストールされる推奨パッケージのリストです。このパッケージリストは、モジュールストリームに含まれないパッケージ (通常は BaseOS リポジトリー、またはそのストリームの依存関係) も含みます。
利便性のため、プロファイル (一度の操作で完了) を利用してパッケージのインストールを行えます。そのモジュールが提供する任意のパッケージをインストールおよびアンインストールすることへの影響はありません。同じモジュールストリームから複数のプロファイルを利用してパッケージをインストールすることも、特に準備などを行わずに行えます。
各モジュールストリームではプロファイル数に制限がありません (ゼロにすることも可能)。特定のモジュールストリームでは、そのプロファイルの一部をデフォルトとしてマークすることができ、プロファイルを明示的に指定しなかった場合は、プロファイルのインストールアクションに使用されます。ただし、モジュールストリームのデフォルトプロファイルは必須ではありません。
例2.1 httpd モジュールプロファイル
Apache Web サーバーを提供する httpd モジュールは、インストール用に次のプロファイルを提供します。
yum module list httpd
# yum module list httpd
Name Stream Profiles Summary
httpd 2.4 [d] common [d], devel, minimal Apache HTTP Server
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
この例では、次のプロファイルが利用可能です。
-
common
: 実稼働対応パッケージ。これはデフォルトのプロファイル ([d]
) です。 -
devel
:httpd
に変更を加えるために必要なパッケージ。 -
minimal
: 実行中の Apache Web サーバーを提供するパッケージの最小セット。