カスタム・ソフトウェア・ソース
カスタム・ソフトウェア・ソースは、ベンダー・ソフトウェア・ソースから導出されたソフトウェア・リポジトリです。カスタム・ソースを使用すると、管理するパッケージまたはモジュールの特定のセットを作成し、Oracle Linuxインスタンスに適用できます。
カスタム・ソースの作成
カスタム・ソースを作成するには、基盤として使用するベンダー・ソフトウェア・ソースを選択します。これらはすべて、同じOSバージョンおよびアーキテクチャである必要があります。次に、フィルタまたはパッケージ・リストを使用して、ベンダー・ソフトウェア・ソースに含めたり除外したりするパッケージおよびモジュールを識別します。これにより、ベース・ベンダーのソフトウェア・ソースによって提供されるパッケージおよびモジュールのサブセットであるソースが作成されます。その後、カスタム・ソフトウェア・ソースをプロファイル、インスタンスまたはグループにアタッチできます(ライフサイクル環境では、バージョン管理されたカスタム・ソフトウェア・ソースが使用されます)。
ベンダー・ソースのスナップショットの作成
カスタム・ソフトウェア・ソースの一般的な用途は、ベンダー・ソフトウェア・ソースのスナップショットを作成することです。これにより、ベンダー・ソフトウェア・ソースのコピーが作成されますが、そのパッケージは、スナップショットの作成時に使用可能なバージョンに残ります。これは、ベンダーによってリリースされた特定のバージョンのパッケージにインスタンスを制限する場合に便利です。
カスタム・ソースの可用性
カスタム・ソフトウェア・ソースの可用性は、その作成に使用されるベンダー・ソフトウェア・ソースの可用性によって異なります。たとえば、カスタム・ソースがOCIでのみ使用可能なベンダー・ソースを使用する場合、カスタム・ソースはOCIでのみ使用できます。
依存関係の自動解決
カスタム・ソフトウェア・ソースの作成時に、「パッケージおよびモジュールの依存関係を自動的に解決」オプションを有効にすることで、サービスでパッケージおよびモジュールの依存関係を自動的に解決するように選択できます。依存関係の解決には、カスタム・ソースの一部であるベンダー・ソフトウェア・ソース内のパッケージのみを含めることができます。依存パッケージがカスタム・ソースに含まれていないベンダー・ソースに存在する場合、依存パッケージは含まれず、カスタム・ソフトウェア・ソースの作成は失敗します。
自動解決オプションを使用する場合、カスタム・ソフトウェア・ソースには、フィルタまたはパッケージ・リストのパッケージ依存関係も含まれます。したがって、使用可能なパッケージを表示すると、フィルタまたはパッケージ・リストによって明示的に指定されていないカスタム・ソフトウェア・ソース内のパッケージが表示される場合があります。
コンテンツを自動更新しています
カスタム・ソフトウェア・ソースの作成時に、「コンテンツの自動更新」オプションを有効にすることで、サービスでカスタム・ソフトウェア・ソースのコンテンツが自動的に更新され、使用可能な最新のパッケージが含まれるようにすることができます。OS Management Hubは、24時間ごとに1回更新を確認します。
サービスは、フィルタまたはパッケージ・リストでバージョンが指定されていない場合にのみコンテンツを更新します(Include | Package | zsh
など)。バージョン(Include | Package | zsh | 5.5.1-6.el8
など)を指定する場合、サービスは自動更新オプションを無視し、パッケージはその指定されたバージョンに残ります。
auto-resolveオプションも使用している場合は、パッケージリストまたはフィルタで指定されていない依存パッケージを更新できます。
バージョン管理されたカスタム・ソフトウェア・ソースでは、自動更新オプションを使用できません。
パッケージ・リストまたはフィルタで作成されたソースの場合、カスタム・ソフトウェア・ソース内のパッケージの即時更新をトリガーできます。「最新のパッケージを使用したカスタム・ソフトウェア・ソースの更新」を参照してください。
フィルタおよびパッケージ・リストの使用
フィルタまたはパッケージ・リストを使用して、カスタム・ソフトウェア・ソースに含まれる特定のコンテンツを識別できます。フィルタまたはパッケージ・リストは、カスタム・ソフトウェア・ソースの作成時、またはカスタム・ソフトウェア・ソースのフィルタの編集時、またはパッケージ・リスト時に定義します。
- フィルタ
-
フィルタを使用して、コンテンツを含めるか除外して、カスタム・ソフトウェア・ソースを構築します。フィルタのタイプは次のとおりです。
- グループ: パッケージ・グループを指定します。使用可能なパッケージ・グループは、カスタム・ソースに含まれるソフトウェア・ソースによって異なります。
- モジュール: モジュール・ストリームおよびモジュール・ストリーム・プロファイルを指定します。
- パッケージ: パッケージ名とバージョンを指定します。許容されるパッケージ・バージョンの形式は'epoch:version-release'または'version-release'です。たとえば、パッケージ名:
edk2-ovmf
、パッケージ・バージョン:1:20210616-3.el8
です。
「依存関係の自動解決」オプションを使用する場合、カスタム・ソフトウェア・ソースにはフィルタのパッケージの依存関係も含まれます。したがって、使用可能なパッケージを表示すると、フィルタによって明示的に指定されていない追加のパッケージがカスタム・ソフトウェア・ソースに表示される場合があります。
auto-updateオプションを使用する場合、フィルタでパッケージのバージョンが指定されると、そのパッケージに対するオプションは無視され、指定されたバージョンのままになります。ただし、フィルタでバージョンのないパッケージが指定されている場合、サービスはパッケージを最新の使用可能なバージョンに更新します。
さらに、「最新のみ」オプションを使用して、パッケージおよびモジュールを最新バージョンに制限できます。このオプションは、フィルタまたはパッケージ・リストの制約内に、最新バージョンのパッケージまたはモジュール・ストリームのみを追加します。
- パッケージ・リスト
-
パッケージ・リストを使用して、カスタム・ソフトウェア・ソースに含めるパッケージを識別します。有効なフォーマットについては、Package List Formatを参照してください。
パッケージの特定のバージョンを指定する場合、auto-updateおよび latest-onlyオプションはパッケージでは無視されます。パッケージのバージョンは、リストで指定されたレベルに残ります。
パッケージおよびモジュールの最新バージョンへの制限
カスタム・ソフトウェア・ソースの作成時に、ソースに含まれるパッケージおよびモジュールを、使用可能な最新バージョンのみに制限することを選択できます。「最新バージョンのみを含める」オプションを有効にすると、フィルタまたはパッケージ・リストの制約内にパッケージまたはモジュール・ストリームの最新バージョンのみが追加されます。これにより、カスタム・ソフトウェア・ソースのコンテンツをより詳細に制御でき、インスタンスが古いバージョンのパッケージをインストールできなくなります。
パッケージの特定のバージョンを指定するパッケージリストまたはフィルタで最新のみを使用する場合、サービスには指定されたバージョンのパッケージのみが含まれます。
最新のみのオプションが有効な場合、'Include'フィルタおよびパッケージ・リストは次のように動作します。
- バージョンを指定しないパッケージの場合、パッケージの最新の使用可能なバージョンのみが含まれます。
- バージョンを指定するパッケージの場合、指定したバージョンのパッケージのみが含まれます。
- ストリームを指定しないモジュール・フィルタの場合、使用可能なすべてのストリームが含まれます。各ストリーム内には、パッケージの最新バージョンのみが含まれます。
- ストリームを指定するモジュールフィルタの場合、指定されたストリームの最新バージョンのパッケージのみが含まれます。
- グループフィルタの場合、そのグループの最新バージョンのパッケージのみを含めます。
auto-resolveオプションも使用している場合、パッケージリストまたはフィルタによって制約されない依存パッケージは、使用可能な最新バージョンに制限されます。
例として、Oracle Linux 8カスタム・ソフトウェア・ソースの次のフィルタについて考えてみます。
フィルタ | 最新のみのオプション使用時に含まれるパッケージおよびモジュール | 最新のみのオプションを使用しない場合に、パッケージおよびモジュールが含まれています |
---|---|---|
含む|パッケージ| zsh |
zsh-5.5.1-10.el8 (zshパッケージの最新バージョンのみを含む) |
zsh-5.5.1-10.el8 zsh-5.5.1-9.el8 zsh-5.5.1-6.el8 zsh-5.5.1-6.el8_1.2 (すべてのバージョンのzshパッケージを含みます) |
含む|パッケージ| zsh | 5.5.1-6.el8 |
zsh-5.5.1-6.el8 (zshパッケージのフィルタの制約内の最新バージョンを含む) |
zsh-5.5.1-6.el8 (zshパッケージの指定されたバージョンを含む) |
インクルード|モジュール| maven |
maven-3.7 maven-3.6 maven-3.5 (各ストリーム内のパッケージ最新バージョンのみを含む) |
maven-3.7 maven-3.6 maven-3.5 (各ストリームにパッケージのすべてのバージョンを含む) |
インクルード|モジュール| maven | 3.6 |
maven-3.6 (ストリーム内のパッケージ最新バージョンのみを含む) |
maven-3.6 (ストリーム内のパッケージのすべてのバージョンを含む) |
含める|グループ|ネットワーキング・ツール |
ネットワークツール (グループ内のパッケージ最新バージョンのみを含む) |
ネットワークツール (グループ内のパッケージのすべてのバージョンを含む) |
フィルタなし | 基礎となるベンダー・ソフトウェア・ソースからのパッケージの最新バージョンのみが含まれます。モジュールの場合、これは各モジュール・ストリームからの最新パッケージのみを意味します。 | パッケージおよびモジュールのすべてのバージョンを基礎となるベンダー・ソフトウェア・ソースに含めます。 |