%のpreunは、アップグレード中に$ 1が値0で渡されます

StackOverflow https://stackoverflow.com/questions/997045

  •  13-09-2019
  •  | 
  •  

質問

私はすでにシステムにインストールされている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を作成することにアップグレードしてから、最終的な新しいパッケージにアップデートすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top