6

私の Perl コードは、いくつか (4) の rpm ファイルをルートとしてインストールしました。rpm -e新しいバージョンをインストールする前に、次のインストールでそれらを削除します ( )。rpm -eインストールされていないというエラーが表示され、削除されません。ただし、後で更新されたファイルがインストールされると、既にインストールされているというメッセージが表示されます。

手動で削除しようとしても、同じ結果になります。私の質問は、rpm データベースから何かを強制的に削除する方法と、この矛盾が存在するのはなぜですか (からインストールされておらず、からrpm -e既にインストールされrpm -Uvhているrpm -ivh)?

4

3 に答える 3

12
  1. インストールしたら、パッケージ ファイル名ではなく、パッケージ名を使用します。
  2. アップグレードする前にパッケージを削除する必要はありません。これは、パッケージの 1 つまたは両方が壊れていることを意味します。
于 2010-05-16T00:00:04.880 に答える
9

消去されない理由は、スクリプトレットの 1 つが失敗している可能性があります。手動で行い、エラーを監視します。失敗したスクリプトレットについて言及している場合は、それを消去してみてくださいrpm -e --noscripts

于 2014-06-26T22:18:01.567 に答える
3

rpm -e --forceパッケージを強制的に削除するのではなく、パッケージrpm -e --nodeps 停止して他の依存関係をチェックします。

RPM データベースが何らかの形で変形している可能性があります。rpm --rebuilddb

于 2010-05-16T01:03:37.740 に答える