RPMデータベース(同じスキーマ)から正確な重複を削除する方法

RPMデータベース(同じスキーマ)から正確な重複を削除する方法

1 つのシステムの RPM DB には 2 つの同じエントリがあります。

# rpm -qa | fgrep gvfs-fuse
gvfs-fuse-1.40.0-1.1.x86_64
gvfs-fuse-1.40.0-1.1.x86_64

明らかに何も役に立ちません。

# rpm -e --justdb --nodeps gvfs-fuse-1.40.0-1.1.x86_64
error: "gvfs-fuse-1.40.0-1.1.x86_64" specifies multiple packages:
  gvfs-fuse-1.40.0-1.1.x86_64
  gvfs-fuse-1.40.0-1.1.x86_64

# rpm --rebuilddb

# rpm -qa | fgrep gvfs-fuse
gvfs-fuse-1.40.0-1.1.x86_64
gvfs-fuse-1.40.0-1.1.x86_64

データベースから削除するパッケージの1つを選択するようにより具体的に指定する方法はありますか?

答え1

両方のインスタンスを削除できます。

rpm -e --justdb --nodeps --allmatches gvfs-fuse-1.40.0-1.1.x86_64

その後、単一のrpmを再インストールします(この場合はダウンロードする必要があります)。

rpm -i --justdb --nodeps gvfs-fuse-1.40.0-1.1.x86_64.rpm

または、ファイルを再インストールして事前/後スクリプトを再実行しても問題ない場合は、次のようにします。

yum/zypper install gvfs-fuse-1.40.0-1.1

関連情報