web-dev-qa-db-ja.com

Centosにインストールされているlibmysqlclientのバージョンを確認するにはどうすればよいですか?

カスタムexeが提供されていますが、インストールするには、古いバージョンのlibmysqlclientが必要です。インストールされているバージョンを確認するにはどうすればよいですか?

5
blarg

パッケージがインストールされていない可能性があります

人々があなたにこのような情報を提供するとき、あなたはそれが実際に何であるかを修飾することを確認する必要があります。名前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

パッケージの命名方法を理解している場合は、.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
...

ここで、あなたが質問しているファイルlibmysqlclientを見ることができます。したがって、この特定のパッケージが.so.16

パッケージはすでにインストールされています

ファイルがすでにシステムにインストールされていて、libmysqlclientがファイルであることがわかっている場合は、RPMでこの情報を確認できます。

$ rpm -q --whatprovides /usr/lib64/mysql/libmysqlclient.so.16

ただし、これには、このファイルがどこにあるかを知る必要があります。したがって、代わりにyumを使用して「検索」できます。

$ yum whatprovides "*libmysqlclient*"
4
slm

最も簡単な方法は、RPMにバージョンrpm -q mysql-develを問い合わせることです。

yum info mysql-develを使用することもできます。

ライブラリ自体のABIバージョンが必要な場合は、ls /usr/lib64/mysql/libmysqlclient*のように言う必要があります。たとえば、CentOS 6にはABIバージョン16ライブラリが付属しています。 32ビットシステムでは、lib64ではなくlibを使用してください。

2
Netherwolf