CentOS7修复python拯救yum,centos7pythonyum, 本人正在吹着空调,


本人正在吹着空调,喝着茶水,然后qq头像抖了两下,业务开发同学给我打了个招呼,“忙么?帮个忙可以不?” 这很明显了,要忙了呀!来活了。本着爱岗敬业的精神回复“您说”。 然后很含蓄的告诉我yum不好用了。得嘞,这活可能很简单,就是自己编译了高版本替换了系统python,然后yum使用python,由于版本高,库没有,导致没法使用。 或者特别麻烦,直接把系统的python卸了!!!!!! 这个有可能没救,这要看业务同学是否手下留情了。闲话到此!


++++++++++++++++++++++++++++++++++++++++++++


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

[[email protected]~]#vim$(whichyum)#!/usr/bin/python修改为系统的pythonpath例如:#!/usr/bin/python2.7importsystry:importyumexceptImportError:print>>sys.stderr,"""\


还有这个地方

[[email protected]~]#vi/usr/libexec/urlgrabber-ext-down#!/usr/bin/python修改为系统的pythonpath例如:#!/usr/bin/python2.7#Averysimpleexternaldownloader#Copyright2011-2012ZdenekPavlas


然后试试 一般就好了


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

区别:


这是没python了

[[email protected]~]#yum-bash:/usr/bin/yum:/usr/bin/python:badinterpreter:Nosuchfileordirectory[[email protected]~]#python-V-bash:/usr/bin/python:Nosuchfileordirectory

这是没yum了

[[email protected]~]#yum-bash:/usr/bin/yum:Nosuchfileordirectory


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


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

具体过程如下:

简述为:

a 找python与yum的rpm包:

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

yumdownloaderpythonpython-libspython-develpython-develpython-pycurlpython-urlgrabberpython-setuptoolsrpm-pythonyum-utilsyumyum-metadata-parseryum-plugin-aliasesyum-plugin-protectbaseyum-plugin-fastestmirrorpython-kitchenpython-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包:

[[email protected]~]#rpm-Uvh--replacepkgspython*.rpm[[email protected]~]#rpm-Uvh--replacepkgsrpm-python*.rpmyum*.rpm

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


c 安装完成,测试使用


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


详解过程


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

系统环境 以及安装包数量

技术分享图片

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


技术分享图片

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


技术分享图片


加点参数总算搞掉了:

rpm-qa|greppython|xargsrpm-ev--allmatches--nodepsrpm-qa|grepyum|xargsrpm-ev--allmatches--nodepswhereispython|xargsrm-frwhereisyum|xargsrm-fr

技术分享图片


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

技术分享图片


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

技术分享图片


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

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


技术分享图片


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

技术分享图片

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


技术分享图片


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


技术分享图片





技术分享图片


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


技术分享图片

这里是有包了,没有命令

技术分享图片

这里是批量把包装了上:

技术分享图片




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

技术分享图片



故事到此为止。

++++++++++++++++++++++++++++++++++++++++++


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

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


最后,鸡汤一碗,早点休息,不然眼黑,手抖,指不定敲了什么命令自己也不知道。多休息也能捍卫发际线! md 过不去的梗,发际线~<~


CentOS7修复python拯救yum

评论关闭