CentOS 7/8最小化安装后,如何在线安装yum?

在CentOS系统中,YUM(Yellowdog Updater Modified)是一个至关重要的软件包管理器,它能够自动处理软件包之间的依赖关系,极大地简化了系统的安装、更新和维护工作,在某些最小化安装或系统出现问题的场景下,YUM工具可能并未被预装或已损坏,通过在线方式重新安装YUM便成为了一项必备的技能,本文将详细介绍如何在CentOS系统中在线安装YUM,并提供相关问题的解答。

CentOS 7/8最小化安装后,如何在线安装yum?

准备工作:确保系统环境

在开始安装之前,请务必确认以下两个基本条件:

  1. 网络连接:在线安装的核心是从网络仓库下载软件包,因此您的CentOS服务器必须能够连接到互联网。
  2. 管理员权限:安装和配置系统软件需要root用户权限,或具备sudo权限的普通用户。

可以通过以下命令检查系统中是否已经安装了YUM,如果没有任何输出,则表示YUM未安装。

rpm -qa | grep yum

核心步骤:下载与安装YUM软件包

针对不同版本的CentOS,其软件仓库和依赖关系有所差异,特别是对于已经停止维护(EOL)的CentOS 7和CentOS 8,我们需要从官方的 vault 存档仓库中获取软件包。

针对 CentOS 7 系统

CentOS 7已于2025年6月30日停止维护,安装YUM需要从其vault源下载。

  1. 创建临时目录并进入

    mkdir /tmp/yum_install && cd /tmp/yum_install
  2. 下载必要的RPM包:我们需要下载YUM本体及其核心依赖包,如Python相关的库,以下是一组常用的包,您可以根据实际情况调整。

    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-metadata-parser-1.1.4-10.el7.x86_64.rpm
    wget http://vault.centos.org/7.9.2009/os/x86_64/Packages/yum-plugin-fastestmirror-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
    wget http://vault.centos.org/7.9.2009/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
  3. 本地安装所有RPM包
    使用rpm命令强制安装所有下载的包,忽略依赖关系(因为我们已经将主要依赖都下载下来了)。

    rpm -ivh --nodeps *.rpm

针对 CentOS 8 系统

CentOS 8也已停止维护,其软件包管理器是DNF,但YUM是DNF的符号链接,因此安装DNF即可恢复YUM功能。

CentOS 7/8最小化安装后,如何在线安装yum?

  1. 创建临时目录并进入

    mkdir /tmp/dnf_install && cd /tmp/dnf_install
  2. 下载DNF及相关包

    wget http://vault.centos.org/8.5.2111/BaseOS/x86_64/os/Packages/dnf-4.7.0-4.el8.noarch.rpm
    wget http://vault.centos.org/8.5.2111/BaseOS/x86_64/os/Packages/dnf-data-4.7.0-4.el8.noarch.rpm
    wget http://vault.centos.org/8.5.2111/BaseOS/x86_64/os/Packages/libdnf-0.63.0-3.el8.x86_64.rpm
    # 以及其他 libdnf 依赖,如 libmodulemd 等,根据提示下载
  3. 本地安装

    rpm -Uvh --nodeps *.rpm

为了更清晰地展示不同版本的核心包差异,下表进行了简要对比:

版本 核心包 主要依赖示例 注意事项
CentOS 7 yum yum-metadata-parser, python-urlgrabber 依赖Python 2环境
CentOS 8 dnf libdnf, dnf-data YUM是DNF的别名,依赖Python 3环境

配置YUM仓库源

安装完YUM/DNF软件包后,其配置文件可能仍然指向已失效的官方源,我们需要将其修改为指向vault源。

  1. 备份原有配置文件

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  2. 创建新的仓库配置文件
    对于CentOS 7,可以创建/etc/yum.repos.d/CentOS-Vault.repo如下:

    [base]
    name=CentOS-7 - Base
    baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    [updates]
    name=CentOS-7 - Updates
    baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    (CentOS 8的配置类似,只需将URL中的版本号和路径相应修改即可。)

    CentOS 7/8最小化安装后,如何在线安装yum?

验证与清理

执行以下命令来验证YUM是否安装并配置成功。

# 清理所有缓存
yum clean all
# 生成新的缓存
yum makecache
# 列出可用的仓库,如果能看到刚刚配置的vault源,则表示成功
yum repolist

如果以上命令都能正常执行,并且yum repolist列出了仓库信息,那么恭喜您,YUM已经成功安装并可以正常使用了。


相关问答FAQs

问题1:如果我的服务器完全无法连接互联网,该如何安装YUM?

解答:在离线环境中,需要采用“U盘拷贝”的方式,在一台可以上网的、且系统架构(如x86_64)相同的CentOS机器上,使用yumdownloader工具或直接访问vault网站,下载YUM及其所有依赖的RPM包(包括递归依赖),然后将所有下载好的.rpm文件通过U盘等介质拷贝到目标服务器的某个目录下,在目标服务器上进入该目录,执行rpm -ivh *.rpm命令进行本地安装,这个过程的关键在于确保所有依赖包都已下载完整,否则安装会失败。

问题2:安装YUM后,执行yum update时提示“GPG密钥验证失败”怎么办?

解答:这个错误表示YUM无法验证从仓库下载的软件包的签名,这是一个安全机制,通常是因为系统缺少或GPG密钥文件路径不正确,解决方法是导入正确的CentOS GPG密钥,确认密钥文件是否存在,通常位于/etc/pki/rpm-gpg/目录下,如果不存在,需要从vault源下载对应的密钥文件,使用以下命令导入密钥(以CentOS 7为例):

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

导入成功后,再次执行yum update命令即可正常进行。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-07 10:04
下一篇 2025-10-07 10:07

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信