Precisa instalar bibliotecas do MySQL Client, mas o RPM não as instala

0

Estou tentando instalar as bibliotecas do cliente MySQL para o Perl Mod com o mesmo nome, mas quando eu executo

sudo rpm --install -v --allfiles MySQL-client-5.5.16-1.linux2.6.i386.rpm

e consultando o banco de dados rpm mostra o pacote instalado, mas os arquivos lib não estão lá.

 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/

Não estou encontrando os arquivos em / usr / lib

ls -ld /usr/lib/*mysql*
drwxr-xr-x 3 root root 4.0K Oct 11 09:49 /usr/lib/mysql
perlstation:~\ ->

Aqui estão os resultados do 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:~\ ->

Eu estou perdido aqui.

    
por phileas fogg 11.10.2011 / 21:40

2 respostas

3

O que você esperava ver em /usr/lib/mysql ? Esse diretório parece conter apenas plug-ins. A biblioteca cliente do MySQL é /usr/lib/libmysqlclient.so.* . Deveria estar lá; provavelmente não do pacote MySQL-client , mas de um pacote de biblioteca em que MySQL-client depende. Mais geralmente, todos os nomes de arquivos de bibliotecas dinâmicas começam com lib e terminam com .so .

    
por 12.10.2011 / 01:56
0

É sempre necessário verificar as dependências do pacote com rpm . Você tem os outros pacotes baixados no mesmo diretório onde o pacote mysql-client está sendo instalado. Como rpm não oferece resolução de dependência, é necessário que ferramentas como o yum tenham entrado em cena para facilitar a instalação do rpms. Em caso afirmativo, sugiro resolver a dependência do pacote, ou melhor, ter o yum configurado no host e deixar que você assuma o fardo da resolução de dependências e instalá-los por meio do rpm.

Em seu caso acima, se você realmente está vendo que seus arquivos não estão instalados enquanto o rpm afirma que os arquivos estão presentes no pacote que está instalado. Um método simples para verificar novamente seria.

rpm -ql MySQL-client-5.5.16-1 | xargs ls -ld

Se você está vendo todos os arquivos presentes, então o rpm está certo que você tem todos os arquivos presentes do pacote do cliente. Se não, então há algo errado, pode ser que o pacote mysql-client tenha sido realmente instalado, mas algum usuário / processo desonesto tenha apagado esses arquivos de seu local de instalação ?. Pode ser possível. Para o qual, o rpm não garante, pois tudo verifica e faz referência a partir de seu rpmdb . Gostaria de sugerir para erase o pacote e reinstalar o pacote do cliente MySQL. Execute todas as resoluções de dependência necessárias, conforme necessário.

Além disso, isso não está relacionado ao RPM, mas caso você pretenda usar o mysql do perl, você não precisa necessariamente depender dos pacotes DBI / DBD :: MySQL perl, em vez disso você pode usar o perl independente do Tsucchi: pacote, que não tem a necessidade de se ligar a bibliotecas mysql nem depende da instalação do mysql em qualquer pasta. Apenas bifurque / clone este pacote do github e está tudo pronto para usar o mysql do perl não interativamente, também existe um pequeno script que funciona como shell do mysql caso você esteja interessado. O repositório bifurcado está em link

    
por 14.01.2012 / 11:53