我已经安装了 Percona Xtradb 服务器,但是为了安装它,我必须删除“mysql-libs.x86_64”包,现在我无法安装任何依赖于它的包(postfix、Nagios mysql 插件等)。
# yum install postfix
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirror.mhd.uk.as44574.net
* epel: mirror01.th.ifl.net
* extras: mirror.mhd.uk.as44574.net
* updates: mirror.mhd.uk.as44574.net
77 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postfix.x86_64 2:2.6.6-2.2.el6_1 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: 2:postfix-2.6.6-2.2.el6_1.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: 2:postfix-2.6.6-2.2.el6_1.x86_64
--> Running transaction check
---> Package Percona-Server-shared-51.x86_64 0:5.1.62-rel13.3.435.rhel6 will be installed
--> Processing Conflict: 1:Percona-XtraDB-Cluster-shared-5.5.23-23.5.333.rhel6.x86_64 conflicts Percona-Server-shared-51
--> Finished Dependency Resolution
Error: Percona-XtraDB-Cluster-shared conflicts with Percona-Server-shared-51
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我已检查过,“Percona-XtraDB-Cluster-shared”包提供了较新的库 .18,但 Postfix 需要 .16。对此最好的解决方案是什么?
# rpm -ql Percona-XtraDB-Cluster-shared
/usr/lib64/libmysqlclient.so
/usr/lib64/libmysqlclient.so.18
/usr/lib64/libmysqlclient.so.18.0.0
/usr/lib64/libmysqlclient_r.so
/usr/lib64/libmysqlclient_r.so.18
/usr/lib64/libmysqlclient_r.so.18.0.0
问候
答案1
您需要安装 shared-compat 包。这将提供您的发行版所需的 libmysql。如果您也运行来自 Mysql 的最新 RPM,则工作原理相同。
答案2
打包这些Percona-*
包的人搞砸了。这些*.so
文件应该放在单独的-devel
包中,这样就不会发生冲突,这意味着Conflicts
可以从 spec 文件中删除相应的标签。