실행하려고 하는데이 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
동일한 오류가 발생합니다.
이 문제를 어떻게 해결할 수 있습니까?
답변
이것이 내가 문제를 해결 한 방법입니다.
이것은 매우 지저분한 상황입니다. 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
답변
고마워 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*
답변
나는 위의 것을 시도했지만 작동하지 않았다.
아래는 잘 작동합니다
# 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
답변
“.lock”확장자를 가진 두 개의 파일과 “__db”로 시작한 세 개의 파일을 삭제하기 만하면됩니다.
# rm /var/lib/rpm/.dbenv.lock
# rm /var/lib/rpm/.rpm.lock
# rm /var/lib/rpm/__db*
그 후 yum update
일했다.