![yum 오류: rpmdb 열기 실패](https://linux55.com/image/63820/yum%20%EC%98%A4%EB%A5%98%3A%20rpmdb%20%EC%97%B4%EA%B8%B0%20%EC%8B%A4%ED%8C%A8.png)
실행하려고 하는데 yum update
실행 시 다음 오류가 발생합니다.
rpmdb: PANIC: fatal region error detected; run recovery
error: db3 error(-30974) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
페이지를 확인해보니이와 같이하나는 실행 중이지만 yum clean all
동일한 오류가 발생합니다.
이 문제를 어떻게 해결할 수 있나요?
답변1
이것이 내 문제를 해결하는 방법입니다.
rpm 데이터베이스를 정리하면 이 문제를 해결할 수 있습니다. 하지만 먼저 위험을 최소화하려면 다음 명령을 /var/lib/rpm/
사용하여 파일의 백업을 생성하십시오.cp
mkdir /root/backups.rpm.mm_dd_yyyy/
cp -avr /var/lib/rpm/ /root/backups.rpm.mm_dd_yyyy/
문제를 해결하려면 다음을 시도해 보세요.
# rm -f /var/lib/rpm/__db*
# db_verify /var/lib/rpm/Packages
# rpm --rebuilddb
# yum clean all
마지막으로 다음 yum 명령을 사용하여 오류가 사라졌는지 확인합니다.
# yum update
답변2
내가 해야 할 일은 ".lock" 확장자를 가진 두 개의 파일과 "__db"로 시작하는 세 개의 파일을 삭제하는 것뿐이었습니다.
# rm /var/lib/rpm/.dbenv.lock
# rm /var/lib/rpm/.rpm.lock
# rm /var/lib/rpm/__db*
그런 다음 yum update
작동했습니다.
답변3
Alex에게 감사드립니다. 귀하의 답변은 제가 수행해야 했던 한 가지 작은 변경 사항을 제외하고는 저에게 효과적이었습니다.
rm -f /var/lib/rpm/__db*
반환 오류
rm: cannot remove `/var/lib/rpm/__db.001': Is a directory
rm: cannot remove `/var/lib/rpm/__db.002': Is a directory
rm: cannot remove `/var/lib/rpm/__db.004': Is a directory
그래서 나는 반복해야했다
rm -rf /var/lib/rpm/__db*
답변4
위의 방법을 시도했지만 성공하지 못했습니다.
다음은 잘 작동합니다
# cd /var/lib
# tar -zcvf /var/preserve/rpmdb-$(date +%Y-%m-%d_%H-%M-%S).tar.gz rpm
참고: RPM 데이터베이스를 복원하는 데 문제가 있는 경우 이 tar 백업을 사용할 수 있습니다.
패키지 파일의 무결성을 확인하십시오.
# cd /var/lib/rpm
# rm -f __db* # to avoid stale locks
# /usr/lib/rpm/rpmdb_verify Packages
# mv Packages Packages.orig
# /usr/lib/rpm/rpmdb_dump Packages.orig | /usr/lib/rpm/rpmdb_load Packages
# rpm -vv --rebuilddb
RPM 데이터베이스를 다시 확인하십시오.
# cd /var/lib/rpm
# /usr/lib/rpm/rpmdb_verify Packages