小小白祈祷中...

yum 是基于 RPM 包管理的 Linux 系统(如 CentOS、RHEL)的包管理工具,用于方便地安装、更新、卸载和管理软件包。yum 会自动解决软件包的依赖关系,并从指定的仓库中下载和安装所需的包。

在 CentOS 8 和 RHEL 8 中,yum 被替换为 dnf(但 yum 仍作为兼容命令存在)。以下内容基于传统的 yum 命令。


基本语法

1
yum [选项] [子命令] [参数]
  • 选项:可以用来控制 yum 的行为(如 -y 表示自动确认)。
  • 子命令:指定要执行的操作(如 installupdateremove 等)。
  • 参数:指定操作的目标(如某个软件包名称)。

常用子命令及用法

安装软件包

安装一个软件包

1
yum install <软件包名>
  • 示例:
1
yum install vim

安装多个软件包

1
yum install <软件包名1> <软件包名2>
  • 示例:
1
yum install wget curl

自动确认安装(无需交互)

1
yum install -y <软件包名>
  • 示例:
1
yum install -y httpd

卸载软件包

卸载一个软件包

1
yum remove <软件包名>
  • 示例:
1
yum remove vim

自动确认卸载(无需交互)

1
yum remove -y <软件包名>
  • 示例:
1
yum remove -y httpd

更新软件

更新单个软件包

1
yum update <软件包名>
  • 示例:
1
yum update vim

更新所有软件包

1
yum update
  • 示例:
1
yum update
  • 作用:更新系统中的所有软件包及其依赖,同时升级内核(如果有更新)。

仅更新特定软件包组

1
yum groupupdate "<组名>"
  • 示例:
1
yum groupupdate "Development Tools"

搜索软件包

搜索软件包名称

1
yum search <关键词>
  • 示例:
1
yum search vim
  • 输出:列出名称或描述中包含 vim 的相关软件包。

列出软件包详细信息

1
yum info <软件包名>
  • 示例:
1
yum info vim
  • 输出:显示软件包的版本、大小、描述、依赖等详细信息。

列出软件包

列出已安装的软件包

1
yum list installed
  • 示例:
1
yum list installed

列出可用的软件包

1
yum list available
  • 示例:
1
yum list available

列出特定软件包

1
yum list <软件包名>
  • 示例:
1
yum list vim

清理缓存

清理所有缓存

1
yum clean all
  • 作用:清除本地缓存(包括软件包文件和元数据)。

清理软件包缓存

1
yum clean packages
  • 作用:删除已下载但未安装的软件包缓存。

清理元数据缓存

1
yum clean metadata
  • 作用:删除缓存的仓库元数据(如包列表、更新信息)。

仓库管理

列出所有仓库

1
yum repolist
  • 示例:
1
yum repolist
  • 输出:显示已启用的仓库名称、ID 和包数量。

列出所有仓库(包括禁用的)

1
yum repolist all
  • 示例:
1
yum repolist all

启用特定仓库

1
yum --enablerepo=<仓库ID> install <软件包名>
  • 示例:
1
yum --enablerepo=epel install htop

禁用特定仓库

1
yum --disablerepo=<仓库ID> install <软件包名>
  • 示例:
1
yum --disablerepo=epel install vim

软件包组管理

列出所有可用的软件包组

1
yum grouplist
  • 示例:
1
yum grouplist
  • 输出:显示所有可用的软件包组名称。

安装软件包组

1
yum groupinstall "<组名>"
  • 示例:
1
yum groupinstall "Development Tools"
  • 作用:安装开发工具组(包含 GCC、Make 等常用开发工具)。

卸载软件包组

1
yum groupremove "<组名>"
  • 示例:
1
yum groupremove "Development Tools"

查看历史操作

查看操作历史

1
yum history
  • 示例:
1
yum history

查看特定操作的详情

1
yum history info <操作ID>
  • 示例:
1
yum history info 5

撤销某次操作

1
yum history undo <操作ID>
  • 示例:
1
yum history undo 5

重做某次操作

1
yum history redo <操作ID>
  • 示例:
1
yum history redo 5

常用选项

选项 作用
-y 自动确认所有提示(适用于安装、卸载等操作)。
--enablerepo 启用指定仓库,仅在当前命令中生效。
--disablerepo 禁用指定仓库,仅在当前命令中生效。
-q 安静模式,不输出多余信息。
-v 显示详细信息。
--nogpgcheck 跳过 GPG 签名检查(仅在仓库未配置 GPG 签名时使用)。

示例场景

安装指定版本的软件包

1
yum install <软件包名>-<版本号>
  • 示例:
1
yum install nginx-1.18.0

启用 EPEL 仓库并安装软件

1
yum --enablerepo=epel install htop

仅下载软件包,不安装

1
yum install --downloadonly --downloaddir=<目录> <软件包名>
  • 示例:
1
yum install --downloadonly --downloaddir=/tmp wget

查看软件包的依赖关系

1
yum deplist <软件包名>
  • 示例:
1
yum deplist vim

显示仓库中某个包的详细信息

1
yum info <软件包名>
  • 示例:
1
yum info httpd

总结

功能分类 常用命令
安装软件 yum install <软件包>
卸载软件 yum remove <软件包>
更新软件 yum update / yum update <软件包>
搜索软件 yum search <关键词>
列出软件包 yum list installed / yum list available
清理缓存 yum clean all / yum clean metadata
仓库管理 yum repolist / yum --enablerepo=<仓库>
软件组管理 yum grouplist / yum groupinstall "<组名>"
操作历史 yum history / yum history undo <ID>

yum 是一个功能强大且灵活的包管理工具,通过熟练使用 yum,可以轻松管理 Linux 系统中的软件包和依赖关系。