Red Hat Enterprise 7では、yumを使用してRPMを更新/インストールすることはできません。 - "/root/rpms/repodata/repomd.xml ファイルを開けません。"

Red Hat Enterprise 7では、yumを使用してRPMを更新/インストールすることはできません。 - "/root/rpms/repodata/repomd.xml ファイルを開けません。"

仮想マシンとして実行されているRHEL OSがあり、私たちのチームは2つの特定のRPMSを更新しようとしています(エージェント/プログラムがインストールされていますが、バージョンが古くて更新したい)。

MyRepo.repoyum(ディレクトリ内のファイルのjfrogアーティファクトを指す/etc/yum.repos.d)を使用してRPMをダウンロードするのに問題があります。404 - Error not found errors

だから私はカールを使って手動でRPMを仮想マシンにダウンロードすることにしました。同じ名前のRPMが2つあり、my-prog-app-8.0.rpm1つは私が作成したディレクトリにありますmy-prog-libs-8.0.rpm/root/rpms

yum update my-prog-app私の唯一の問題は、orのようなものを実行すると、次のエラー yum update my-prog-libsで毎回失敗することです。

failure: repodata/repomd.xml from MyRepo: [Errno 256] No more mirrors to try.
file:///root/rpms/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /root/rpms/repodata/repomd.xml"

/repodataこのディレクトリが何でrepomd.xmlあるか、どのファイルを探しているのか正確にはわかりません。古いファイルのアーティファクトを指してyumを使用してRPMをダウンロードしようとすると、MyRepo.repo同じエラーが表示されます。ローカルにRPMがあり、/etc/yum.repos.dディレクトリに次のように定義されているので、安全です。

# cat /etc/yum.repos.d/MyRepo.repo
[MyRepo]
name=My Local Repo
baseurl=file:///root/rpms
enabled=1
gpgcheck=0

私がここで何を間違っているのか教えてくれる人はいますか? RPMはすでにそのOSにインストール/ダウンロード/ローカルであるため、接続/ファイアウォールに問題はありません/root/rpms。そうですか?

これは何ですか/repodata/repod.xml?この(2)rpmをどのように更新できますか?それとも、新しくインストールする方が良いと思いますか?

答え1

これは、すべてのリポジトリに存在する必要があるデフォルトのリポジトリ/repodata/repod.xmlメタデータファイルです。yum

rpmダウンロードしたRPMを介して直接アップデートをインストールせずに、代わりにyumリポジトリ定義を作成する理由はわかりません/etc/yum.repos.d/MyRepo.repo

リポジトリが正しく機能するには、を使用する必要がありますcreaterepo /root/rpms。これにより、.rpmディレクトリ内のファイルをスキャンした後にストレージメタデータが作成されます。

その後、ローカルストレージを使用できますyum

答え2

わかりました。/repodata/repomd.xml/ファイルがあるbaseurlを指す必要があります。

関連情報