CentOS7修复python拯救yum
思韵闪耀
2021-03-18
0

自己编译了高版本替换了系统python,然后yum使用python,由于版本高,库没有,导致没法使用。  或者特别麻烦,直接把系统的python卸了!!!!!! 这个还有没有救?

一  拯救yum,简单的说 只是装了个高版本的python,然后把环境变量换了 或者 软连接了下

[root@test ~]# vim $(which yum)
#!/usr/bin/python  修改为系统的python path  例如:#!/usr/bin/python2.7  
import sys
try:
    import yum
except ImportError:
    print >> sys.stderr, """\

 

还有这个地方

[root@test ~]# vi /usr/libexec/urlgrabber-ext-down 
#! /usr/bin/python   修改为系统的python path  例如:#!/usr/bin/python2.7  
#  A very simple external downloader
#  Copyright 2011-2012 Zdenek Pavlas

然后试试 一般就好了

二  手抖把python删除了 或者把 yum删除了

区别:

这是没python了

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

这是没yum了

[root@test ~]# yum
-bash: /usr/bin/yum: No such file or directory

如果鉴定为两个都没了,恭喜你 真他娘的是个人才。 不过还好你看到本文了,继续往下看吧!

其实我已经修复生成环境的,为了演示,这里用虚拟机做了下。好奇的小伙伴不要在生成环境尝试(最好在成人陪同下哈,另外免责下后果与本人无关)!!!

具体过程如下:

简述为:

 a 找python与yum的rpm包:  

  在同样系统的服务器上使用yumdownloader 命令 将rpm包下载到另一台服务器上,然后搞到这个服务器上:

yumdownloader  python python-libs python-devel python-devel python-pycurl python-urlgrabber python-setuptools rpm-python yum-utils yum yum-metadata-parser yum-plugin-aliases yum-plugin-protectbase yum-plugin-fastestmirror python-kitchen python-chardet

或者

   注意找与自己系统版本一致的源下的如下的rpm包:

   例如:centos7.2.151  源地址为: http://vault.centos.org/7.2.1511/os/x86_64/Packages/  注意替换版本就行了官方源

或者使用阿里云源http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/

centos7.9系统

wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.5.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python2-rpm-macros-3-34.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-devel-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-ipaddr-2.1.11-2.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-libs-2.7.5-89.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-rpm-macros-3-34.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-srpm-macros-3-34.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/rpm-python-4.11.3-45.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-aliases-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-54.el7_8.noarch.rpm
wget http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm

将如上源 wget到本地

b 安装下载的rpm包:

[root@test ~]# rpm -Uvh --replacepkgs python*.rpm
[root@test ~]#  rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm

 该过程如果出现依赖关系需要安装其他的rpm包,可安装提示查找安装,切勿跳过!

 c 安装完成,测试使用

详解过程

 

1 删除系统的python 与 yum (为了演示,自残下)

系统环境 以及安装包数量

1.png

尝试删除系统python,rpm直接-e删除会看到很多依赖,但是没删除成功

 

2.png

用yum删除下,这次也没成功,显示python被系统保护,这是必须的python对于系统很重要。这也说明呀一般的手抖是删除不掉centos7 的python

 

3.png

 

加点参数总算搞掉了:

rpm -qa |grep python|xargs rpm -ev --allmatches --nodeps
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
whereis python |xargs rm -fr
whereis yum |xargs rm -fr

4.png

 

参照图一删除了77个rpm包。。 yum已经报销,python都没了

5.png

 

这是把yum也删了,又少了个几个包。。。

6.png

 

开始修复,还好wget能用,如果不能用,那就试试rsync  nc 等等传输rpm包,

下图为下载了部分rpm包,安装的时候会报依赖关系,莫慌,去找 去下,然后安装,如果在报依赖关系,继续去找去下去安装,稳住。。。

 

7.png

 

见到这个可以送一口气了,这是python修复成功

8.png

然后去修yum 这是当时遇到依赖问题,已经把这些包都放到简略的步骤里了。

 

9.png

 

渡劫成功,少年,python和yum已经可用了

 

10.png

 

 

 

 

11.png

 

另一种下载rpm包的方法,更快,但是需要一台同样环境的服务器:

 

12.png

这里是有包了,没有命令

13.png

这里是批量把包装了上:

16.png

 

 

 

另外错误姿势示范:有包也装不上,这是依赖关系处理不当

14.png

怎么说,这个故事告诉我们: ① 新同学的岗前培训很重要(这是个实习生搞得),你好他也好。你省的麻烦,他省得担惊受怕,职业生涯受挫。

② 运维同学不出手则已,一出手必须解决问题。其实我在看了环境后问了句能不能重装,先把后路给铺好,也是体现咱职业技术的时候。


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
网页保护、网页图片保护
1、禁止另存网页,把如下代码加入到网页body/body中 程序代...
2025-05-30
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
docker-compos...
1.Compose介绍 DockerCompose是一个用来定义和...
2024-04-26
centos stream...
1、更新系统软件包确保系统已经更新到最新版本,打开终端,执行以下命...
2024-03-30

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...