CentOS 5.11:yum 安装,但软件包仍然缺失

CentOS 5.11:yum 安装,但软件包仍然缺失

我正在尝试使用 DirectAdmin 解决yum相当旧的 CentOS 5.11 VPS 上的一个非常奇怪的问题。

执行以下命令表明该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某种方式安装了不同的版本。如果我尝试验证我的 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

如果我使用以下命令重建 RPM 数据库:

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 的配置有误,或者我有两个不同版本的 RPM。我该如何诊断问题并最终找到解决方案?

相关内容