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.repobaseurl可能需要更换为国内镜像源(如阿里云、网易)以加速下载,修改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 allyum 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 wgetyum list installed | grep wget验证是否安装成功。

linux如何用yum安装

安装多个软件包

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

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)仓库为例,该仓库提供大量常用软件包(如htopgit):

# 安装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)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • 为什么这个技巧能让你事半功倍?

    在Linux中删除行首空白(空格或制表符)是文本处理的常见需求,以下是专业可靠的方法,适用于不同场景:方法1:使用 sed 命令(推荐)命令示例:sed 's/^[ \t]*//' input.txt > output.txtsed -i 's/^[ \t]*//' inp……

    2025年6月18日
    4700
  • 为什么你还没用XX?3个理由说服你

    include是C/C++中的预处理指令,用于在编译前将指定头文件的内容插入当前文件,它允许代码复用、声明共享,是模块化编程的基础。

    2025年6月13日
    4300
  • Linux安装软件,如何安全高效适配各发行版?

    包管理器(推荐方式)包管理器自动解决依赖关系,从官方源下载软件,确保安全可靠,Debian/Ubuntu(APT)更新软件源列表: sudo apt update安装软件(如Firefox): sudo apt install firefox卸载软件: sudo apt remove firefoxRed Ha……

    2025年8月8日
    2100
  • 如何为主节点配置浮动IP实现高可用?

    在Linux系统中,浮动IP(Floating IP)是一种关键的高可用性技术,它允许将同一个IP地址动态分配给集群中的不同服务器,当主服务器故障时,浮动IP会自动漂移到备用节点,确保服务不中断,以下是两种主流配置方法的详细步骤:浮动IP的核心原理作用:实现故障转移(如Web服务器、数据库集群),基础要求:至少……

    2025年6月18日
    4800
  • 如何查看linux的ftp地址

    Linux中,FTP地址通常是服务器的IP或域名加上端口号(默认21)。

    2025年8月15日
    1800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信