我正在尝试将MySQL从4.1.20升级到5.1.39。 v4.1是通过RPM安装的,没有问题,但是尝试升级会抛出一些错误的警告,例如:
#rpm - 升级MySQL-client-5.1.39-0.glibc23.i386.rpm 警告:MySQL-client-5.1.39-0.glibc23.i386.rpm:V3 DSA签名:NOKEY,密钥ID 5072e1f5 错误:失败的依赖关系: MySQL-client-5.1.39-0.glibc23需要libncursesw.so.5 #
即使我已经安装在/usr/lib/libncurses.so.5
我也得到:
#rpm - 升级MySQL-server-5.1.39-0.glibc23.i386.rpm
警告:MySQL-server-5.1.39-0.glibc23.i386.rpm:V3 DSA签名:NOKEY,密钥ID 5072e1f5
错误:失败的依赖关系:
MySQL-server-5.1.39-0.glibc23需要perl(DBI)
#
即使报告的版本是1.609:
#perl -M'DBI 999'-e1 需要DBI版本999 - 这只是版本1.609。
我怎样才能让RPM看到他们安装? 或者现在是恢复从源代码构build的时候了?
编辑:为了logging,这是一个相当古老的红帽盒(i686,虽然我正在尝试i386 RPMs)
一些问题/评论:
libncursesw.so.5 != libncurses.so.5 rpm -qf /usr/lib/libncurses.so.5的结果是rpm -qf /usr/lib/libncurses.so.5 ? 这将显示你从哪里得到你的libncurses.so.5文件。 然后可以使用rpm -qlv <PKG>来检查libncursesw.so.5的这个包的内容。 你的依赖数据库搞砸了。
如果使用百胜尝试:
yum clean all
如果不是,请尝试:
rpm --rebuilddb
如果仍然失败,您可以尝试手动重build数据库:
http://www.informatimago.com/linux/rpm-rebuilddb.html
免责声明:我没有testing这个howto的步骤,就像你在网上find的任何东西一样,谨慎行事。 可能有部分步骤与现代版本的rpm工具集过时了。
如果你使用的是CentOS或RedHat,我build议使用rackspace的iuscommunity存储库中的 mysql包。 你可以find最新版本的MySQL(5.1.39),它们非常稳定。