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