ダウンロードした複数のRPMに正しい依存関係を持つパッケージをどのようにインストールしますか?

ダウンロードした複数のRPMに正しい依存関係を持つパッケージをどのようにインストールしますか?

私の状況も似ています。ローカル依存RPMファイルのみを使用してローカルRPMをインストールするには?または依存関係を提供するrpmが依存関係rpmの前にインストールされるように、RPMでいっぱいのディレクトリをインストールしますか?しかし、CentOSではなくFedoraを使用しており、YumではなくDNFを使用しています。

.rpmディレクトリに複数のファイルをダウンロードしました。そのうちの1つ(たとえば)をインストールし、その依存関係を持ちたいと思いますfoo-1.0-1.rpm。私がダウンロードした他のすべてのファイルではfoo-debuginfo-1.0-1.rpmなく、必要なものだけをインストールしたいと思いますfoo-extraplugin-that-no-one-uses-1.0-1.rpm。そうすればdnf install *追加のゴミができます。これにより、依存関係dnf install foo-1.0-1.rpmの欠落に関するエラーが発生します。barbazfoo-essential

どうすればいいですか?

答え1

Yumの答えは、ローカルリポジトリを作成し、リポジトリ設定ファイルを/etc/yum.repos.d.youに追加することを示唆しています。できるしかし、DNFを使用する必要はありません。構成ファイルなしでローカルストレージを指すことができます。ただし、ディレクトリにリポジトリを作成する必要があります。

だから:

  1. 問題のあるディレクトリに変更します。cd ~/Downloads/RPMs、例えば。
  2. createrepo_c .このディレクトリで実行してください。 (またはcreaterepo_c ~/Downloads/RPMsどこでも)
  3. 走るdnf --repofrompath local,. install foo

メモ:

createrepo_cはい、直接的かつ迅速な選択肢ですcreaterepo

提供されたリポジトリの構文は reponame comma path です。だから、--repofrompath "My Repository",/home/mattdm/Downloads/RPMsしたい場合はできます。 URL(file:///URLまたはリモートURL)を提供することもできます。

インストールするパッケージをファイル名(例:)ではfooなくパッケージ名foo-1.0-1.rpm(例:)で指定する必要があります。

最後に、プロビジョニングされ、プルされる他の構成されたfooリポジトリがある場合、これは将来の問題になりますが、今はそれを使用して--disablerepo問題の他のリポジトリを削除できます。

関連情報