yum - ファイルの置き換えを強制してパッケージをインストールする

yum - ファイルの置き換えを強制してパッケージをインストールする

rpm を使用せず、rpm と同じ動作で yum を使用してパッケージを 1 つインストールしたいです--replacefiles。他のパッケージとファイルが競合するパッケージが 1 つあるので、yum を使用して強制的にインストールする必要があります。このパッケージは私のものなので、spec ファイルを変更できます。

答え1

使用できますトリガースクリプトレットこのために。

たとえば、ファイルが/etc/contestedという名前の rpm によって所有されておりgenerallyspecifically同じファイルを強制的に上書きしようとする別のパッケージ ( ) があるとします。

ではspecifically.spec、ファイルの新しいバージョンを にインストールし%{_datadir}/%{name}/etc.contested、このトリガー スクリプトレットを使用してそれを にインストールします/etc

%triggerin -- generally install -m 0644 %{_datadir}/%{name}/etc.contested %{_sysconfdir}/contested

スクリプトレットは、generallyがインストールまたは更新されるたび、および がspecificallyインストールまたは更新されるたびに実行されます。

RPM はファイルが期待どおりではないことを認識しますが、インストールやアンインストールが停止されることはありません。

答え2

スペック ファイルを変更できる場合は、ファイル セクションで競合するファイルを削除できる可能性があります。そのセクションでフォルダーを指定しますか? またはファイルごとに指定しますか?

関連情報