بازسازی دیتابیس خراب شده RPM ها در سرور های Centos

با سلام و احترام

rpm ها هسته اصلی سیستم های لینوکسی می باشند . زمانی که شما یک نرم افزار را بر روی سرور نصب می کنید نام نرم افزار و اطلاعات آن در دیتابیس rpm ها ذخیره می شود تا بعدا اگر نیاز به نصب مجدد بود یا بروزرسانی بتوانید انجام دهید.

بعضی اوقات دیتابیس کرش می کند و باعث می شود دستورات yum و rpm کار نکنند

بصورت مثال در صورتی که مشکل فوق رخ دهد خروجی دستور yum یا rpm -qa شبیه زیر است:

error: rpmdb: BDB0113 Thread/process 69833/140600081262400 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

با در سی پنل پیغام زیر را مشاهده خواهید کرد:

ERROR: The system cannot update the /var/cpanel/sysinfo.config file because it cannot determine your distribution's major version. Run the following command: rpm -qf --queryformat '%{VERSION}\n' /etc/redhat-release Output other than the numbers 6 or 7 indicates a problem. Open a support ticket or resolve the issue manually. 

برای حل مشکل فوق ابتدا از دیتابیس قبلی و لیست پکیج ها کپی تهیه کنید:

mkdir /backups/
tar -zcvf /backups/rpmdb-$(date +"%d%m%Y").tar.gz  /var/lib/rpm

سپس دیتابیس قبلی را حذف نمایید:

rm -f /var/lib/rpm/__db*		

سپس دیتابیس را rebuild کنید:

rpm -vv --rebuilddb

موفق و پیروز.

تیم پشتیبانی پارس سیف

آیا این پاسخ مفید بود؟ 0 کاربر این مقاله را مفید می دانند (0 رای)