質問
私はすでにシステムにインストールされているrpmパッケージを持っています。私は別のパッケージ名を持つ新しいパッケージで古いパッケージを置き換えたいです。 「RPM -Uvh [パッケージ名]」新しいものと古いパッケージを置き換えるために十分である必要があります。
ネットでいくつかの研究を行った後、私は「時代遅れには」時代遅れの古いパッケージに使用されていることを発見し、別の名前で新しいパッケージと交換してください。 私は私のRPM specファイルに「を時代遅れ」を使用しているが、私は古いパッケージからアップグレードしようとしていた場合、古いパッケージの%のpreunが、私は$ 1 = 1であることが予想され$ 1 = 0で呼び出されます。
私が間違ってどこかつもりなら、私を修正してください。この問題のために任意のより良い解決策がありますか?
おかげ
解決
のこの問題の任意のより良い解決策がありますか?の
rpm -e --nopreun <old-package> && rpm -i <new-package>
あなたが選択して、特定のスクリプトを有効または無効にすることができます
--no<scriptname>
、またはあなたが--noscripts
を持つすべてのスクリプトを無効にすることができます。
あなたは新しいパッケージに関連する様々なスクリプトをチェックしてください。 あなたにもそれらのいくつかを無効にする必要があります。
-steve
p.s。これはおそらく、より良い ServerFaultののに掲示問題だろう。 :)
他のヒント
あなたの問題の私の理解では、古いパッケージは、右、(ユーザーアカウントまたはそのような何かを削除するように)あなたはそれがないしたいその%のpreunスクリプトで何かをするということですか。
この問題を回避するための一つの方法は、どのファイルが含まれていない古いパッケージの中間ダミーのrpmバージョンN + 1を作成することにアップグレードしてから、最終的な新しいパッケージにアップデートすることができます。