この質問で説明されている問題に遭遇しました。古いパッケージが廃止され、その %preun スクリプトが $1 = 0 で実行され、望ましくない動作が発生しました。その回答で示唆されているように、-e + -i または --nopreun フラグを使用することでこれを回避できることはわかっていますが、単純に -U を使用することに慣れているユーザーにその情報を提供することは困難です。
既存の %preun スクリプトを実際に変更することはできません。古いパッケージの事前実行後に、新しいパッケージから追加のコードを実行する方法がわかりません。新しいパッケージで古い %preun スクリプトの実行をプログラムで防止する方法が見つかりません。
RPM データベースに到達して、既存のパッケージのスクリプトレットを削除する安全な方法はありますか?