Как решить ошибку «Ошибка: ошибка открытия rpmdb» в CentOS
Сегодня я тестировал веб-сервер Nginx на виртуальной машине CentOS 7. К сожалению, в середине процесса обновления отключилось питание. Поскольку у меня нет ИБП, моя хост-система сразу же вышла из строя. Через несколько минут появилось питание, я снова включил виртуальную машину и начал процесс обновления. Когда я запускаю команду «yum update», я получаю следующее сообщение об ошибке:
error: rpmdb: BDB0113 Thread/process 2196/139984719730496 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
Кажется, YUM сломался. Я не мог запустить ни одну команду yum. Раньше я не сталкивался с этой ошибкой и не знал, что делать. Итак, я направился на форум CentOS в надежде найти подходящее решение для решения этой проблемы. После нескольких поисков по форуму, к счастью, я нашел обходной путь. Если вы когда-нибудь столкнулись с этой проблемой, не ищите никуда и просто выполните следующие шаги.
Сначала создайте резервную копию базы данных rpm, используя команду от имени пользователя root:
mv /var/lib/rpm/__db* /tmp
Затем выполните следующую команду:
yum clean all
Теперь запустите обновление еще раз:
# yum update
Loaded plugins: fastestmirror
Cleaning repos: base epel extras updates
Cleaning up everything
Cleaning up list of fastest mirrors
[root@server ~]# yum update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00
epel/x86_64/metalink | 5.0 kB 00:00
epel | 4.3 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
(1/7): base/7/x86_64/group_gz | 155 kB 00:02
(2/7): epel/x86_64/group_gz | 170 kB 00:04
(3/7): extras/7/x86_64/primary_db | 191 kB 00:12
(4/7): epel/x86_64/updateinfo | 809 kB 00:21
(5/7): base/7/x86_64/primary_db | 5.6 MB 00:26
(6/7): epel/x86_64/primary_db | 4.8 MB 00:46
(7/7): updates/7/x86_64/primary_db | 7.8 MB 00:50
Determining fastest mirrors
* base: mirror.ehost.vn
* epel: repo.ugm.ac.id
* extras: mirror.ehost.vn
* updates: mirror.dhakacom.com
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.4.0-19.el7_3 will be updated
---> Package NetworkManager.x86_64 1:1.4.0-20.el7_3 will be an update
---> Package NetworkManager-adsl.x86_64 1:1.4.0-19.el7_3 will be updated
[...]
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
kernel x86_64 3.10.0-514.26.2.el7 updates 37 M
python2-libcomps x86_64 0.1.8-3.el7 epel 46 k
replacing python-libcomps.x86_64 0.1.6-13.el7
Updating:
NetworkManager x86_64 1:1.4.0-20.el7_3 updates 2.5 M
NetworkManager-adsl x86_64 1:1.4.0-20.el7_3 updates 146 k
NetworkManager-bluetooth x86_64 1:1.4.0-20.el7_3 updates 165 k
NetworkManager-glib x86_64 1:1.4.0-20.el7_3 updates 385 k
NetworkManager-libnm x86_64 1:1.4.0-20.el7_3 updates 443 k
NetworkManager-team x86_64 1:1.4.0-20.el7_3 updates 147 k
python-perf x86_64 3.10.0-514.26.2.el7 updates 4.0 M
sudo x86_64 1.8.6p7-23.el7_3 updates 735 k
systemd x86_64 219-30.el7_3.9 updates 5.2 M
systemd-libs x86_64 219-30.el7_3.9 updates 369 k
systemd-sysv x86_64 219-30.el7_3.9 updates 64 k
tuned noarch 2.7.1-3.el7_3.2 updates 210 k
xfsprogs x86_64 4.5.0-10.el7_3 updates 895 k
Removing:
kernel x86_64 3.10.0-123.el7 @anaconda 127 M
Transaction Summary
================================================================================
Install 2 Packages
Upgrade 46 Packages
Remove 1 Package
Total download size: 84 M
Is this ok [y/d/N]: y
Я набираю y, чтобы продолжить обновление. Вуаля! Все работает так, как ожидалось.
Наконец, я очистил резервную копию с помощью команды:
rm -i /tmp/__db*
И это все на данный момент. Надеюсь это поможет.
Связанное чтение:
- [Решено] — «ошибка: rpmdbNextIterator: пропуск» в Fedora Linux