解决CentOS8误删Python导致yum命令不可用

解决CentOS8误删Python导致yum命令不可用


以下方案仅仅只针对误删Python的操作方案

首先创建一个文件目录存放

cd /usr/local/python #不存在就建一个

前往该网站查看https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/

下载以下内容

wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-firewall-0.8.2-7.el8_4.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-slip-dbus-0.6.4-11.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-dnf-plugins-core-4.0.18-4.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-dnf-plugins-core-4.0.18-4.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-policycoreutils-2.9-14.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/dnf-plugins-core-4.0.18-4.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-dnf-plugins-core-4.0.18-4.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-libs-3.6.8-37.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/openssl-devel-1.1.1g-15.el8_3.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-dateutil-2.6.1-6.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-slip-0.6.4-11.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-linux-procfs-0.6.3-1.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-configobj-5.0.6-11.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-pyudev-0.21.0-7.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-pip-wheel-9.0.3-19.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-setuptools-39.2.0-6.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-decorator-4.2.1-2.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-nftables-0.9.3-18.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-asn1crypto-0.24.0-3.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-syspurpose-1.28.13-4.el8_4.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-pyparsing-2.1.10-7.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-idna-2.5-5.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-rpm-4.14.3-14.el8_4.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-cryptography-3.2.1-4.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-dmidecode-3.12.2-15.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-cffi-1.11.5-5.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-libsemanage-2.9-6.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-setools-4.3.0-2.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-hawkey-0.55.0-7.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-pycparser-2.14-14.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-libdnf-0.55.0-7.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-libselinux-2.9-5.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-libxml2-2.9.7-9.el8_4.2.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/newt-0.52.20-11.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-rpm-4.14.3-14.el8_4.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-librepo-1.12.0-3.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-gpg-1.13.1-7.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-libcomps-0.1.11-5.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-perf-4.18.0-305.25.1.el8_4.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-schedutils-0.6-6.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-ply-3.9-9.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-six-1.11.0-8.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-libs-3.6.8-39.el8_4.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-pip-wheel-9.0.3-19.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-setuptools-wheel-39.2.0-6.el8.noarch.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-dbus-1.2.4-15.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-gobject-base-3.28.3-2.el8.x86_64.rpm
wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64.rpm

wget https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/python3-dnf-4.4.2-11.el8.noarch.rpm

安装:

rpm -Uvh --force *.rpm

期间如果报,哪个包依赖失败,就根据所提示的包名,到上面那个镜像库网站进行wget再下载一遍

比如:python3-setuptools-wheel没有,那么就到镜像库下载一下,下载时可能报ssl链接错误,没事,此时再去重复执行几遍,即可解决问题
在这里插入图片描述

直到安装命令执行成功,接着yum命令就可用了

最后再执行一遍

yum install python3
yum install python3-devel 
pip3 install --upgrade pip

其他

使用python下载依赖时报错:

  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3.6 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-download-t2jzic70/run_7f65d36496f04916abe4399511c41f79/setup.py'"'"'; __file__='"'"'/tmp/pip-download-t2jzic70/run_7f65d36496f04916abe4399511c41f79/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-fide_0rn
       cwd: /tmp/pip-download-t2jzic70/run_7f65d36496f04916abe4399511c41f79/
  Complete output (5 lines):
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-download-t2jzic70/run_7f65d36496f04916abe4399511c41f79/setup.py", line 12, in <module>
      long_description=file('README').read(),
  NameError: name 'file' is not defined

在这里插入图片描述

解决,报的是file,即输入file

yum install python3-devel file
<think>好的,我现在需要解决用户提出的问题:CentOS 7中yum命令缺失的解决方案。首先,我得回忆一下yumCentOS中的作用。yum是基于RPM的软件包管理器,它依赖于Python来运行。如果用户误删Python3,或者某些系统文件被破坏,可能会导致yum无法使用。 根据用户提供的引用信息,特别是引用[1],提到删除python3导致yum可用的情况。CentOS 7默认使用Python2,而CentOS 8使用Python3,但用户这里的问题是CentOS 7,所以可能需要检查是否误删Python2或者其他相关包。过用户提到的是CentOS7,所以可能问题出在Python2的缺失或者yum相关的包被删除。 接下来,我需要考虑可能的解决方案。根据引用[1]中的方案原理,可能涉及到重新安装Python3yum相关的包。但CentOS 7的yum依赖Python2,所以可能需要重新安装Python2以及yum的RPM包。 可能的步骤包括: 1. 检查是否Python2存在,如果被删除,需要重新安装。 2. 检查yum相关包(如yumyum-utils等)是否完整,可能需要通过rpm手动安装。 3. 可能需要从镜像源下载对应的rpm包,然后使用rpm命令强制安装,因为yum本身可能可用。 另外,引用[2]提到CentOS 7停止维护可能导致yum源失效,这时候可能需要更换镜像源,比如使用vault.centos.org的存档源。过用户的问题是关于命令缺失,而是源失效,所以可能两种情况都需要考虑:如果是因为系统文件被删,需要重新安装;如果是源失效,需要更换源。 需要分步骤详细说明如何检查Pythonyum的状态,如何重新安装必要的包,以及如何更换源。同时需要注意,用户可能误操作删除了关键包,导致依赖问题,所以可能需要强制安装或者处理依赖关系。 总结可能的解决方案步骤: 1. 确认Python2是否安装:`ls /usr/bin/python` 或 `python --version`。 2. 如果Python缺失,从镜像站下载Python2的rpm包并安装。 3. 下载yum相关的rpm包,手动安装。 4. 更换CentOS 7的仓库源到vault.centos.org,确保能获取到包。 5. 清理缓存并测试yum是否恢复。 同时需要注意,在手动安装rpm包时可能会遇到依赖问题,需要按顺序安装所有依赖包,这可能比较繁琐。或者考虑使用救援模式或从其他正常系统复制文件,但这对普通用户来说可能较复杂,因此优先推荐使用rpm重新安装关键包。 可能还需要提醒用户谨慎操作,避免再次误删系统关键组件,并建议备份重要数据。</think>### CentOS 7中yum命令缺失的解决方案 若因误删系统组件或软件包损坏导致`yum`命令无法使用,可通过以下步骤修复: --- #### **1. 检查Python环境** CentOS 7的`yum`依赖Python 2.7。若Python 2被误删,需重新安装: ```bash # 查看Python是否存在 ls /usr/bin/python # 正常应显示Python 2.7的软链接 python --version # 检查版本(若命令存在) ``` 若Python缺失,需手动安装: ```bash # 从镜像站下载Python 2.7的RPM包 wget http://vault.centos.org/7.9.2009/os/x86_64/Packages/python-2.7.5-93.el7.x86_64.rpm # 强制安装(忽略依赖警告) rpm -ivh --force python-2.7.5-93.el7.x86_64.rpm ``` --- #### **2. 重新安装yum相关包** `yum`依赖以下核心包:`yum`、`yum-utils`、`python-iniparse`等。从镜像站下载并手动安装: ```bash # 下载必要RPM包(版本需与系统匹配) wget http://vault.centos.org/7.9.2009/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm wget http://vault.centos.org/7.9.2009/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm wget http://vault.centos.org/7.9.2009/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm # 按顺序安装(处理依赖) rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm rpm -ivh yum-utils-1.1.31-54.el7_8.noarch.rpm ``` --- #### **3. 修复仓库源** 若因CentOS 7停止维护导致源失效(2024年6月30日后),需替换为`vault.centos.org`: ```bash # 备份原有源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 下载新源配置 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-7.9.2009.repo # 清理缓存并测试 yum clean all yum makecache ``` --- #### **4. 验证修复** ```bash yum update # 测试yum是否正常 ``` --- #### **注意事项** - 若手动安装依赖复杂,可考虑使用`rpm`包组或从其他正常系统复制`/usr/bin/yum`和`/etc/yum`目录。 - 避免误删系统关键组件,操作前建议备份数据[^1][^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值