yum はプライベート リポジトリ内の特定のパッケージを見つけることができません

yum はプライベート リポジトリ内の特定のパッケージを見つけることができません

本当に奇妙な問題があります。プライベート yum リポジトリをセットアップしましたが、1 つの rpm を除いて rpm は正常に提供されています。

たとえば、すべての rpm をビルドしてカスタム リポジトリ ディレクトリにコピーしたとします。

postgresql-myStuff11-11.7-2.el8.x86_64.rpm
postgresql-myStuff11-libs-11.7-2.el8.x86_64.rpm
postgresql-myStuff11-devel.7-2.el8.x86_64.rpm
postgresql-myStuff11-docs-11.7-2.el8.x86_64.rpm
...

それらはすべてそこにあります。yum キャッシュをクリアし、yum リポジトリを再構築したりcreaterepo --update、フォルダー全体を削除して再作成したりしました。しかし、何をしても、実行時にメイン パッケージ(または myStuff11 など)repodataが見つかりません。yum search myStuff

メイン パッケージを除く、その他すべてのみが返されます。

Searching Packages:
==========================================================================================
Name Matched: myStuff11
==========================================================================================
postgresql-myStuff11-libs.x86_64 : The shared libraries required for any PostgreSQL clients
Repo        : @System
Matched from:
Provide    : postgresql-myStuff11-libs = 11.7-2.el8
...

Name:最初は、スペックファイル内で定義済みの変数を使用しているためかと思いましたが、文字列に変更した後もまったく同じままでした...

質問:

  • yumパッケージを見るにはどうすればいいですかpostgresql-myStuff11-11.7-2.el8.x86_64.rpm?

答え1

何らかの理由で、createrepoデータベース ( -d) フラグを使用する必要がありました。これを機能させてパッケージを表示できるようにするために私が行ったことは次のとおりです。

  1. YUM リポジトリ フォルダーに移動します。例:cd /opt/myrepo
  2. rm -rf repodata、きれいに拭く
  3. リポジトリを再作成しますが、データベースは ですcreaterepo -v -d .( は.です/opt/myrepo)

その後、リモート マシンで実行して、yum update --refresh新しい変更を取得できます。

フラグがないと-d、ビルドしたパッケージをすべて一覧表示できませんでした。理由はわかりません。環境は RHEL 8 システムだったので、これは に固有のバグである可能性があります (そうでない可能性もあります) createrepo

createrepo --version
Version: 0.17.7 (Features: DeltaRPM LegacyWeakdeps )

関連情報