centos 7.5.1804, 把自带的 python2.7.5 删除了之后 yum 无法启动,该如何拯救

2018-11-12 15:58:02 +08:00
 yuoboo

之前都是直接备份成别的名称不会管它的,刚才看到有 3 个启动方式,如是就删了其中一个,没太注意其他 2 个都是链接删除的哪个的,结果就悲剧了呀!!

重新安装了 python2.7.5, 将新装的 python2.7.5 软连接到 /usr/bin/yum文件里对应的 python 解释器路径,没能解决

尝试到 centos 网站下载官方( python***-****.rpm )包(一共 6 个包), 在使用 rpm 安装过程中报错了

warning: group mockbuild does not exist - using root  
warning: user mockbuild does not exist - using root  

软件包并没有安装上,对 linux 不怎么熟, 有大佬指点一下吗?感谢!

5551 次点击
所在节点    Linux
47 条回复
alvin666
2018-11-12 16:04:17 +08:00
去 python 官网下 tar.gz 包,解压,make&&make install
leavic
2018-11-12 16:07:03 +08:00
@alvin666 然后楼主发现没装 build_essential...
vissssa
2018-11-12 16:07:18 +08:00
找到 yum 修改第一行的 path 即可
jiezhi
2018-11-12 16:09:37 +08:00
楼主在 yum 里改过配置后报什么错?

之前的一篇帖子不知道有没有帮助:

http://jiezhi.github.io/2016/03/05/centos6-install-python2-7/
yuoboo
2018-11-12 16:11:34 +08:00
@alvin666
@leavic
@vissssa 我就是下载了 Python2.7.5.tar.gz ,解压 make&&make install, 新装的 2.7.5 已经软连接到 /usr/bin/yum 的第一行 path 了, 无效啊, 第二段就是这个方法
alvin666
2018-11-12 16:11:44 +08:00
@leavic 哈哈哈 lz 这水平是有可能
likuku
2018-11-12 16:17:17 +08:00
节哀顺变,重装 /用快照恢复了事。

你不是需要拯救的手段,你更需要 pyenv 和 virtualenv
yuoboo
2018-11-12 16:19:00 +08:00
@jiezhi 之前我就是这样做的,今天脑残把自带的直接 python 删了,之后自己装的 python (和自带的版本号是一样) yum 还是报错
yuoboo
2018-11-12 16:30:06 +08:00
@alvin666 你水平很牛逼?
araraloren
2018-11-12 16:43:38 +08:00
都 8102 年了,还有删除自带 python 的
aaa5838769
2018-11-12 16:46:00 +08:00
安装 2.7.5 修改 yum 配置的路径
ccl945
2018-11-12 17:16:36 +08:00
使劲拍拍,重启试试
whwq2012
2018-11-12 17:17:33 +08:00
同掉过这个坑的路过
raysonx
2018-11-12 17:42:20 +08:00
YUM 是一个 Python 程序,你删除了系统内置的 Python 当然就不能运行了。更严重的问题是,你系统中还不知道有多少应用程序、第三方库依赖这个 Python 版本,现在它们都无法运行了。不清楚楼主删除系统内置 Python 的原因,猜测这是一个 X-Y 问题( https://coolshell.cn/articles/10804.html )。

再说修复方法:
1. 不要尝试 1 楼所讲的自己编译 Python。因为你的机器几乎肯定没有安装支持的编译工具和依赖,而且就算编译并安装成功了,你系统中已安装的 Python 第三方库可能因版本兼容或者安装位置不同而无法正常运作,而且以后官方源中的所有 python 第三方库及应用可能都无法与你自己安装的 Python 兼容。
2. 如果可能,最简单的方法是备份数据后重装系统。
3. 如果要针对现有版本进行修复,建议使用 rpm 工具重装 Python 解释器。首先你要了解之前系统中的 python 的 rpm 包是哪个,然后重装对应版本完全相同的 RPM 包。可以尝试运行 `rpm -qa | grep python-2`看一下之前系统中安装的 rpm 包名,然后尝试用`rpm -ivh --replacepkgs --replacefiles 文件路径`进行重新安装。`文件路径`可以是本地文件也可以是 URL。
zxcvsh
2018-11-12 17:46:11 +08:00
从新装一个,你也是心大不知道 yum 基于 py2 吗,你要改好多依赖;如果是服务器最快的方式是恢复
nicevar
2018-11-12 17:49:48 +08:00
为什么老有人喜欢删这个,有强迫症还是很危险,v 站上隔三差五就有人上来因为删 python 喊救命的
raysonx
2018-11-12 17:50:59 +08:00
楼主惜字如金地连自己敲过的命令或者到底下载了哪些 rpm 包都不愿意讲,怎么让别人帮你?

再谈下面这两句警告( warning 是警告的意思,不是错误!不是错误!不是错误!)
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root

解释:mockbuild 是默认用来编译 SRPM 包的用户和用户组。如果系统中不存在,则使用 root 用户或者组,没毛病。
我猜测,楼主在尝试安装 SRPM 包(*.src.rpm 这种格式的文件名),也就是源码包。然而因为你不需要自己去 build Python 的 RPM,所以没有必要安装 SRPM 包。

楼主又说`软件包并没有安装上`,我想知道楼主是怎么得出这个判断的。如果真的安装失败了,请贴错误信息。
zoroojack
2018-11-12 17:51:58 +08:00
跟我以前一样,不过我是学习的时候发现的,重装系统就完事了,你要是生产环境就麻烦了。不知道啥时候才能更新到 python3,2 看着难受。
raysonx
2018-11-12 17:54:19 +08:00
@zoroojack RHEL 8/CentOS 8 默认安装的就会是 Python 3 了,而且系统中安装多个不同版本的 python 完全没有冲突,删系统 python 只能解释为强迫症。摊手~
hei1000
2018-11-12 17:55:12 +08:00
自带的 python 也敢删除,好多软件包依赖它的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/507043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX