
Например, я установил 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 должен работать нормально.