yum重装与恢复
在CentOS上如果没有yum命令,装任何软件都将变的异常艰难。最近发现一台闲置的服务器上yum命令运行不起来了,一直报”Python找不到yum扩展”,服务器版本CentOS 6.8。查了各种问题都无法修复,最后想想重装算了。很多时候如果发现修复比重做更费时我们应该果断重做。
删除所有Python依赖
首先需要强制删除已安装程序及其关联
rpm -qa|grep python|sudo xargs rpm -ev –allmatches –nodeps
然后删除所有残余文件
whereis python |sudo xargs rm -frv
最后验证是否删除完成,返回无结果表示删除成功
whereis python
删除所有yum依赖
删除依赖
rpm -qa|grep yum|sudo xargs rpm -ev –allmatches –nodeps
全局搜索删除
whereis yum |sudo xargs rm -frv
下载需要用到的安装文件
可以到对应的操作系统版本下载对应的文件,镜像下载链接如下(这里以centos/6.8为例)http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/
需要下载如下文件:
python-2.6.6-64.el6.x86_64.rpm python-devel-2.6.6-64.el6.x86_64.rpm python-libs-2.6.6-64.el6.x86_64.rpm python-pycurl-7.19.0-9.el6.x86_64.rpm python-setuptools-0.6.10-3.el6.noarch.rpm python-urlgrabber-3.9.1-11.el6.noarch.rpm python-iniparse-0.3.1-2.1.el6.noarch.rpm rpm-python-4.8.0-55.el6.x86_64.rpm yum-3.2.29-73.el6.centos.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-utils-1.1.30-37.el6.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm yum-plugin-protectbase-1.1.30-37.el6.noarch.rpm yum-plugin-aliases-1.1.30-37.el6.noarch.rpm
这样一个一个下载非常麻烦,我建议写成shell脚本,如果是CentOS 6.8可以直接复制如下内容到 t.sh 文件中,然后执行 t.sh 。
wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-2.6.6-64.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-devel-2.6.6-64.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-libs-2.6.6-64.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-pycurl-7.19.0-9.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-setuptools-0.6.10-3.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/rpm-python-4.8.0-55.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-utils-1.1.30-37.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-plugin-protectbase-1.1.30-37.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-plugin-aliases-1.1.30-37.el6.noarch.rpm
安装文件
首先安装python相关的rpm包
rpm -Uvh –replacepkgs python*.rpm
然后安装yum相关的包
rpm -Uvh –replacepkgs rpm-python*.rpm yum*.rpm
如果提示报错,可以一个一个包安装,比如提示(-ivh是安装覆盖,-Uvh是升级安装):
rpm -ivh yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
提示:
yum >= 3.0 is needed by yum-plugin
改为:
rpm -ivh yum-3.2.29-73.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
运行
最后我们可以运行” yum -h ”来验证是否安装成功。