Как обновить базу данных rpm/yum?

Как обновить базу данных rpm/yum?

Например, я установил mysql и httpd, но когда я пытаюсь выполнить 'yum update', то yum выдает ошибку, что пакет доступен, но не установлен. Итак, как мне обновить базу данных установленного программного обеспечения?

Эта команда не имеет никакого эффекта:

rpm --rebuilddb

решение1

Если у вас есть система с файлами из установленных пакетов, но с несинхронизированной базой данных RPM, вы можете использовать rpm -ivh --justdb somepackage.rpmдля обновления базы данных RPM без фактической установки чего-либо. Это довольно грязно, однако, и на самом деле, когда вы находитесь в таком состоянии, самое время начать планировать переустановку с нуля.

решение2

Обновить rpmdb вручную невозможно; это необходимо сделать через пакеты.

решение3

Как вы установили httpd и mysql? Похоже, вы сделали это через исходники, в таком случае вы не сможете обновить его с помощью репозитория.

решение4

Здесь определенно есть проблема языкового барьера — остальная часть этой статьи будет предполагать, что вы установили MySQL и Apache через yum, а не из исходного кода, а затем обновление yum перестало работать.

Проверьте (и опубликуйте) остальную часть вывода yum. Если пакет доступен, но не может быть установлен, это обычно означает, что одна из его зависимостей неисправна, что часто случается, если у вас установлены обе версии пакета i386 и x86_64, и вы каким-то образом получаете разные версии. После того, как вы очистите цепочку зависимостей, yum update должен работать нормально.

Связанный контент