CentOS7修复python拯救yum - 转载
原文:http://blog.51cto.com/welcomeweb/2132654
本人正在吹着空调,喝着茶水,然后qq头像抖了两下,业务开发同学给我打了个招呼,“忙么?帮个忙可以不?” 这很明显了,要忙了呀!来活了。本着爱岗敬业的精神回复“您说”。 然后很含蓄的告诉我yum不好用了。得嘞,这活可能很简单,就是自己编译了高版本替换了系统python,然后yum使用python,由于版本高,库没有,导致没法使用。 或者特别麻烦,直接把系统的python卸了!!!!!! 这个有可能没救,这要看业务同学是否手下留情了。闲话到此!
++++++++++++++++++++++++++++++++++++++++++++
一 拯救yum,简单的说 只是装了个高版本的python,然后把环境变量换了 或者 软连接了下
1
2
3
4
5
6
7
|
[root@ test ~] # vim $(which yum) #!/usr/bin/python 修改为系统的python path 例如:#!/usr/bin/python2.7 import sys try: import yum except ImportError: print >> sys.stderr, "" "\ |
还有这个地方
1
2
3
4
|
[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了
1
2
3
4
|
[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了
1
2
|
[root@ test ~] # yum - bash : /usr/bin/yum : No such file or directory |
如果鉴定为两个都没了,恭喜你 真他娘的是个人才。 不过还好你看到本文了,继续往下看吧!
其实我已经修复生成环境的,为了演示,这里用虚拟机做了下。好奇的小伙伴不要在生成环境尝试(最好在成人陪同下哈,另外免责下后果与本人无关)!!!
具体过程如下:
简述为:
a 找python与yum的rpm包:
在同样系统的服务器上使用yumdownloader 命令 将rpm包下载到另一台服务器上,然后搞到这个服务器上:
1
|
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包:
1
2
|
[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
加点参数总算搞掉了:
1
2
3
4
|
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 过不去的梗,发际线~<~
CentOS7修复python拯救yum - 转载的更多相关文章
- centos7.5 python修复
参考文章地址: 1.CentOS7修复python拯救yum: http://blog.51cto.com/welcomeweb/2132654 所有rpm包下载完成 wget http://mirr ...
- CENTOS手动安装修复python ,YUM
CENTOS手动安装修复YUM
CENTOS手动安装修复YUM 2019年3月8日 杨宇 Comments 0 Comment 目录 [hide] 一.问题场景 二.手动修复 2.1 下载 rpm 包 2.2 安装 rpm 包 ...
- CentOS7 升级python同时解决yum损坏问题
CentOS7中的python版本为python2.7.5,升级到最新版的python时需要注意两个问题 新版的python安装好后要修改python的系统默认指向问题 升级到最新版python后yu ...
- centos7.6删除重新安装python和yum
最近在开发一个项目时出现了错误,需要重新安装python和yum,怎么安装呢?随ytkah一起来看看吧.ytkah用的linux分支的centos7.6,各位朋友在下载源的时候要注意版本的区分.现在开 ...
- CentOS7 安装Python
CentOS7 安装Python 1. 前置条件 centos7 安装时 勾选Development Tools,如果你centos7没有选,需要更多必要库 必要库 # yum -y install ...
- Linux—CentOS7下python开发环境配置
CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...
- EnvironmentError: mysql_config not found问题解决(centos7下python安装mysql-python)
centos7下python安装mysql-python模块,执行命令: pip install mysql-python 出现报错:EnvironmentError: mysql_config no ...
- Centos7 安装 Python 的笔记
Centos7 安装 Python 的笔记 注意:系统自带的Python2.7不要改动,最好也不要出错,不然yum之类的工具可能会出错. 安装Python3.7.0 TensorFlow对Python ...
- Linux CentOs6.5误卸载自带python和yum后的解决办法
事故背景:前几天因项目需要,在服务器上搭建python-mysql模块,结果没安装好,于是乎想卸载重装,遂在网上查询卸载python的方法,结果一不小心直接把系统的python删了个干净....... ...
随机推荐
- 异常来自HRESULT:0x80070422
今天同事使用一个用VB.NET2008开发的应用程序时提示“出现了下列应用程序错误:无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动.(异常来自HRESULT:0x80070422)” ...
- Rest和WebService的区别
有好多人问我们在设计底层服务的时候到底是应该选择目前最流行的RestFul架构还是选择老牌的webService呢?今天我就将这两个概念做一下阐述,到底什么情况下选择什么比较合理. 首先需要了解:RE ...
- 【建项目】eclipse maven建立多模块工程
在工作的时候,大多时候都是用Maven来管理项目,可是一般我们都知道怎么用maven管理工程,却不知道通过Maven自己来建立多模块工程.于是自己抽时间,在网上找些资料,做了起来. 建立简单的Mave ...
- SharePoint研究之表单登录配置
本文将演示SharePoint怎样配置表单(Form)登录,后续文章将研究 无密码登录.编程添加用户组.编程添加用户.编程添加文件夹.编程分享文件夹(权限分配)等. 知识点:SharePoint.Sq ...
- 现在 做java 构架(RabbitMQ redis mysql )之类的
现在 做java 构架(RabbitMQ redis mysql )之类的
- python 获取5天前的日期
from datetime import date, timedelta dt = date.today() - timedelta() print('Current Date :',date.tod ...
- 炫酷的CSS3抖动样式:CSS Shake
CSS Shake是一个使用CSS3实现的动画样式,使用SASS编写,利用它我们可以实现多种不同样式的抖动效果(如下面的GIF图像): 炫酷的CSS3抖动样式:CSS Shake 这是一个很微小的动画 ...
- Java中的注解基础
一.元注解 元注解的作用就是负责注解其他注解. 1.@Target @Target用来指明注解所修饰的目标,包括packages.types(类.接口.枚举.Annotation类型).类型成员(方法 ...
- 雷林鹏分享:Ruby 面向对象
Ruby 面向对象 Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现.Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串.数字,甚至连 true 和 false 都是对象 ...
- WPF 动画 和 色彩 的随笔
1:善于用“Margin”做动画效果 2:色彩处理通常用:Brush,而Brush(如:SolidColorBrush)的实例化,通常需要载入“ System.Windows.Media.Color” ...