RPMでDebianパッケージの「replace:」機能をどのようにエミュレートできますか?

RPMでDebianパッケージの「replace:」機能をどのようにエミュレートできますか?

SLES10システムでLDAPサーバーの負荷を軽減するには、名前サービスキャッシュデーモン(NSCD)を使用する必要があります。私の経験によれば、GNU LibCの一部として提供されるデフォルトのnscdはゴミであり、数時間ごとにひどくクラッシュしています。したがって、unscdやgnscdなどの代替方法を使用する必要があります。

SLES10には2つのパッケージがないため、1つをコンパイルする必要があります。しかし、AppArmorには問題があります。 SLE10では、各アプリケーションは各パッケージが独自のプロファイルを提供するのではなく、AppArmorプロファイルを1つの大きな「apparmor-profiles」パッケージにマージします。また、unscd / gnscdはapparmor-profilesでプロファイルを使用できません。 。

Debian パッケージを作成するときは、代替と呼ばれる関係を指定できます。これは、「他のパッケージと同じファイルが含まれていることを認識していますが、そのバージョンがこのチェックと一致する限り、そのファイルを上書きできます」と言います。したがって、specファイルに「Replace:apparmor-profiles(<= 2.0.1-20.20.16)」と言うことで、apparmor-profilesパッケージ内のすべてのファイルをきちんと置き換えることができます。

私のapparmor-profilesパッケージを再コンパイルし、ファイルを削除したり、rpmコマンドを介してパッケージを強制せずに(今後問題が発生する可能性がある)、RPMで同じことを行うにはどうすればよいですか?

答え1

RPMにはエミュレーション機能がないと思います。 RPMには「老化」機能がありますが、これはあるパッケージを別の名前の別のパッケージに置き換えることです。複数の RPM に 1 つのオブジェクトを所有させることができますが、これは使用するディストリビューションに応じて、主に /etc/bash_completion.d などのディレクトリで動作します。すべて少し異なるパッケージングの指示があります。

関連情報