解决CentOS 7 yum install 出现 No such file or directory 错误的方案

CentOS 7 yum install之后 出现No such file or directory错误的解决方案:

[root@centos7 ~]# yum install -y git
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax

[root@centos7 ~]# yum
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

yum找不到/usr/bin/python。正常情况,应该是这个样子: 

 

[root@centos7 ~]# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Jul  9 11:08 /usr/bin/python -> python2
[root@centos7 ~]#

CentOS7 应该使用 python2,而不是 python3 来执行 yum

可能 默认 python 版本已更改为 python3

查看Python2位置 

[root@centos7 ~]# which python2
/usr/bin/python2

如果python2本身仍然存在,但/usr/bin/python符号链接丢失或者指向Python3,可以使用以下方法恢复: 

[root@centos7 ~]# cd /usr/bin
[root@centos7 bin]# ln -s python2 python
[root@centos7 bin]# ls -l python
lrwxrwxrwx. 1 root root 7 Jul  9 11:10 python -> python2
[root@centos7 bin]#

 

### 问题分析 在 CentOS 7 系统中,当使用 `sudo yum install` 命令时提示如下错误: ``` unable to execute /bin/yum: No such file or directory ``` 此错误通常与 Python 的版本或配置有关。YUM(Yellowdog Updater Modified)是一个基于 Python 的包管理工具,在 CentOS 7 中默认要求使用 **Python 2.x** 来运行。如果系统中的 Python 版本被更改或者 `/usr/bin/python` 软链接指向了 Python 3.x,则会导致 YUM 无法正常执行。 ### 解决方案 1. **检查当前 Python 版本和软链接** 首先确认系统的 Python 默认版本是否已被修改: ```bash python --version ``` 检查 `/usr/bin/python` 是否指向了 Python 3.x: ```bash ls -l /usr/bin/python ``` 如果输出类似于以下内容,则表示当前默认的 Python 是 3.x: ``` lrwxrwxrwx 1 root root 9 Jan 1 00:00 /usr/bin/python -> python3.6 ``` 2. **恢复 `/usr/bin/python` 软链接至 Python 2.x** 将 `/usr/bin/python` 指向 Python 2.x 版本(如 Python 2.7): ```bash sudo rm /usr/bin/python sudo ln -s /usr/bin/python2.7 /usr/bin/python ``` 3. **修改 YUM 相关脚本的解释器路径** 因为 YUM 及其相关组件依赖于 Python 2.x,需要确保所有 YUM 脚本使用的是 Python 2.x 解释器。编辑以下三个文件,将首行的 `#!/usr/bin/python` 修改为 `#!/usr/bin/python2`: ```bash sudo sed -i '1s/python$/python2/' /usr/bin/yum sudo sed -i '1s/python$/python2/' /usr/libexec/urlgrabber-ext-down sudo sed -i '1s/python$/python2/' /usr/bin/yum-config-manager ``` 4. **验证修复结果** 再次尝试运行 YUM 命令以确认问题是否已解决: ```bash sudo yum install <package-name> ``` ### 补充说明 - 如果用户已经安装了 Python 3 并希望保留 `/usr/bin/python` 指向 Python 3 的设置,则应避免全局更改软链接,而是在每个涉及 YUM 的脚本中显式指定使用 Python 2.x。 - 若系统中未安装 Python 2.x,可以通过以下命令重新安装: ```bash sudo yum install python2 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值