由于需要更新python版本,错误的删除了yum,导致无法正常使用yum管理模块的安装和卸载,相当不方便。
以下为如何重新安装python和yum的方法。
第一步:删除python包
whereis python # 查看当前系统安装的python包。
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除系统安装程序python包及其相关
whereis python |xargs rm -frv ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
whereis python ##验证删除,返回无结果
第二步:删除现有yum
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
whereis yum |xargs rm -frv
第三步:查看系统版本,确定下载版本
我的系统是Centos6.10版本,x86_64系统。
查看版本方式:
cat /etc/redhat-release
uname -a
如图:
因此,通过以上信息,我知道我需要下载的软件包版本为CentOS 6.10版本,后缀为x86_64的软件包,而不是i686的软件包。
这一点信息非常重要,否则会导致安装软件遇到版本依赖问题,导致无法正常使用。
第四步:下载响应的软件包
需要下载文件列表为:
python-2.6.6-66.el6_8.x86_64.rpm
python-devel-2.6.6-66.el6_8.x86_64.rpm
python-libs-2.6.6-66.el6_8.x86_64.rpm
python-pycurl-7.19.0-9.el6.x86_64.rpm
python-setuptools-0.6.10-4.el6_9.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-59.el6.x86_64.rpm
yum-3.2.29-81.el6.centos.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum-utils-1.1.30-41.el6.noarch.rpm
yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm
yum-plugin-protectbase-1.1.30-41.el6.noarch.rpm
yum-plugin-aliases-1.1.30-41.el6.noarch.rpm
libacl-2.2.49-7.el6_9.1.x86_64.rpm
libselinux-2.0.94-7.el6.x86_64.rpm
libxml2-python-2.7.6-21.el6_8.1.x86_64.rpm
下载方式一:
通过进入http://rpm.pbone.net/网站,输入:软件包的名字,查找到自己系统对应的rpm可以再哪里下载到。
示例图片:
由于,我是CentOS 6.10的x86_64,所以我要下载libselinux.so.1这个库对应的安装包,就要找到红色框对应的网页地址:vault.centos.org/6.10/os/x86_64/Packages/libselinux-2.0.94-7.el6.x86_64.rpm
下载方式二:也可以直接进入网站:
https://vault.centos.org/6.10/os/x86_64/Packages/
进行下载对应的软件包。
这种方式可以通过方式一找到。
注意:网站名字中,
“6.10”需要修改为自己系统的版本。
“x86_64”需要修改为自己电脑型号版本。
第五步:安装
命令如下:
rpm -ivh rpm-python-4.8.0-59.el6.x86_64.rpm yum* python* libacl-2.2.49-7.el6_9.1.x86_64.rpm libselinux-2.0.94-7.el6.x86_64.rpm libxml2-python-2.7.6-21.el6_8.1.x86_64.rpm
第六步:检查
yum clean all
显示如下信息表示安装正确:
第七步:更新yum源
1、做好备份,为了更新失败时切换回去
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
有多个时通过下面命令备份
mv /etc/yum.repos.d/CentOS* /etc/yum.repos.d/CentOS-Base.repo.backup
2、进入yum源配置文件夹
cd /etc/yum.repos.d/
3、根据centos版本下载对应的新源
这里以CentOS6为例
//更新为阿里云的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
//更新为163的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
//更新为搜狐的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
//更新为Oracle的源
wget -o /etc/yum.repos.d/Oracle-Base.repo http://public-yum.oracle.com/public-yum-ol6.repo
如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装,或者使用
curl -O http://mirrors.aliyun.com/repo/Centos-6.repo
第八步:确认源更新成功
yum clean all
yum makecache
如果成功,这会获取yum的相关数据。