7.8. パッケージの依存関係の解決

Satellite では、パッケージの依存関係解決機能を使用して、コンテンツビューにパッケージがある依存関係が、コンテンツビューの公開プロセスの一部として、依存リポジトリーに追加できるようになります。

任意のコンテンツビューのパッケージの依存関係を解決するか、デフォルト設定を変更して、新規コンテンツビューすべてのパッケージ依存関係の解決を有効化または無効化できます。

最も単純で一般的なケースでは、依存関係の解決はリポジトリーの正しい機能には必要なく、省略できます。パッケージの依存関係の解決は、コンテンツビューの昇格に大幅な遅延を引き起こす可能性がある、非常にコストのかかる操作になる可能性があることに注意してください。パッケージの依存関係の解決機能では、コンテンツビューとは別にシステムにインストールされているパッケージも考慮されないため、依存関係の解決が有効になっている場合でも、サテライト保守パッケージの更新 が動作することが保証されていリポジトリーを生成するコンテンツビューフィルターを使用することができます。したがって、複雑なフィルターの組み合わせを使用する場合は、依存関係の解決と併せて使用する場合でも注意が必要です。

パッケージの依存関係の解決とフィルター

フィルターは、デフォルトで、フィルター内に記載されているパッケージの依存関係を解決するものではありません。必要な依存関係の判定には、テストが必要になる場合があります。

必要なパッケージをいくつか除外するフィルターを追加し、コンテンツビューで依存関係の解決が有効になっている場合、Satellite はフィルターで作成したルールを無視し、パッケージの依存関係の解決を優先します。

セキュリティーの目的でコンテンツフィルターを作成する場合は、Satellite はパッケージの依存関係を解決するために、セキュアでないパッケージを追加する可能性があります。

手順

デフォルトでパッケージの依存関係を解決するには、次の手順を実行します。

  1. Satellite Web UI で、管理 > 設定 に移動して、コンテンツ タブをクリックします。
  2. コンテンツビューの依存関係をデフォルトで解決しYes を選択します。

留意事項

  1. 結果のコンテンツビューの依存関係が壊れているような方法でフィルターを使用することは可能であり、依存関係の解決によってこれが解決されるとは限りません。これは、パッケージの依存関係の解決機能が、コンテンツビューとは別にシステムにインストールされているパッケージを考慮しないためです。
  2. コンテンツビュー内のパッケージは、競合する依存関係を持つことができます。

    たとえば、A、B、および C がサンプルパッケージであり、パッケージ A がパッケージ B のバージョン 1.1 に依存しており、パッケージ C がパッケージ B のバージョン 1.2 に依存しているシナリオを想像してください。B (1.1) および B (1.2)) は両方とも、A と C の両方の依存関係を満たすために、コンテンツビューで依存関係解決によって取り込まれます。

  3. リポジトリー内のパッケージが、コンテンツビューに同期または追加されていないリポジトリー外のパッケージに依存している場合、依存関係の解決では、そのパッケージの依存関係は解決されません。
  4. コンテンツビューで除外フィルターを使用し、依存関係の解決がオンになっている場合、依存関係の解決が優先され、フィルターで除外された場合でも、必要なパッケージが取り込まれます。
  5. 依存関係の解決およびフィルターにより、発行時間が大幅に増加する可能性があります。