با سلام و احترام
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
موفق و پیروز.
تیم پشتیبانی پارس سیف