[unix] yum 오류 : rpmmdb 열기 실패

실행하려고 하는데이 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일했다.


답변