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)
酷番叔酷番叔
上一篇 2025年9月20日 08:18
下一篇 2025年9月20日 08:34

相关推荐

  • Linux系统如何一步步架设DNS服务器的详细步骤?

    在Linux系统中架设DNS(域名系统)服务器,通常使用BIND(Berkeley Internet Name Domain)软件,它是目前最广泛使用的DNS服务器软件之一,以下以Ubuntu/Debian和CentOS/RHEL系统为例,详细说明DNS架设的完整步骤,环境准备系统要求推荐使用稳定版的Linux……

    2025年9月27日
    1900
  • 从U盘安装Linux系统需哪些步骤?

    从U盘安装Linux系统是许多新手体验Linux的首选方式,整个过程需要准备工具、制作启动盘、设置BIOS并完成安装,以下是详细步骤:准备工作硬件要求:一台可正常启动的电脑(建议8GB以上内存,至少20GB可用磁盘空间),一个8GB以上U盘(U盘内数据会被清空,提前备份重要文件),软件准备:Linux镜像文件……

    2025年9月16日
    2300
  • 如何快速查看所有网络端口?

    使用 netstat 命令(经典工具)netstat 是传统的网络统计工具,可查看端口状态(需安装 net-tools 包):# 查看所有活动连接(含进程名)sudo netstat -tulnp参数解析:-t:TCP端口-u:UDP端口-l:仅显示监听端口-n:以数字形式显示端口(不解析服务名)-p:显示关联……

    2025年7月8日
    8100
  • 如何关闭Linux系统的图形界面?

    在Linux系统中,图形界面(Graphical User Interface,GUI)虽然提供了直观的操作体验,但在服务器环境、资源受限场景或需要专注命令行操作时,关闭图形界面可以节省系统资源、提升启动速度并减少安全风险,本文将详细介绍关闭Linux图形界面的多种方法,涵盖主流发行版(如Ubuntu、Cent……

    2025年10月7日
    1200
  • 如何在Linux操作系统下安装MyEclipse?具体步骤与方法解析

    在Linux操作系统下安装MyEclipse,需完成环境准备、软件下载、安装部署、环境变量配置及启动验证等步骤,具体操作如下:环境准备MyEclipse是基于Java开发的IDE,需先安装JDK(Java Development Kit),并确保系统满足基本要求,系统要求:推荐Linux发行版:Ubuntu 1……

    2025年9月29日
    1800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信