ソフトウェア・ソースの理解
OS管理ハブは、ソフトウェア・ソース(リポジトリ)を使用してOracle LinuxインスタンスにOSコンテンツを提供します。
ソフトウェア・ソースは、パッケージおよびモジュールの集合です。ソフトウェア・ソースを使用して、OS管理ハブによって管理されるインスタンスで使用可能なコンテンツを制御します。OS管理ハブでソフトウェア・ソースを追加または作成する場合、リージョンごとに作成されます。
ソフトウェア・ソースは、Oracle Linuxインスタンスにのみ適用されます。Windowsインスタンスはソフトウェア・ソースを使用しません。
参照:
ソフトウェア・ソース・タイプ
ベンダー・ソフトウェア・ソース
ベンダー・ソフトウェア・ソースは、OSベンダーが提供するソフトウェア・リポジトリです。OS管理ハブでベンダー・ソースを使用するには、テナンシのルート・コンパートメントにベンダー・ソースを追加する必要があります。その後、必要に応じて他のコンパートメントにソースをレプリケートできます。一部のベンダー・ソフトウェア・ソースは、アクセスのロックを解除するために資格を必要とする(可用性を参照)制限されているか、プレミアム製品である可能性があります。
ベンダー・ソフトウェア・ソースは、OS管理ハブの基本的なソフトウェア・ソース・タイプです。これらは、カスタム・ソフトウェア・ソースおよびバージョン管理されたカスタム・ソフトウェア・ソースのコンテンツの基礎として使用されます。カスタム・ソフトウェア・ソースを作成する前に、まずベンダー・ソフトウェア・ソースをサービスに追加する必要があります。
OS管理ハブは、OCIリージョナルyumサーバーからパッケージ更新を受信し、対応するベンダー・ソフトウェア・ソース(または自動更新機能を使用するカスタム・ソフトウェア・ソース)を更新します。これらのパッケージ更新は、これらのソフトウェア・ソースを使用するインスタンスで使用できるようになります。
サード・パーティ(プライベート)のリポジトリは、OS管理ハブではサポートされていません。既知の問題: プライベート・リポジトリまたはサードパーティ・リポジトリを使用できないを参照してください。
関連項目: ベンダー・ソフトウェア・ソースのスナップショットの作成
ベンダー・ソフトウェア・ソースの追加に関するガイドライン
OS管理ハブにベンダー・ソースを追加する場合は、次のガイドラインに従ってください:
-
Oracle Linuxインスタンスをサービスに登録する前に、ベンダー・ソフトウェア・ソースをOS管理ハブに追加します。
ノート
Autonomous Linuxインスタンスには、Autonomous Linuxインスタンスを登録するときにOS管理ハブに自動的に追加されるベンダー・ソフトウェア・ソースの最小セットが必要です。詳細は、必須のソフトウェア・ソースを参照してください。
-
少なくとも最小限のソフトウェア・ソースを追加して、インスタンスのOSバージョンをサポートします。
- Oracle Linux 8およびOracle Linux 9には、BaseOSおよびAppStreamソフトウェア・ソースが必要です。
- Oracle Linux Unbreakable Enterprise Kernel (UEK)を使用している場合は、UEKソフトウェア・ソースを追加して、インスタンスがカーネル更新およびパッチを取得するようにします。
- Oracle Linuxリポジトリの詳細は、Oracle Linuxでのソフトウェアの管理を参照してください。
-
セキュリティのベスト・プラクティスに従うには、環境に関連するコンテンツのみを追加します。これは、OS管理ハブのインスタンスで使用可能なコンテンツに対する最初の制御レベルです。セキュリティ: ソフトウェア・ソースの選択を参照してください。
- たとえば、Oracle Linux 8でGluster AppStreamリポジトリを使用していない場合は、そのソフトウェア・ソースをサービスに追加しないでください。
カスタム・ソフトウェア・ソース
カスタム・ソフトウェア・ソースは、ベンダー・ソフトウェア・ソースから導出されたソフトウェア・リポジトリです。カスタム・ソースを使用すると、管理するパッケージまたはモジュールの特定のセットを作成し、インスタンスに適用できます。
カスタム・ソースを作成するには、基盤として使用するベンダー・ソフトウェア・ソースを選択します。これらはすべて、同じOSバージョンおよびアーキテクチャである必要があります。次に、フィルタまたはパッケージリストを使用して、ベンダーソフトウェアソースに含める、または除外するパッケージおよびモジュールを特定します。これにより、基本ベンダー・ソフトウェア・ソースによって提供されるパッケージおよびモジュールのサブセットであるソースが作成されます。その後、カスタム・ソフトウェア・ソースをプロファイル、インスタンスまたはグループにアタッチできます(ライフサイクル環境ではバージョン管理されたカスタム・ソフトウェア・ソースが使用されます)。
カスタム・ソフトウェア・ソースの可用性は、作成に使用されるベンダー・ソフトウェア・ソースの可用性によって異なります。たとえば、カスタム・ソースがOCIでのみ使用可能なベンダー・ソースを使用する場合、カスタム・ソースもOCIでのみ使用できます。
ベンダー・ソフトウェア・ソースのスナップショットの作成
カスタム・ソフトウェア・ソースの一般的な用途は、ベンダー・ソフトウェア・ソースのスナップショットを作成することです。これを行うには、auto-updateを無効にし、auto-resolveを無効にし、フィルタやパッケージリストを指定せずに、カスタムソフトウェアソースを作成します。これにより、ベンダー・ソフトウェア・ソースのコピーが作成されますが、ソースの作成時に使用可能なバージョンに残るパッケージが作成されます。これは、インスタンスがベンダー・ソフトウェア・ソースにアクセスできるようにするが、将来のパッケージ更新へのアクセスを制限する場合に便利です。
依存関係の自動解決
カスタム・ソフトウェア・ソースの作成時に、「パッケージおよびモジュールの依存関係を自動的に解決」オプションを有効にすることで、サービスでパッケージおよびモジュールの依存関係を自動的に解決するように選択できます。依存関係の解決には、カスタム・ソースの一部であるベンダー・ソフトウェア・ソース内のパッケージのみを含めることができます。依存パッケージがカスタム・ソースに含まれていないベンダー・ソースに存在する場合、依存パッケージは含まれず、カスタム・ソフトウェア・ソースの作成は失敗します。
自動解決オプションを使用する場合、カスタムソフトウェアソースには、フィルタまたはパッケージリストのパッケージの依存関係も含まれます。したがって、使用可能なパッケージの表示時に、フィルタまたはパッケージリストによって明示的に指定されていないカスタムソフトウェアソース内のパッケージが表示されることがあります。
フィルタまたはパッケージリストを指定しない場合、自動解決オプションは無視され、ベンダーソフトウェアソースのスナップショットが作成されます。ベンダー・ソフトウェア・ソースのスナップショットの作成を参照してください。
コンテンツを自動更新しています
カスタム・ソフトウェア・ソースの作成時に、「コンテンツの自動更新」オプションを有効にすることで、サービスでカスタム・ソフトウェア・ソースのコンテンツが自動的に更新され、使用可能な最新のパッケージが含まれるようにすることができます。OS Management Hubは、24時間ごとに1回更新を確認します。
filtersおよび自動更新オプションを使用している場合、フィルタでバージョンが指定されていない場合にのみコンテンツが更新されます(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-resolve dependオプションを使用する場合、カスタムソフトウェアソースにはフィルタのパッケージの依存関係も含まれます。したがって、使用可能なパッケージの表示時に、フィルタで明示的に指定されていないカスタム・ソフトウェア・ソースに追加のパッケージが表示される場合があります。
auto-updateオプションを使用する場合、フィルタでパッケージのバージョンを指定するときに、そのパッケージのオプションが無視され、指定されたバージョンに残ります。ただし、フィルタでバージョンのないパッケージを指定すると、サービスはパッケージを最新の使用可能なバージョンに更新します。
また、latest-onlyオプションを使用すると、パッケージおよびモジュールを最新バージョンに制限できます。このオプションは、フィルタまたはパッケージ・リストの制約内に、パッケージまたはモジュール・ストリームの最新バージョンのみを追加します。
- パッケージ・リスト
-
パッケージ・リストを使用して、カスタム・ソフトウェア・ソースに含めるパッケージを指定します。参照インスタンスで
rpm -qa
を実行して、パッケージのリストを作成できます。たとえば、パッケージは次のようになります。
pam-1.3.1-27.el8.x86_64 openssl-libs-1.1.1k-12.el8_9.x86_64 libreport-filesystem-2.9.5-15.0.4.el8.x86_64
パッケージリストを使用すると、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 (ストリーム内のパッケージのすべてのバージョンを含む) |
含める|グループ|ネットワーキング・ツール |
ネットワークツール (グループ内のパッケージ最新バージョンのみを含む) |
ネットワークツール (グループ内のパッケージのすべてのバージョンを含む) |
フィルタなし | 基礎となるベンダー・ソフトウェア・ソースからのパッケージの最新バージョンのみが含まれます。モジュールの場合、これは各モジュール・ストリームからの最新パッケージのみを意味します。 | パッケージおよびモジュールのすべてのバージョンを基礎となるベンダー・ソフトウェア・ソースに含めます。 |
バージョニング済カスタム・ソフトウェア・ソース
バージョニング済カスタム・ソフトウェア・ソースは、ライフサイクル環境で特に使用されるカスタム・ソフトウェア・ソースです。「バージョン管理されたカスタム・ソフトウェア・ソースの作成」を参照してください。
バージョン管理されたカスタム・ソフトウェア・ソースには、いくつかの個別の属性があります。
- バージョン指定子: 作成時に、ソフトウェア・ソースにバージョンを割り当てます。
- 特定のパッケージ・コンテンツ: 作成時に、フィルタまたはパッケージ・リストを使用してコンテンツを制限します。バージョン管理されたカスタム・ソフトウェア・ソースには、ターゲット・インスタンスにインストールするパッケージおよびモジュールのみを含める必要があります。フィルタを使用してバージョン管理されたカスタムソフトウェアソースを作成する場合、latest-onlyオプションが必要です。
- 不変: 作成後は、ソフトウェア・ソースまたはそのバージョン内のパッケージおよびモジュールを変更できません。
バージョン管理されたカスタム・ソフトウェア・ソース内のパッケージおよびモジュールを慎重に選択します。ライフサイクル・ステージに昇格すると、サービスはバージョニングされたソースのすべてのコンテンツをターゲット・インスタンスにインストールします。
可用性
ベンダー・ソフトウェア・ソースをサービスに追加した後、ソースはすべてのインスタンス・タイプで自動的に使用可能になるわけではありません。ソースの可用性は、OCIインスタンスとオンプレミス・インスタンスまたはサードパーティ・クラウド・インスタンスで異なる場合があります。oci_included
などの一部のソースは、OCIインスタンスにのみ適用されます。ksplice
などの他のソースでは、OCI以外のインスタンスに対して権限が必要になる場合があります。権限を追加するまで、ksplice
ソフトウェア・ソースはOCIインスタンスでのみ使用できます。
カスタム・ソフトウェア・ソースの可用性は、作成に使用されるベンダー・ソフトウェア・ソースの可用性によって決まります。たとえば、カスタム・ソースがOCIでのみ使用可能なベンダー・ソースを使用する場合、カスタム・ソースもOCIでのみ使用できます。
ソフトウェア・ソースの可用性ステータス
ソフトウェア・ソースの可用性は、コンソール内の2つの場所(ソースの詳細ページまたはサービスへのベンダー・ソースの追加時)で表示できます。
ソフトウェア・ソースの詳細を表示する場合、可能なステータスは次のとおりです:
- OCI、オンプレミス、サードパーティ・クラウドのインスタンスで使用可能: すべてのインスタンスでソフトウェア・ソースを使用できます。
- OCIのインスタンスで使用可能: ソフトウェア・ソースはオンプレミス・インスタンスまたはサードパーティ・クラウド・インスタンスに対して制限されますが、OCIインスタンスで使用できます。一部のソースは、
oci_included
など、OCIインスタンスでのみ使用できます。ksplice
などの他のソースでは、権限を追加して、オンプレミスまたはサードパーティ・クラウド・インスタンスで使用可能にできます。 - 次のインスタンスで使用可能: -: インスタンスで使用するためにソフトウェア・ソースがまだサービスに追加されていません。ベンダー・ソフトウェア・ソースを追加して使用可能にします。
ベンダー・ソフトウェア・ソースを追加する場合、「制限付き」列で可能なステータスは次のとおりです:
- - (ダッシュ): ソフトウェア・ソースは制限されません。すべてのインスタンス・タイプで使用できます。
- 非OCIで使用不可: ソフトウェア・ソースは制限されませんが、オンプレミスまたはサードパーティ・クラウド・インスタンスでの使用には無効です。たとえば、OCIインスタンスによってのみ使用されるパッケージを提供する
ol8_oci_included-x86_64
です。 - OCI使用のみ: ソフトウェア・ソースは現在OCIインスタンスでのみ使用可能です。資格を追加するまで、オンプレミスまたはサードパーティ・クラウドでは使用できません。
管理ステーション・ミラー
管理ステーションの役割が割り当てられたシステムは、ソフトウェア・ソースをオンプレミスまたはサポートされているサードパーティ・クラウドのインスタンスにミラー化して配布します。管理ステーションは、それを使用するインスタンスをサポートするために必要なソフトウェア・ソースのみをミラー化します。ミラー化されたソフトウェアソースのリストは、ステーションを使用するプロファイルを登録するまで空になります。「ミラー同期の理解」を参照してください。