设为首页 收藏本站
查看: 941|回复: 0

[经验分享] CentOS7修复python拯救yum

[复制链接]

尚未签到

发表于 2019-2-16 11:04:11 | 显示全部楼层 |阅读模式
  本人正在吹着空调,喝着茶水,然后qq头像抖了两下,业务开发同学给我打了个招呼,“忙么?帮个忙可以不?” 这很明显了,要忙了呀!来活了。本着爱岗敬业的精神回复“您说”。 然后很含蓄的告诉我yum不好用了。得嘞,这活可能很简单,就是自己编译了高版本替换了系统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/  注意替换版本就行了官方源

  •   python-2.7.5-34.el7.x86_64.rpm
  •   python-libs-2.7.5-34.el7.x86_64.rpm
  •   python-devel-2.7.5-34.el7.x86_64.rpm
  •   python-iniparse-0.4-9.el7.noarch.rpm
  •   python-pycurl-7.19.0-17.el7.x86_64.rpm
  •   python-urlgrabber-3.10-7.el7.noarch.rpm
  •   python-setuptools-0.9.8-4.el7.noarch.rpm
  •   rpm-python-4.11.3-17.el7.x86_64.rpm
  •   yum-utils-1.1.31-34.el7.noarch.rpm
  •   yum-3.4.3-132.el7.centos.0.1.noarch.rpm
  •   yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
  •   yum-plugin-aliases-1.1.31-34.el7.noarch.rpm
  •   yum-plugin-protectbase-1.1.31-34.el7.noarch.rpm
  •   yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm
  •   python-kitchen-1.1.1-5.el7.noarch.rpm
  •   python-chardet-2.2.1-1.el7_1.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 (为了演示,自残下)
  系统环境 以及安装包数量

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

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

  加点参数总算搞掉了:
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

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

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

  开始修复,还好wget能用,如果不能用,那就试试rsync  nc 等等传输rpm包,
  下图为下载了部分rpm包,安装的时候会报依赖关系,莫慌,去找 去下,然后安装,如果在报依赖关系,继续去找去下去安装,稳住。。。

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

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

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


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

  这里是有包了,没有命令

  这里是批量把包装了上:

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

  故事到此为止。
  ++++++++++++++++++++++++++++++++++++++++++
  怎么说,这个故事告诉我们: ① 新同学的岗前培训很重要(这是个实习生搞得),你好他也好。你省的麻烦,他省得担惊受怕,职业生涯受挫。
  ② 运维同学不出手则已,一出手必须解决问题。其实我在看了环境后问了句能不能重装,先把后路给铺好,也是体现咱职业技术的时候。
  最后,鸡汤一碗,早点休息,不然眼黑,手抖,指不定敲了什么命令自己也不知道。多休息也能捍卫发际线!  md 过不去的梗,发际线~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673070-1-1.html 上篇帖子: CentOS7.2 内核升级 下篇帖子: Minimal安装CentOS 6.7之后要做的基本配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表