同じ名前のPerl Mod用のMySQLクライアントライブラリをインストールしようとしていますが、実行すると
sudo rpm --install -v --allfiles MySQL-client-5.5.16-1.linux2.6.i386.rpm
rpm データベースを照会すると、インストールされたパッケージが表示されますが、lib ファイルは存在しません。
rpm -qa | grep -i mysql
MySQL-client-5.5.16-1.linux2.6
ll /usr/lib/mysql
total 4.0K
4.0K drwxr-xr-x 3 root root 4.0K Oct 11 09:49 plugin/
/usr/lib でこのファイルが見つかりません。
ls -ld /usr/lib/*mysql*
drwxr-xr-x 3 root root 4.0K Oct 11 09:49 /usr/lib/mysql
perlstation:~\ ->
これはrpm -qil MySQL-clientの結果です。
rpm -qil MySQL-client
Name : MySQL-client Relocations: (not relocatable)
Version : 5.5.16 Vendor: Oracle and/or its affiliates
Release : 1.linux2.6 Build Date: Fri 09 Sep 2011 11:27:55 AM CDT
Install Date: Tue 11 Oct 2011 02:38:14 PM CDT Build Host: loki32
Group : Applications/Databases Source RPM: MySQL-5.5.16-1.linux2.6.src.rpm
Size : 53026574 License: Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Under GPL license as shown in the Description field.
Signature : DSA/SHA1, Wed 14 Sep 2011 03:13:49 AM CDT, Key ID 8c718d3b5072e1f5
Packager : MySQL Build Team <[email protected]>
URL : http://www.mysql.com/
Summary : MySQL - Client
Description :
This package contains the standard MySQL clients and administration tools.
For a description of MySQL see the base MySQL RPM or http://www.mysql.com/
/usr/bin/msql2mysql
/usr/bin/mysql
/usr/bin/mysql_find_rows
/usr/bin/mysql_waitpid
/usr/bin/mysqlaccess
/usr/bin/mysqlaccess.conf
/usr/bin/mysqladmin
/usr/bin/mysqlbinlog
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/bin/mysqlimport
/usr/bin/mysqlshow
/usr/bin/mysqlslap
/usr/share/man/man1/msql2mysql.1.gz
/usr/share/man/man1/mysql.1.gz
/usr/share/man/man1/mysql_find_rows.1.gz
/usr/share/man/man1/mysql_waitpid.1.gz
/usr/share/man/man1/mysqlaccess.1.gz
/usr/share/man/man1/mysqladmin.1.gz
/usr/share/man/man1/mysqlbinlog.1.gz
/usr/share/man/man1/mysqlcheck.1.gz
/usr/share/man/man1/mysqldump.1.gz
/usr/share/man/man1/mysqlimport.1.gz
/usr/share/man/man1/mysqlshow.1.gz
/usr/share/man/man1/mysqlslap.1.gz
perlstation:~\ ->
私はここで迷っています。
答え1
あなたは何を見ると予想していますか/usr/lib/mysql
?このディレクトリにはプラグインだけが含まれているようです。 MySQLクライアントライブラリはおそらくパッケージではなく依存ライブラリパッケージに/usr/lib/libmysqlclient.so.*
配置する必要があります。より一般的には、すべての動的ライブラリファイル名は。MySQL-client
MySQL-client
lib
.so
答え2
常にパッケージの依存関係を確認する必要がありますrpm
。 mysql-clientパッケージがインストールされているのと同じディレクトリに別のパッケージをダウンロードしましたか?依存関係の解決自体を提供しないため、rpm
rpmのインストールを簡素化するには、yumなどのツールを使用する必要があります。この場合は、パッケージの依存関係を直接解決するか、ホストでyumを設定し、yumに依存関係を解決してrpmを介してインストールすることをお勧めします。
上記の場合、ファイルはインストールされていないと判断されますが、rpmはそのファイルがインストールされているパッケージにあると主張します。再確認する方法は簡単です。
rpm -ql MySQL-client-5.5.16-1 | xargs ls -ld
すべてのファイルが表示されると、rpmは正しいことを確認し、クライアントパッケージにすべてのファイルがあります。そうでなければ、何かが間違っています。おそらくmysql-clientパッケージが実際にインストールされていますが、一部の不良ユーザーですか? / processこれらのファイルはインストール場所から削除されましたか? 。これは可能かもしれません。この目的のために、rpmはそのまま保証されません。 MySQLクライアントパッケージをパッケージ化して再インストールすることをお勧めしrpmdb
ます。erase
必要に応じて必要なすべての依存関係解決を実行します。
また、これはRPMとは関係ありませんが、Perlでmysqlを使用したい場合は、必ずしもDBI / DBD :: MySQL Perlパッケージに頼る必要はありませんが、代わりにスタンドアロンTsucchiのNet ::を使用できます。 mysqlライブラリにバインドする必要がなく、mysqlのインストールに依存しないMySQL perlパッケージ。 githubでこのパッケージをフォーク/レプリケートすると、Perlで非対話式にmysqlを使用でき、興味がある場合はmysqlシェルとして使用できる小さなスクリプトがあります。フォークされたストレージは次の場所にあります。https://github.com/mnikhil-git/p5-Net-MySQL