![重新安装yum与之前版本冲突但yum不可用](https://linux22.com/image/137653/%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85yum%E4%B8%8E%E4%B9%8B%E5%89%8D%E7%89%88%E6%9C%AC%E5%86%B2%E7%AA%81%E4%BD%86yum%E4%B8%8D%E5%8F%AF%E7%94%A8.png)
我正在使用以下命令重新安装 yum:
sudo rpm -ivh yum-3.4.3-158.el7.centos.noarch.rpm
我遇到了很多这种类型的冲突:
file /usr/share/yum-cli/yummain.py from install of yum-3.4.3-158.el7.centos.noarch conflicts with file from package yum-3.4.3-154.el7.centos.noarch
我知道 yum 一定是之前使用yum-3.4.3-154.el7.centos.noarch
package 安装的,但我的系统没有任何 yum。
当我在 shell 中输入 yum 时,它没有找到它。这是我的后续行动上一个问题。我知道系统中缺少 yum,但是现在我应该如何安装它呢?
编辑:
我尝试在 shell 中sudo rpm -Uvh yum-3.4.3-158.el7.centos.noarch.rpm
输入。yum
它没有安装:
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.14 |Anaconda, Inc.| (default, Mar 27 2018, 17:29:31)
[GCC 7.2.0]
答案1
如果您收到此错误:
执行 yum 更新会导致错误“没有名为 yum 的模块”
这通常是 YUM 需要的模块的 Python 问题。要解决这个问题:
$ sudo -Es
$ unset PYTHONHOME
然后重新安装python:
$ rpm -Uvh --replacefiles --replacepkgs python-<version>.rpm
access.redhat.com 的文章涵盖了整个主题:为什么 yum 在系统上失败并出现“没有名为 yum 的模块”错误?。
根本原因
PYTHONHOME
变量已设置为系统上的环境变量。- Python 库/文件被修改,可以从
rpm -Va
命令的输出中观察到。- 第三方 python 模块安装在系统上,可在“ldd /usr/bin/python”命令的输出中找到。
- 软件包 rpm-python* 未安装。