意外删除的python和yum在centos7中不起作用


12

我是Linux的新手,正试图删除python,所以我可以从头开始安装它。除了删除/ usr / local / bin /中的python文件,我还删除了这些文件:

/usr/bin/python
/usr/bin/python2.7
/usr/lib/python2.7
/usr/lib64/python2.7
/etc/python
/usr/include/python2.7
/usr/share/man/man1/python.1.gz
/usr/src/Python-3.7.3/python

现在,每当我尝试使用yum时,我都会得到:

-bash:/ usr / bin / yum:/ usr / bin / python:错误的解释器:没有这样的文件或目录

有什么办法可以解决此问题,还是我唯一希望重新安装centos7?

如果是后者,该如何在没有物理访问权限的远程服务器上执行此操作?


12
“我是Linux新手,正在尝试删除python,所以我可以从头开始安装它” - 从头开始安装Python可能仍然是错误的处理方式;删除发行版2.7 绝对是错误的方法。考虑您的包管理器合作而不是与之对抗。
marcelm

4
这是针对Debian而非CentOS的,但建议也适用于其他发行版:不要破坏Debian
乔纳森·莱因哈特

3
删除任何来自全新安装的软件包(特别是如果您进行的是最小安装)会破坏发行版。大多数Linux发行版都没有那么大的膨胀……它不像预装了Candy Crush的Windows10或类似的东西。
Giacomo Alzetta

4
在大多数linux版本中,系统都使用Python 2作为脚本语言来自动执行各种操作。通过删除python,您已经看到了自己所在的分支。完全重新安装linux可能是最安全的。对于在Linux中安装python的用户,通常建议在linux中使用python虚拟环境,这样可以使用户python与系统python完全分开。它的优点是您可以安装多个单独的python版本,并且只需要用户级别(而不是sudo)即可维护/扩展它们。
Neil_UK

Answers:


21

您可以简单地下载软件包并使用再次安装它们rpm,而无需在系统上安装python并且不会损坏yum

查找您已安装的版本

rpm -qf /usr/bin/python

然后找到一个下载URL,然后一次性下载或安装:

rpm --reinstall -v http://mirror.centos.org/centos-7/7/updates/x86_64/Packages/python-2.7.5-80.el7_6.x86_64.rpm

感谢您的回答。我最终在具有相同版本的VM上安装了Centos。并将所有已删除的文件复制到我的服务器上。百胜似乎到目前为止仍在工作,但不确定是否已完全修复损坏。
jdhash

@jdhash Yum到目前为止似乎仍在工作,但不确定是否已完全修复损坏。 这就是为什么您永远不会弄乱作为OS /发行版一部分安装的软件的原因之一。
安德鲁·亨利

1
我要说的是,重新安装原始系统是确保您已彻底清理干净的唯一方法。诸如从其他系统复制文件之类的创可贴将继续消失,因为打包系统认为缺少某些东西,但事实并非如此。元数据仍然与所安装的内容不一致。
小鸡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.