yum: ローカルリポジトリと変更されたパッケージ

yum: ローカルリポジトリと変更されたパッケージ

他の人へのアドバイスのフォローアップ質問マシン上にローカル RPM リポジトリを設定しRed Hat 8、そこにプライベート パッケージを配置して、インストールや更新などを実行できるようになりました。

しかし、問題があります。私がプライベートリポジトリに追加したパッケージの1つは、実際には公式RedHatリポジトリで利用可能なパッケージの修正版であり、同じ名前です。そのため、yum searchまたははyum installパッケージを公式ミラーから取得しますが、私のものではありません。私はこれを解決するためyum --repo=my_private_repo ...私のプライベートリポジトリ公式のものの代わりに。

これを解決する正しい方法は何でしょうか? おそらく、公式のパッケージと競合しないように、パッケージの名前を変更する (リポジトリで変更して追加したもの) のがより良い選択肢でしょうか?

アドバイスをいただければ幸いです!

答え1

ELのbaseosやappstreamリポジトリからパッケージを置き換えるのは困難です。ディストリビューションが期待していたものを別のものに置き換えると、悪夢のような依存関係の問題が発生する可能性があります。これが、ELコミュニティが特定のパッケージを嫌う理由の1つです。サードパーティのリポジトリ

正常な動作をしているリポジトリを見つけて、そのパッケージに対して何が行われるかを調べます。私たちは一例です。安全であるためには、これらすべてが真である必要があります。

ほとんどの IUS パッケージは安全な代替パッケージです。これは、次の特性を持つパッケージを表すために使用する用語です。

  • 標準パッケージの機能を置き換えます。
  • 意図しないアップグレードを防ぐために、標準パッケージとは異なる名前を使用します。
  • 他のパッケージの依存関係を満たすために、ストック パッケージ名を指定します。
  • ストックパッケージと競合します。
  • 在庫パッケージを廃止してはなりません。

例えば、「haproxy」だけではなく、「haproxy22」これは IUS のみが提供する名前ですが、appstream の名前に代わるものです。

Name:           haproxy22

Provides:       haproxy = %{version}-%{release}
Provides:       haproxy%{?_isa} = %{version}-%{release}
Conflicts:      haproxy < %{version}-%{release}

注意してくださいするrpm したいのですが、標準パッケージと競合するため、dnf では考慮されません。

このスキームでは、標準よりも高いバージョンリリース番号が必要です。リリース番号を大幅に増やすことを検討してください。

参照Fedora パッケージングガイドラインリソース用。

関連情報