我想用一个相当古老的CentOS 5.11 VPS使用DirectAdmin来找出一个很奇怪的问题。
执行以下命令build议安装telnet软件包:
# yum install telnet ... Installed: telnet.x86_64 1:0.17-41.el5
但是, telnet仍然丢失:
# 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)
我的Yum版本是3.2.22。
也许一个错误的提示是,我似乎有不同版本的rpm安装。 如果我试图validation我的RPM数据库,我的数据库版本显示无效:
# 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
如果我使用以下命令重buildRPM数据库:
rm -rf /var/lib/rpm/__db* && rpm --rebuilddb
Yum给出了一个类似的错误,但抱怨一个较新的版本:
# 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
删除/var/lib/rpm/__db*文件会让Yum再次遇到这种情况,但安装的软件包仍然显示为丢失。
我觉得Yum在某种程度上configuration不正确,或者我有两个不同版本的RPM。 我能做些什么来诊断问题,最终解决问题?