Linux系统如何用yum命令安装软件包?

Linux系统中,yum(Yellowdog Updater, Modified)是一款常用的包管理工具,主要用于自动化安装、更新和卸载软件包,并能自动解决依赖关系,广泛应用于基于RPM的发行版,如CentOS、RHEL、Fedora等,本文将详细介绍如何使用yum进行软件包管理,包括基础配置、安装步骤、常用命令及问题排查等内容。

linux如何用yum安装

yum的基础配置

yum的核心是仓库(Repository)配置,仓库指向软件包存储的位置,系统通过仓库获取软件包信息,仓库配置文件通常位于/etc/yum.repos.d/目录下,以.repo为后缀(如CentOS-Base.repo),每个仓库配置包含以下关键参数:

参数 说明 示例值
[repositoryid] 仓库唯一标识,方括号内自定义 [base]
name 仓库描述,便于识别 CentOS-7 – Base
baseurl 仓库地址,支持HTTP、FTP、本地路径 http://mirror.centos.org/centos/7/os/x86_64/
enabled 是否启用该仓库(1为启用,0为禁用) 1
gpgcheck 是否校验GPG签名(1为校验,0为不校验) 1
gpgkey GPG密钥文件路径,用于校验软件包完整性 http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

配置示例:
以CentOS 7为例,默认仓库文件CentOS-Base.repo的baseurl可能需要更换为国内镜像源(如阿里云、网易)以加速下载,修改baseurl为:

[base]
name=CentOS-7 - Base - 163.com
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

修改完成后,执行yum clean all和yum makecache刷新缓存。

安装前的准备工作

  1. 检查网络连接:
    yum需要从仓库下载软件包,确保网络正常,可通过ping www.baidu.com测试,或使用curl http://mirror.centos.org检查仓库地址可访问性。

  2. 确认软件包来源:
    官方仓库(如Base、Extras)包含稳定软件包,第三方仓库(如EPEL、Remi)提供额外软件包,若需使用第三方仓库,需先安装对应的仓库配置文件(如安装EPEL仓库:yum install epel-release)。

  3. 更新软件包缓存:
    执行yum makecache将仓库中的软件包信息加载到本地缓存,避免后续操作因缓存过旧报错。

使用yum安装软件包

安装单个软件包

使用yum install 包名命令,yum会自动解决依赖并安装所需软件包,例如安装wget:

yum install wget

执行过程中,系统会显示软件包信息及依赖关系,输入y确认安装,安装完成后,可通过rpm -q wget或yum list installed | grep wget验证是否安装成功。

linux如何用yum安装

安装多个软件包

通过空格分隔多个包名,一次性安装多个软件包,例如同时安装vim和tree:

yum install vim tree

安装指定版本的软件包

若需安装特定版本,可通过yum list 包名查看可用版本,然后使用yum install 包名-版本号安装,例如查看nginx版本并安装1.18版本:

yum list nginx          # 查看可用版本,如nginx.x86_64  1.18.0-1.el7.ngx
yum install nginx-1.18.0-1.el7.ngx

安装本地.rpm软件包

若已下载.rpm文件到本地,使用yum localinstall 包名.rpm安装,yum会自动处理依赖关系,例如安装本地的google-chrome-stable.rpm:

yum localinstall google-chrome-stable.rpm

yum常用命令

命令 功能 示例
yum update 更新所有已安装软件包到仓库中的最新版本 sudo yum update
yum update 包名 更新指定软件包 sudo yum update nginx
yum list available 列出仓库中所有可安装的软件包 yum list available | grep httpd
yum list installed 列出已安装的软件包 yum list installed
yum search 关键词 根据关键词搜索软件包(模糊匹配) yum search download
yum info 包名 查看软件包详细信息(版本、大小、依赖等) yum info nginx
yum remove 包名 卸载软件包(保留配置文件) sudo yum remove nginx
yum erase 包名 卸载软件包(同时删除配置文件) sudo yum erase nginx
yum clean all 清理所有缓存(包括已下载的软件包、元数据等) sudo yum clean all
yum history list 查看yum操作历史记录 yum history list
yum history undo ID 撤销指定ID的yum操作(如安装、更新) yum history undo 3

高级操作与问题排查

配置第三方仓库

以安装EPEL(Extra Packages for Enterprise Linux)仓库为例,该仓库提供大量常用软件包(如htop、git):

# 安装EPEL仓库配置文件
yum install epel-release
# 验证仓库是否启用
yum repolist enabled "epel*" --verbose

解决依赖问题

若安装软件包时提示“依赖冲突”,可通过以下方式解决:

  • 跳过损坏依赖:yum install 包名 --skip-broken(不推荐,可能导致功能异常)
  • 清理未完成的事务:yum-complete-transaction --cleanup-only
  • 手动安装依赖包:通过yum deplist 包名查看依赖列表,逐个安装缺失的依赖。

常见错误排查

  • 错误1:No package available
    原因:仓库中无该软件包,或仓库未启用。
    解决:检查仓库名称是否正确(如CentOS-7而非CentOS-8),或通过yum repolist查看启用的仓库。

  • 错误2:Cannot retrieve repository metadata (repomd.xml)
    原因:仓库地址无法访问或元数据损坏。
    解决:检查网络连接,更换仓库镜像源,执行yum clean metadata清理元数据后重试。

相关问答FAQs

Q1:yum和apt有什么区别?
A:yum和apt均为Linux系统包管理工具,但适用场景不同:

linux如何用yum安装

  • yum:基于RPM包管理,主要用于CentOS、RHEL、Fedora等系统,通过仓库管理软件包,支持依赖自动解决。
  • apt:基于DEB包管理,主要用于Debian、Ubuntu等系统,命令更简洁(如apt install替代yum install),支持源码编译安装(通过apt build-dep)。
    两者核心功能一致(安装、更新、卸载软件包),但底层包格式和命令语法不同。

Q2:如何查看某个软件包是由哪个仓库安装的?
A:可通过以下两种方式查询:

  1. 使用yum info命令:

    yum info 包名

    在输出信息中查看From repository字段,显示软件包来源的仓库名称。

  2. 查看/var/log/yum.log日志文件:

    grep "Installed" /var/log/yum.log | grep 包名

    该日志记录了所有yum操作,可通过关键字过滤找到安装记录。

已全面覆盖yum安装软件包的基础操作、高级技巧及问题处理,用户可根据实际需求灵活应用,高效管理Linux系统软件包。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年9月20日 08:18
下一篇 2025年9月20日 08:34

相关推荐

  • : 如何快速提升网站流量?}

    在Linux环境中解析JSON文件是开发者和系统管理员的常见需求,JSON作为轻量级数据交换格式,广泛应用于配置、API响应和日志处理,以下是几种高效、安全的解析方法,结合命令行工具和编程语言,满足不同场景需求:命令行工具解析(快速轻量)jq 工具(推荐首选)安装:sudo apt install jq # D……

    2025年6月28日
    22400
  • Linux如何启动GDM登录管理器?

    Linux系统中,GDM(GNOME Display Manager)是GNOME桌面环境的默认显示管理器,负责图形登录界面的渲染、用户认证以及桌面会话的启动,当系统启动后,若未自动进入图形界面,或需手动干预GDM的启动流程,可通过以下步骤实现,本文将详细讲解GDM的启动方法、配置调整及常见问题排查,帮助用户顺……

    2025年9月18日
    30400
  • Linux如何彻底卸载Node.js及清理残留文件?

    在Linux系统中卸载Node.js需要根据其安装方式选择不同的方法,常见的安装方式包括通过系统包管理器(如apt、yum、dnf等)、Snap包管理器以及手动编译或解压安装,本文将详细介绍不同安装场景下的卸载步骤,并提供注意事项和常见问题解决方案,卸载前的准备工作在开始卸载Node.js前,建议完成以下准备工……

    2025年9月23日
    36100
  • Linux下如何查看FTP服务的运行状态?

    在Linux系统中,FTP(File Transfer Protocol)是一种常用的文件传输协议,广泛应用于文件共享、数据备份等场景,正确查看和管理FTP服务是系统管理员的基本技能,本文将详细介绍在Linux系统中查看FTP服务的多种方法,包括服务运行状态、端口监听情况、配置文件内容、日志信息及用户权限等,并……

    2025年9月24日
    33800
  • Linux系统下FTP服务器如何配置?

    在Linux系统中配置FTP服务器是常见的文件共享需求,vsftpd(Very Secure FTP Daemon)是一款轻量级、安全且易用的FTP服务器软件,适用于大多数Linux发行版,本文将以vsftpd为例,详细介绍从安装到配置的完整步骤,帮助用户快速搭建安全的FTP服务,安装vsftpd软件包首先需要……

    2025年9月30日
    27000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信