今天把互联网应急指挥系统的项目迁移到另一台虚拟服务器的AnolisOS系统上,项目需要使用python的3.10版本,目标机器上因为是AnolisOS系统,系统默认的是3.6的版本,所以计划把3.6的版本升级至3.10版本,先用的whereis 查到所有的python版本,然后rm -f删除掉,结果yum无法使用了,一直提示已放弃 (核心已转储)。
后来查询资料得知yum是使用python作为运行环境,不能直接删除,网上很多步骤都是指导Centos的下的python2.7版本删除导致的yum不能使用,对于AnolisOS系统却没有对应的文档。
既然AnolisOS系统和Centos系统软件安装都差不多,那思路应该也差不多,于是按照下面的步骤进行操作。
进入终端
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
目的是强制删除所有python的的关联,
whereis python |xargs rm -frv 删除所有剩余的残留文件,然后使用whereis python进行查找,确保没有和python相关的内容。
这个时候还不能直接重装yum,需要检查下yum的残留文件进行删除,同样的命令rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps ,whereis yum |xargs rm -frv 先删除包和依赖,然后在删除剩余的文件。
这样就清除干净了,下面就是重建yum的关键操作
我们创建一个临时的下载目录并且进入,mkdir ~/wenhui-yum ,cd ~/wenhui-yum ,然后使用repotrack下载yum,有的情况下可能需要加入/usr/bin/repotrack , repotrack yum ,下载完后使用rpm -Uvh --force --nodeps *.rpm 强制安装所有包。
最后一步,rm -rf ~/wenhui-yum 删除这个目录,使用yum update下就可以了。