私の状況も似ています。ローカル依存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
の欠落に関するエラーが発生します。bar
baz
foo-essential
どうすればいいですか?
答え1
Yumの答えは、ローカルリポジトリを作成し、リポジトリ設定ファイルを/etc/yum.repos.d
.youに追加することを示唆しています。できるしかし、DNFを使用する必要はありません。構成ファイルなしでローカルストレージを指すことができます。ただし、ディレクトリにリポジトリを作成する必要があります。
だから:
- 問題のあるディレクトリに変更します。
cd ~/Downloads/RPMs
、例えば。 createrepo_c .
このディレクトリで実行してください。 (またはcreaterepo_c ~/Downloads/RPMs
どこでも)- 走る
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
問題の他のリポジトリを削除できます。