Estou tentando descobrir um problema muito estranho com yum
em um VPS do CentOS 5.11 bastante antigo usando o DirectAdmin.
A execução do seguinte comando sugere que o pacote telnet
esteja instalado:
# yum install telnet
...
Installed:
telnet.x86_64 1:0.17-41.el5
No entanto, telnet
ainda está ausente:
# which telnet
/usr/bin/which: no telnet in (/root/local/node/bin:/usr/local/share/npm/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/share/adt-bundle/tools:/root/share/adt-bundle/platform-tools)
Minha versão do Yum é 3.2.22.
Talvez um indício do que está errado esteja aparente ter versões diferentes de rpm
instaladas de alguma forma. Se eu tentar verificar meu banco de dados RPM, a versão do meu banco de dados parecerá inválida:
# rpm --version
RPM version 4.3.3
# rpm --verify telnet
rpmdb: Program version 4.2 doesn't match environment version
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages index using db3 - Invalid argument (22)
error: cannot open Packages database in /var/lib/rpm
package telnet is not installed
Se eu reconstruir o banco de dados RPM usando o seguinte comando:
rm -rf /var/lib/rpm/__db* && rpm --rebuilddb
Yum apresenta um erro semelhante, mas reclama de uma versão mais recente:
# yum update
Loaded plugins: fastestmirror
rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
A remoção dos arquivos /var/lib/rpm/__db*
faz com que o Yum passe novamente, mas os pacotes instalados ainda parecem estar faltando.
Tenho a sensação de que o Yum está de alguma forma mal configurado ou que tenho duas versões diferentes do RPM. O que posso fazer para diagnosticar o problema para, em última instância, trabalhar com uma resolução?