第2章 モジュールの概要
AppStream リポジトリーには、個別の RPM パッケージとモジュールが含まれます。モジュールはコンポーネントを表し、通常はまとめてインストールされる一連の RPM パッケージです。通常のモジュールには、アプリケーションを含むパッケージ、アプリケーション固有の依存関係ライブラリーを含むパッケージ、アプリケーションのドキュメントを含むパッケージ、およびヘルプユーティリティーを含むパッケージが含まれます。
次のセクションでは、モジュール内のコンテンツの編成と処理に関する機能を説明します。
- モジュールストリーム - バージョンごとのコンテンツの編成。
- モジュールプロファイル - 目的別のコンテンツの編成。
2.1. モジュールストリーム
モジュールのストリームは、AppStream 物理リポジトリーで仮想的なリポジトリーとして扱えるフィルターです。モジュールストリームは、AppStream コンポーネントのバージョンを表します。各ストリームが、それぞれ独立して更新を受け取ります。
モジュールストリームは、アクティブまたは非アクティブにできます。アクティブなストリームでは、特定モジュールストリームの RPM パッケージにシステムがアクセスできるようになり、コンポーネントの各バージョンのインストールを可能にします。ストリームは、デフォルトとしてマークされている場合、またはユーザーにより明示的に有効になった場合に限り、アクティブになります。
あるモジュールの中で同時にアクティブにできるストリームは 1 つだけです。したがって、1 つのシステムにインストールできるコンポーネントは、1 つのバージョンだけです。複数のコンテナーで異なるバージョンを使用できます。
各モジュールは、デフォルトのストリームを持つことができます。デフォルトのストリームは、モジュールについて学ぶ必要はなく、通常の方法で RHEL パッケージを簡単に使用できます。モジュール全体が無効になっている場合、またはそのモジュールの別のストリームが有効になっている場合を除き、デフォルトのストリームはアクティブです。
デフォルトのストリームは、RHEL メジャーリリースでは変更されません。各ストリームの ライフサイクル を常に考慮してください。RHEL メジャーリリースの終了前に、デフォルトのストリームがライフサイクルの終了日に到達するインスタンスのデフォルトストリームに依存しないでください。
特定のモジュールストリームは、その他のモジュールストリームに依存します。たとえば、モジュールストリームの perl-App-cpanminus、perl-DBD-MySQL、perl-DBD-Pg、perl-DBD-SQLite、perl-DBI、perl-YAML、および freeradius は、perl モジュールストリームに依存します。
ランタイムユーザーアプリケーションまたは開発者用アプリケーションの特定のストリームを選択するには、以下を検討してください。
- 必要な機能と、サポートされるコンポーネントのバージョン
- 互換性
- ライフサイクル の期間と更新計画
利用可能なモジュールおよびストリームのリストは パッケージマニフェスト を参照してください。コンポーネント別の変更は、リリースノート を参照してください。
例2.1 postgresql モジュールストリーム
postgresql モジュールは、ストリームの 9.6、10、12、および 13 で、バージョンがそれぞれ 9.6、10、12、および 13 の PostgreSQL データベースを提供します。ストリーム 10 がデフォルトです。つまり、postgresql を求められた場合、システムは postgresql-10.6 パッケージのインストールを試みます。
使用するモジュールストリームを常に決定し、バージョンを明示的にインストールします。