如何找到 Centos 中安装了哪个版本的 libmysqlclient?

bla*_*arg 6 version libraries centos

我有一个自定义 exe 提供给我,但要安装它,我需要旧版本的 libmysqlclient。如何查看安装了哪个版本?

slm*_*slm 5

可能未安装软件包

当人们向您提供此类信息时,您需要确保您符合实际情况。该名称libmysqlclient是作为此包的一部分的共享库文件的名称mysql-libs,通常为 。

您可以使用repoquery来查找相应的包来启动:

$ repoquery --whatprovides *libmysqlclient*
mysql-libs-0:5.1.71-1.el6.x86_64
mysql-devel-0:5.1.71-1.el6.x86_64
mysql-libs-0:5.1.71-1.el6.i686
mysql-devel-0:5.1.71-1.el6.i686
abi-compliance-checker-0:1.99.8.5-1.el6.noarch
Run Code Online (Sandbox Code Playgroud)

如果您了解包的命名方式,那么作为.so“库”的文件-libs经常出现在包中。

$ repoquery -l mysql-libs-0:5.1.71-1.el6.x86_64 | head -9
/etc/ld.so.conf.d/mysql-x86_64.conf
/etc/my.cnf
/usr/lib64/mysql
/usr/lib64/mysql/libmysqlclient.so.16
/usr/lib64/mysql/libmysqlclient.so.16.0.0
/usr/lib64/mysql/libmysqlclient_r.so.16
/usr/lib64/mysql/libmysqlclient_r.so.16.0.0
/usr/share/doc/mysql-libs-5.1.71
/usr/share/doc/mysql-libs-5.1.71/COPYING
...
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到你正在询问的文件,libmysqlclient. 所以你可以看到这个特定的包会为你提供.so.16.

包已经安装

如果这些文件已经安装在系统上并且您知道这libmysqlclient是一个文件,那么您可以查看 RPM 以获取以下信息:

$ rpm -q --whatprovides /usr/lib64/mysql/libmysqlclient.so.16
Run Code Online (Sandbox Code Playgroud)

但这需要您知道此文件所在的位置。因此,您可以使用yum“搜索”来代替它:

$ yum whatprovides "*libmysqlclient*"
Run Code Online (Sandbox Code Playgroud)