Linux系统如何安装yum?具体步骤和注意事项有哪些?

在Linux系统中,yum(Yellowdog Updater Modified)是一个广泛使用的包管理工具,主要用于基于Red Hat的发行版,如CentOS、RHEL(Red Hat Enterprise Linux)等,它能够自动解决软件包之间的依赖关系,简化软件的安装、更新和卸载过程,并非所有Linux发行版都默认安装yum,尤其是一些轻量级或非Red Hat系的发行版,本文将详细介绍在不同Linux系统中如何安装yum,包括安装前的检查、不同发行版的安装步骤、yum源的配置以及常见问题的解决方法。

linux 如何安装 yum

检查系统是否已安装yum

在尝试安装yum之前,首先需要确认系统中是否已存在该工具,打开终端,输入以下命令:

yum --version

如果系统已安装yum,会显示yum的版本信息(如“yum 3.4.3-168.el7.centos.noarch”);如果未安装,终端会提示“command not found”。

也可以通过以下命令检查yum相关的包是否已安装:

rpm -qa | grep yum

该命令会列出系统中所有包含“yum”关键字的RPM包,如果无输出则表示未安装。

基于Red Hat系发行版的yum安装

Red Hat、CentOS、RHEL等发行版通常默认已安装yum,但最小化安装的系统可能缺失,以下是此类系统中yum的安装步骤

使用已配置的yum源安装(推荐)

如果系统能够访问网络,且已配置官方yum源(如CentOS的Base、Extras等源),可直接通过以下命令安装yum:

sudo yum install yum

如果yum本身缺失,可能导致上述命令无法执行,此时可尝试通过rpm命令手动安装核心yum包,从官方镜像源下载所需的yum包(以CentOS 7为例,需下载yum、yum-metadata-parser、yum-plugin-fastestmirror等包)。

从阿里云镜像站下载(需根据系统版本调整链接):

wget http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm

下载完成后,使用rpm命令安装(需按依赖顺序安装):

linux 如何安装 yum

sudo rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
sudo rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm
sudo rpm -ivh yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm

通过本地光盘镜像安装

如果系统无法访问网络,可通过本地CentOS/RHEL安装光盘镜像配置yum源,具体步骤如下:
(1)将光盘镜像挂载到指定目录(如/mnt/cdrom):

sudo mount /dev/cdrom /mnt/cdrom

(2)创建本地yum源配置文件(如/etc/yum.repos.d/local.repo),内容如下:

[local]
name=Local CentOS Repository
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

(3)清理并生成缓存:

sudo yum clean all
sudo yum makecache

(4)安装yum包(如果缺失):

sudo yum install yum --downloadonly --downloaddir=/tmp  # 仅下载不安装
sudo rpm -ivh /tmp/yum-*.rpm  # 手动安装下载的包

Fedora发行版的yum处理

Fedora较新版本(如Fedora 22及以上)默认使用dnf(Dandified Yum)作为包管理器,它是yum的下一代替代品,命令语法与yum兼容,如果仍需使用yum,可通过以下步骤安装:

  1. 检查dnf是否已安装

    dnf --version

    如果已安装dnf,可直接使用dnf命令替代yum(大部分命令可直接替换,如dnf install代替yum install)。

  2. 安装yum兼容包
    如果确实需要yum工具,可安装yum包(实际为dnf的兼容层):

    sudo dnf install yum

    安装后,yum命令会调用dnf的核心功能,实现与yum相同的操作。

    linux 如何安装 yum

其他Red Hat系发行版的yum安装

Scientific Linux

Scientific Linux与CentOS高度相似,默认已安装yum,若缺失可参考CentOS的安装方法,从官方镜像源下载rpm包安装。

Oracle Linux

Oracle Linux默认使用yum,若需重新安装,可通过Oracle的公共yum源配置后安装,步骤与CentOS一致。

非Red Hat系发行版的yum安装(不推荐)

对于非Red Hat系的发行版(如Debian、Ubuntu、openSUSE等),yum并非原生支持的包管理工具(Debian/Ubuntu使用apt,openSUSE使用zypper),强行安装yum可能会导致系统包管理混乱,因此不建议尝试。

若因特殊需求需要类似yum的依赖解析功能,可考虑以下替代方案:

  • Debian/Ubuntu:使用apt,其依赖解析能力完善,命令如apt installapt update
  • openSUSE:使用zypper,支持依赖自动解析和仓库管理。
  • Arch Linux:使用pacman,通过pacman -S安装并自动处理依赖。

yum常见问题及解决

提示“Cannot retrieve repository metadata (repomd.xml)”

原因:yum源配置错误或网络无法连接。
解决

  • 检查网络连接:ping mirrors.aliyun.com(测试阿里云镜像)。
  • 检查yum源配置文件(如/etc/yum.repos.d/CentOS-Base.repo),确保baseurl正确(如http://mirrors.aliyun.com/centos/$releasever/os/$basearch/)。
  • 清理yum缓存:sudo yum clean all,然后重新生成缓存:sudo yum makecache

安装包时提示“Error: Package: xxx.x86_64 (base): Requires: yyyy”

原因:软件包依赖冲突,目标包需要依赖的包未安装或版本不匹配。
解决

  • 使用yum install yyyy安装依赖包。
  • 如果依赖版本冲突,可通过yum install --skip-broken跳过冲突包(但可能导致功能不完整)。
  • 更新系统所有包:sudo yum update,再尝试安装目标包。

yum常用命令及示例(表格)

命令 功能描述 示例
yum install pkg 安装指定包 sudo yum install vim
yum update 更新所有已安装包 sudo yum update
yum remove pkg 卸载指定包 sudo yum remove httpd
yum search keyword 搜索包含关键字的包 yum search "web server"
yum info pkg 显示指定包的详细信息 yum info nginx
yum list installed 列出已安装的包 yum list installed
yum clean all 清理yum缓存 sudo yum clean all
yum repolist 显示已配置的yum源列表 sudo yum repolist

相关问答FAQs

Q1:为什么我的CentOS系统最小化安装后没有yum?
A:CentOS最小化安装(Minimal Install)默认不安装yum工具,仅保留基础包,可通过以下步骤安装:
(1)配置网络或本地yum源(参考本文“二、1”或“二、2”)。
(2)使用rpm命令手动安装yum核心包(如yum-3.4.3-168.el7.centos.noarch.rpm),或通过rpm -Uvh --nodeps强制安装(忽略依赖,但可能导致功能异常)。

Q2:yum和dnf有什么区别?CentOS 8应该用哪个?
A:dnf是yum的下一代替代品,在CentOS 7中作为可选包存在,CentOS 8及后续版本默认使用dnf,主要区别包括:

  • 性能优化:dnf采用Python编写,依赖解析速度更快。
  • 插件支持:dnf支持更灵活的插件机制,如dnf history管理操作历史。
  • 命令兼容:dnf命令语法与yum基本一致(如dnf install代替yum install)。
    CentOS 8及更高版本应直接使用dnf,无需安装yum。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/20194.html

(0)
酷番叔酷番叔
上一篇 2025年8月30日 10:38
下一篇 2025年8月30日 10:55

相关推荐

  • 如何在Linux系统下使用MySQL数据库进行基础操作?

    在Linux系统下使用MySQL是许多开发者和运维人员的必备技能,本文将从安装配置、基础操作、用户管理、数据操作及备份恢复等方面详细介绍,帮助用户快速上手,安装与配置MySQL不同Linux发行版的安装命令略有差异,以Ubuntu/Debian和CentOS/RHEL为例:Ubuntu/Debian:更新包列表……

    2025年8月30日
    3700
  • Linux中查找进程ID的常用命令及详细步骤有哪些?

    在Linux系统中,进程ID(PID)是操作系统为每个运行中的进程分配的唯一标识符,用于进程管理、资源监控和操作控制,无论是终止异常进程、查看资源占用,还是调试程序,快速准确地查找PID都是基础操作,本文将详细介绍Linux中查找进程ID的多种方法,涵盖基础命令、进阶技巧及工具对比,帮助用户根据实际场景选择最合……

    2025年9月18日
    2500
  • Linux下如何为软件或文件进行数字签名操作?

    在Linux系统中,签名是保障软件、文件或通信可信性和完整性的核心机制,通过数字签名技术,接收方可验证来源的真实性及内容是否被篡改,常见的签名场景包括软件包签名、文件签名、邮件签名等,其中GPG(GNU Privacy Guard)是最广泛使用的工具之一,而针对不同Linux发行版的软件包(如Debian/Ub……

    2025年9月30日
    1000
  • Ubuntu比Windows快吗

    Telnet基础概念Telnet协议:用于在本地主机与远程服务器之间建立明文通信(TCP协议),默认端口为23,适用场景:测试服务器端口连通性(如HTTP 80、SMTP 25),临时管理不支持SSH的旧设备,安全警告:Telnet传输数据未加密,严禁用于生产环境敏感操作(推荐使用SSH替代),安装Telnet……

    2025年7月1日
    4900
  • Linux环境下终止线程的常用方法与注意事项有哪些?

    在Linux操作系统中,线程是轻量级进程(LWP,Light Weight Process)的体现,通过NPTL(Native POSIX Threads Library)实现用户态线程管理,与进程不同,线程共享同一进程的地址空间、文件描述符等资源,因此终止线程时需特别注意资源释放和同步问题,避免引发死锁、内存……

    2025年9月18日
    2200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信