Назад | Перейти на главную страницу

База данных RPM повреждена

Некоторое время назад мне удалось стереть папку / var / lib / rpm, которая в основном содержит информацию обо всех rpms в системе.

Проблема заключается в том, что я не могу запрашивать или обновлять с помощью yum

Я выполнил шаги, упомянутые как rpm --rebuild и все это, но это не помогло

Мне просто интересно узнать о методе, с помощью которого мы можем восстановить базу данных установленных rpm-пакетов.

Я говорю «любопытство», потому что и без него сервер работает нормально !!!

Надеюсь, никто не делает этого в любое время ... Я потерял много дней сна из-за этого

Заранее спасибо за то, что прочитали этот пост и подумали о решении

С уважением

амрит

Ваш единственный шанс, если эта система достаточно важна, - это переустановить только на db:

rpm -Uvh --justdb <package>

Вы можете использовать ваши /root/install.log и /var/log/yum.log, чтобы получить список установленных RPM, или, если у вас есть аналогичная система, вы можете получить список RPM оттуда.

Тем не менее, если эта система может простоять, я бы посоветовал переустановить ее как лучший способ. В противном случае см. Комментарий выше.

Удачи

Изменить: я неправильно прочитал - если вы удалили весь каталог / var / lib / rpm, вы немного запутались.

Вы сказали, что уже сделали этот первый шаг, но для справки в будущем (и для всех, кто сталкивается с этим)

Удалить /var/lib/rpm/__db.*

затем

rpmdb –rebuilddb

На самом деле это не имеет большого значения, ваша система не залита шлангом. Просто запустите вышеуказанные команды, и вы должны вернуться к работе.

Если вы сохранили резервную копию, возможно, вы сможете ее восстановить. В противном случае вы стерли единственную копию базы данных RPM. (The rpm --rebuilddb команда восстанавливает некоторые файлы в этом каталоге из других.) Ваша система в основном закрыта.

Я никогда не пробовал, но вы можете попробовать создать новую пустую базу данных RPM (скопировать из новой установки?) И переустановить все установленные пакеты в текущих установленных версиях. Вы можете заглянуть в свои журналы rpm (или, возможно, yum, если вы его используете), чтобы определить установленные пакеты.