複数の依存関係を持つパッケージがあります。指定されたパッケージとその依存関係を使用してリポジトリを更新しましたが、パッケージの依存関係を更新するときに必要なバージョンがすでにインストールされているため、パッケージの依存関係は更新されませんでした。
これらの依存関係を強制的に更新するにはどうすればよいですか?
これを明確にするための例は次のとおりです。
私はインストールしました
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の新しいバージョンを入手する必要はありません。
目的のタスクを実行する方法はいくつかあります。
RPM_Aをビルドしている場合は、仕様ファイルにRPM_BとRPM_Cの特定のバージョン要件を入れて、RPM_Aが更新されたときにyumがそれを選択できます。
RPM_BとRPM_Cのパッケージタイプを作成してマニフェストに配置し、RPM_Aをそれに依存させることができます。
インストールする必要がある特定のバージョンのRPM_A、RPM_B、およびRPM_Cを一覧表示するためにのみ存在するいくつかのメタパッケージを作成します。このオプションはデフォルトではオプション2と同じであるため、少し愚かですが、マニフェストの代わりに仕様ファイルで同じ操作を行います。