前言
最近有同学问我他自己把 CentOS8 系统中的 python3 删除后发现 yum 无法正常使用了,这里给出一个简单解决方案;
方案原理
使用 repotrack
重新下载指定rpm包及其依赖项,repotrack是一个用于下载指定RPM包及其依赖项的工具,它是yum-utils包的一部分。这个工具在你需要在没有网络连接的情况下安装RPM包时非常有用。
以下是repotrack命令的基本使用方法:
repotrack <package_name>
知道了解决方案后, 我们就可以用 repotrack
命令来解决实际的问题,即解决前面讲到的CentOS 7/8 误删 python3 导致 yum命令不可用的问题,解决步骤如下;
问题解决步骤
创建包临时下载目录
mkdir ~/fix-yum
切换到临时下载目录
cd ~/fix-yum
使用 repotrack 下载所有包
repotrack yum
强制安装所有依赖包
rpm -Uvh --force --nodeps *.rpm
清理已下载文件
cd.. && rm -rf ~/fix-yum
运行 yum 更新
yum update
可以看到,此时 yum update
已经可以正常使用了,如果你也遇到类似的问题赶紧试试吧.
参考:
https://unix.stackexchange.com/questions/50642/download-all-dependencies-with-yumdownloader-even-if-already-installed