Я пытаюсь обновить MySQL с 4.1.20 до 5.1.39. v4.1 была установлена через RPM без проблем, но при попытке обновления выдает несколько ошибочных предупреждений, например:
# rpm --upgrade MySQL-client-5.1.39-0.glibc23.i386.rpm warning: MySQL-client-5.1.39-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 error: Failed dependencies: libncursesw.so.5 is needed by MySQL-client-5.1.39-0.glibc23 #
Хотя он у меня установлен в /usr/lib/libncurses.so.5
Я также получаю:
# rpm --upgrade MySQL-server-5.1.39-0.glibc23.i386.rpm warning: MySQL-server-5.1.39-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 error: Failed dependencies: perl(DBI) is needed by MySQL-server-5.1.39-0.glibc23 #
хотя заявленная версия - 1.609:
# perl -M'DBI 999' -e1 DBI version 999 required--this is only version 1.609.
Как я могу заставить RPM увидеть, что они установлены? Или пришло время вернуться к построению из исходников?
РЕДАКТИРОВАТЬ: Для справки, это довольно старая коробка Redhat (i686, хотя я пробовал RPM i386)
Некоторые вопросы / комментарии:
libncursesw.so.5
знак равно libncurses.so.5
rpm -qf /usr/lib/libncurses.so.5
? Это будет показано, откуда у вас есть файл libncurses.so.5. Затем вы можете использовать rpm -qlv <PKG>
чтобы проверить содержимое этого пакета на предмет libncursesw.so.5
.Если вы используете CentOS или RedHat, я бы рекомендовал использовать пакеты mysql из rackspace's репозиторий iuscommunity. Вы можете найти самые последние версии mysql (5.1.39), и они очень стабильны.
Ваша база данных зависимостей испорчена.
Если вы используете yum, попробуйте:
yum clean all
Если нет, попробуйте:
rpm --rebuilddb
Если это все еще не удается, вы можете попробовать перестроить БД вручную:
http://www.informatimago.com/linux/rpm-rebuilddb.html
Отказ от ответственности: я не тестировал действия, описанные в этом руководстве, поэтому, как и все, что вы найдете в сети, действуйте с осторожностью. Некоторые шаги могут быть устаревшими в современных версиях набора инструментов rpm.