まあ、強制更新の依存関係

まあ、強制更新の依存関係

複数の依存関係を持つパッケージがあります。指定されたパッケージとその依存関係を使用してリポジトリを更新しましたが、パッケージの依存関係を更新するときに必要なバージョンがすでにインストールされているため、パッケージの依存関係は更新されませんでした。

これらの依存関係を強制的に更新するにはどうすればよいですか?

これを明確にするための例は次のとおりです。

私はインストールしました

RPM_A_1.0

依存性のある人:

RPM_B version 2.1
RPM_C version 1.1

これでリポジトリを更新し、次のバージョンがあります。

RPM_A_2.0
RPM_B version 2.1-12
RPM_C version 1.1-12

他の人に電話をかけると、RPMは更新されず、yum update RPM_A強制的に更新したいと思います。

答え1

現在の設定では、これを行う簡単な方法はありません。 PuppetはRPM_Aバージョン2.0がインストールされていますが、確認します。インストールされ、必要なバージョンであることが確認されたら、ほぼ完了です。

puppet / yumがパッケージRPM_Aを1.0から2.0に更新する場合、RPM_Aに特定の最新バージョンのRPM_BとRPM_Cが必要であることを示す特定の依存関係がない場合、yumはRPM_BとRPM_Cの新しいバージョンを取得しません。インストールされたパッケージが表示され、RPM_Aのみを更新しようとしているため、RPM_BとRPM_Cの新しいバージョンを入手する必要はありません。

目的のタスクを実行する方法はいくつかあります。

  1. RPM_Aをビルドしている場合は、仕様ファイルにRPM_BとRPM_Cの特定のバージョン要件を入れて、RPM_Aが更新されたときにyumがそれを選択できます。

  2. RPM_BとRPM_Cのパッケージタイプを作成してマニフェストに配置し、RPM_Aをそれに依存させることができます。

  3. インストールする必要がある特定のバージョンのRPM_A、RPM_B、およびRPM_Cを一覧表示するためにのみ存在するいくつかのメタパッケージを作成します。このオプションはデフォルトではオプション2と同じであるため、少し愚かですが、マニフェストの代わりに仕様ファイルで同じ操作を行います。

関連情報