RPM 데이터베이스(동일 스키마)에서 정확한 중복을 제거하는 방법

RPM 데이터베이스(동일 스키마)에서 정확한 중복을 제거하는 방법

한 시스템의 RPM DB에는 두 개의 동일한 항목이 있습니다.

# 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

두 인스턴스를 모두 삭제할 수 있습니다.

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

관련 정보