本文介绍在CentOS 7系统的ECS实例中,执行yum命令提示“-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory”错误的解决方案。
问题现象
在CentOS 7系统的ECS实例中执行yum
命令时,提示以下报错信息。
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
问题原因
可能是由于Python异常(Python被卸载、改名或移动路径),导致执行yum
命令时报错。
yum
( Yellow dog Updater, Modified)是一个在Fedora、RedHat以及SUSE中的Shell前端软件包管理器。
解决方案
请参考以下操作,排查Python是否异常并修复。
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行以下命令,查看
yum
路径。which yum
系统返回如下信息,表示
yum
路径为/usr/bin/yum
。/usr/bin/yum
执行以下命令,查看
yum
内容。cat /usr/bin/yum
系统返回以下信息,表示使用的Python版本路径。
#!/usr/bin/python
说明本文以
/usr/bin/python
路径为示例,请根据实际情况更换实际路径。执行以下命令,检查上述查看的路径。
ls -al /usr/bin/python
如果系统返回类似以下信息,则表示Python可能被卸载、改名或移动路径。
ls: cannot access /usr/bin/python: No such file or directory
执行以下命令,查看Python相关文件是否存在。
rpm -qa | grep python
正常情况下,系统返回类似以下信息。
python-decorator-3.4.0-3.el7.noarch libselinux-python-2.5-14.1.el7.x86_64 python-backports-1.0-8.el7.x86_64 python-pyudev-0.15-9.el7.noarch rpm-python-4.11.3-35.el7.x86_64 python-2.7.5-76.el7.x86_64 .....
Python相关文件存在:说明Python相关文件被改名或移动路径。
执行以下命令,查看Python相关文件。
ls -al /usr/bin/python*
系统返回类似以下信息,提示“
/usr/bin/python.bak -> python2
”,则表示Python名称已被更改。lrwxrwxrwx 1 root root 14 Feb 15 2019 /usr/bin/python-config -> python2-config lrwxrwxrwx. 1 root root 7 Feb 15 2019 /usr/bin/python.bak -> python2 lrwxrwxrwx. 1 root root 9 Feb 15 2019 /usr/bin/python2 -> python2.7 lrwxrwxrwx 1 root root 16 Feb 15 2019 /usr/bin/python2-config -> python2.7-config -rwxr-xr-x. 1 root root 7216 Oct 31 2018 /usr/bin/python2.7 -rwxr-xr-x 1 root root 1835 Oct 31 2018 /usr/bin/python2.7-config
执行以下命令,将
/usr/bin/python.bak
名称改为/usr/bin/python
。mv /usr/bin/python.bak /usr/bin/python
重新执行
yum
命令,若不再提示以上报错信息,则表示问题已修复。