rpm 데이터베이스가 손실되었습니다. 어떻게 처리해야 합니까?

rpm 데이터베이스가 손실되었습니다. 어떻게 처리해야 합니까?

/var/lib 아래의 rpm 디렉토리가 완전히 손실되어 복원할 수 없습니다. (무엇을 해야 하는지 알고 있습니다...) 새로운 작업(rpm --initdb)을 수행했지만 물론 rpm과 yum은 더 이상 시스템에 무엇이 있는지 알 수 없습니다. yum check-update와 같은 작업을 다시 수행하고 실제로 결과를 얻을 수 있도록 데이터베이스를 다시 채울 수 있는 방법이 있습니까? 아니면 잃어버린 원인 일 수도 있습니다. 그렇다면 어떻게 진행해야 할까요?

Centos Stream 버전 8을 실행하고 있습니다.

제안해 주셔서 감사합니다.

답변1

  1. rpm이 패키지를 사용하여 를 다운로드하고 설치할 수 있습니다 centos-release-XX-XX.noarch.rpm.
  2. find /usr /etc -type f -print0 | xargs -0 -P$(nproc) dnf --cacheonly whatprovides | sort -u > /tmp/packages.txt
  3. 생성된 패키지를 수동으로 다운로드합니다./tmp/packages
  4. cd /tmp/packages && rpm -ivh --noscripts --notriggers --justdb *rpm

이제 준비가 되었습니다.

프로젝트 N2는 속도가 느릴 수 있고 더 빠른 방법이 있지만 더 복잡합니다.

관련 정보