删除了自带python,使用yum报错bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

在尝试卸载CentOS自带的Python2并重新安装Python3后,遇到了yum无法使用的错误。通过从ISO文件或下载RPM包,按照特定顺序重新安装python及相关依赖,最终成功修复yum。

想安装Python3,因为Centos 自带Python2,想要果断卸载掉,导致yum无法使用。

前期准备:

卸载python:

rpm -qa|grep python|xargs rpm -e --allmatches --nodeps

whereis python|xargs rm -fr

卸载yum:

rpm -qa|grep yum|xargs rpm -e --allmatches --nodeps

rm -rf /etc/yum.repos.d/*

whereis yum|xargs rm -fr

1).找到原来的安装iso文件,将其中的python和yum相关文件都提取出来放到linux中(备用:去http://rpm.pbone.net/ 这个地方搜索对应的rpm安装包下载)

   

2) 通过“search”搜索以下RPM包(主要是Python 2.7.5 以及依赖项):

python-libs-2.7.5-76.el7.x86_64.rpm

python-2.7.5-76.el7.x86_64.rpm

python-devel-2.7.5-76.el7.x86_64.rpm

python-iniparse-0.4-9.el7.noarch.rpm

python-pycurl-7.19.0-19.el7.x86_64.rpm

python-urlgrabber-3.10-9.el7.noarch.rpm

rpm-python-4.11.3-35.el7.x86_64.rpm

yum-metadata-parser-1.1.4-10.el7.rpm

yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm

yum-3.4.3-161.el7.centos.noarch.rpm


3) 接下来rpm -ivh  rpm包名称进行安装 (注意:rpm包安装顺序, 如果发现“已经安装,包依赖冲突”):

       1、包依赖冲突解决:rpm -e 包名称 --nodeps

       2、安装顺序一定要按照上面的顺序来一个个安装(最后两个一定要一起安装,如下

 rpm -ivh yum-3.4.3-161.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm

使用yum命令出现如下表示说明安装完成!

[root@2019UP yum]# yum
Loaded plugins: fastestmirror
You need to give some command
Usage: yum [options] COMMAND

终于解毒 ^(* ̄(oo) ̄)^

 

### 问题分析 执行 `yum` 命令时出现如下错误: ``` -bash: /usr/bin/yum: /usr/bin/python3.9.9: bad interpreter: No such file or directory ``` 该错误表明系统尝试使用 `/usr/bin/python3.9.9` 作为 `yum` 的解释器,但该路径下不存在有效的 Python执行文件。这通常是由于 `/usr/bin/yum` 脚本的第一行指定了错误的 Python 解释器路径,或者该路径下的 Python 已被删除或替换[^1]。 ### 解决方案 #### 1. 检查当前系统中可用的 Python 版本 使用以下命令查看系统中已安装的 Python执行文件: ```bash whereis python ``` 如果输出中包含类似 `/usr/bin/python3.9` 或 `/usr/bin/python2.7`,则说明系统中存在可用的 Python 解释器[^2]。 #### 2. 修改 `/usr/bin/yum` 的解释器路径 编辑 `/usr/bin/yum` 文件,将第一行的 `#!/usr/bin/python3.9.9` 修改为系统中实际存在的 Python 路径,例如: ```bash sudo vi /usr/bin/yum ``` 修改后的内容如下: ```python #!/usr/bin/python3.9 ``` 保存并退出编辑器。 #### 3. 检查 Python 软链接 如果系统中没有 `/usr/bin/python` 软链接,或者软链接指向的 Python 版本不存在,可手动创建指向可用 Python 的软链接: ```bash sudo ln -s /usr/bin/python3.9 /usr/bin/python ``` 确保该软链接指向的 Python执行文件确实存在,否则仍然会报错[^4]。 #### 4. 验证 `yum` 是否正常运行 执行以下命令验证 `yum` 是否可以正常调用: ```bash yum --version ``` 如果输出显示 `yum` 的版本信息,则表示问题已解决。 #### 5. 替代方案:使用 `dnf` 在较新的基于 RPM 的 Linux 系统中(如 Fedora、RHEL 8+),建议使用 `dnf` 替代 `yum`,因为 `dnf` 是 `yum` 的下一代版本,且对 Python 3 支持更好。可以尝试直接使用 `dnf` 命令进行软件包管理: ```bash dnf install <package-name> ``` ### 相关问题 1. 如何查看系统中已安装的 Python 版本? 2. 如何修改脚本的解释器路径? 3. Python 的软链接损坏会导致哪些问题? 4. 为什么 `yum` 不支持 Python 3? 5. 如何在没有 `yum` 的情况下安装软件包?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值