質問: rpmでdebianパッケージの「replaces:」関数をエミュレートするにはどうすればよいですか? sles10システムでldapサーバーの負荷を減らすために、nscd(ネームサービスキャッシングデーモン)を使用する必要があります。私の経験では、gnu libcの一部として提供されるデフォルトのnscdはガベージであり、数時間ごとにひどく壊れます。その結果、unscdやgnscdなどの代替品を使用する必要があります。sles10にはどちらのパッケージもありませんので、パッケージをコンパイルする必要があります。ただし、apparmorには問題があります。sle10では、すべてのアプリでapparmorプロファイルが1つの大きな「apparmor-profiles」パッケージにマージされており、各パッケージに独自のプロファイルを提供させるのではなく、unscd/gnscdは機能しません。 apparmor-profilesのプロファイル。debianパッケージを作成するときに、replaces:という関係を指定することができます。これは、「この他のパッケージと同じファイルを含めることはわかっていますが、バージョンがこのチェックに一致する限り、ファイルを上書きできます」というものです。その結果、スペックファイルで「replaces:apparmor-profiles(<= 2.0.1-20.20.16)」のように言うことができ、apparmor-profilesパッケージのファイルをきれいに置き換えることができました。ファイルを削除して自分のapparmor-profilesパッケージを再コンパイルするか、rpmコマンド(将来的に問題を要求します)を介してパッケージを強制する以外に、rpmで同じことをどのように行いますか?
回答: rpmにはアナログ機能はないと思います。 rpmには「廃止」機能がありますが、これは、あるパッケージを別の名前の別のパッケージに置き換えるためのものです。複数のrpmが単一のオブジェクトを所有することもできますが、使用するディストリビューションに応じて、/ etc /bash_completion.dなどのディレクトリに主に使用されます。パッケージガイドラインはすべてわずかに異なります。