Linux yum命令 详解

yum(Yellowdog Updater Modified)是CentOS、RHEL、Fedora等Red Hat系Linux发行版的软件包管理器,用于管理RPM软件包。

基本语法

yum [options] [command] [package ...]

常用命令

命令 说明
yum install 安装软件包
yum update 更新软件包
yum remove 卸载软件包
yum search 搜索软件包
yum info 查看软件包信息
yum list 列出所有可用软件包
yum repolist 列出已配置的仓库
安装软件包

安装nginx服务器:

# 安装nginx
sudo yum install nginx

# 安装多个软件包
sudo yum install httpd php mysql

# 安装指定版本的软件包
sudo yum install nginx-1.20.1

# 安装但不更新(仅当未安装时)
sudo yum install nginx --skip-broken
更新操作
# 更新所有软件包
sudo yum update

# 仅更新指定的软件包
sudo yum update nginx

# 检查可更新的软件包(不实际更新)
sudo yum check-update

# 更新系统内核
sudo yum update kernel
卸载软件包
# 卸载软件包(保留配置文件)
sudo yum remove nginx

# 卸载软件包及其依赖
sudo yum autoremove nginx

# 卸载软件包并删除配置文件
sudo yum erase nginx

搜索和信息查询

# 搜索包含"http"关键字的软件包
yum search http

# 查看软件包的详细信息
yum info nginx

# 列出所有已安装的软件包
yum list installed

# 列出所有可安装的软件包
yum list available

# 查看软件包提供了哪些文件
yum provides /etc/nginx/nginx.conf

# 查看软件包的依赖关系
yum deplist nginx

仓库管理

# 列出所有启用的仓库
yum repolist enabled

# 列出所有仓库(包括禁用的)
yum repolist all

# 启用特定仓库
sudo yum-config-manager --enable epel

# 禁用特定仓库
sudo yum-config-manager --disable epel

# 添加新的yum源(以EPEL为例)
sudo yum install epel-release

# 查看仓库详细信息
sudo yum repoinfo epel
仓库配置文件位置:

yum仓库配置文件通常位于 /etc/yum.repos.d/ 目录下,每个仓库对应一个 .repo 文件。

清理缓存

# 清理所有缓存
sudo yum clean all

# 清理元数据缓存
sudo yum clean metadata

# 清理包文件缓存
sudo yum clean packages

# 清理头文件缓存
sudo yum clean headers

# 清理后重建缓存
sudo yum makecache
sudo yum makecache fast

实用示例

示例1:安装LAMP环境
# 安装Apache、PHP、MySQL
sudo yum install httpd
sudo yum install php php-mysql php-gd
sudo yum install mariadb-server mariadb

# 启动服务
sudo systemctl start httpd
sudo systemctl start mariadb

# 设置开机自启
sudo systemctl enable httpd
sudo systemctl enable mariadb
示例2:批量操作
# 查看哪些软件包可以更新
yum list updates

# 批量更新所有软件包(交互式)
sudo yum update

# 批量更新所有软件包(非交互式)
sudo yum -y update

# 批量安装多个开发工具
sudo yum groupinstall "Development Tools"

# 批量移除不再需要的依赖
sudo yum autoremove
使用技巧
  • 查看历史记录:使用 yum history 查看yum操作历史
  • 撤销操作:使用 sudo yum history undo 编号 撤销特定操作
  • 仅下载不安装:使用 yumdownloader 工具下载RPM包
  • 离线安装:使用 yum --downloadonly 下载包及其依赖
  • 排除特定包:使用 --exclude=包名 排除不想更新的包
常见问题
  • yum命令无法使用? 检查网络连接和yum源配置
  • 软件包冲突? 使用 yum check 检查依赖关系
  • 找不到软件包? 检查仓库是否已正确启用
  • 磁盘空间不足? 清理yum缓存:yum clean all
注意事项
  • 生产环境更新前建议先测试
  • 更新系统内核后需要重启生效
  • 慎用 -y 参数,避免自动确认不需要的更改
  • 定期清理缓存可以释放磁盘空间
  • 备份重要数据后再进行大规模更新