yum
是基于 RPM 包管理的 Linux 系统(如 CentOS、RHEL)的包管理工具,用于方便地安装、更新、卸载和管理软件包。yum
会自动解决软件包的依赖关系,并从指定的仓库中下载和安装所需的包。
在 CentOS 8 和 RHEL 8 中,yum
被替换为 dnf
(但 yum
仍作为兼容命令存在)。以下内容基于传统的 yum
命令。
基本语法
- 选项:可以用来控制
yum
的行为(如 -y
表示自动确认)。
- 子命令:指定要执行的操作(如
install
、update
、remove
等)。
- 参数:指定操作的目标(如某个软件包名称)。
常用子命令及用法
安装软件包
安装一个软件包
安装多个软件包
1
| yum install <软件包名1> <软件包名2>
|
自动确认安装(无需交互)
卸载软件包
卸载一个软件包
自动确认卸载(无需交互)
更新软件
更新单个软件包
更新所有软件包
- 作用:更新系统中的所有软件包及其依赖,同时升级内核(如果有更新)。
仅更新特定软件包组
1
| yum groupupdate "Development Tools"
|
搜索软件包
搜索软件包名称
- 输出:列出名称或描述中包含
vim
的相关软件包。
列出软件包详细信息
- 输出:显示软件包的版本、大小、描述、依赖等详细信息。
列出软件包
列出已安装的软件包
列出可用的软件包
列出特定软件包
清理缓存
清理所有缓存
清理软件包缓存
清理元数据缓存
- 作用:删除缓存的仓库元数据(如包列表、更新信息)。
仓库管理
列出所有仓库
列出所有仓库(包括禁用的)
启用特定仓库
1
| yum --enablerepo=<仓库ID> install <软件包名>
|
1
| yum --enablerepo=epel install htop
|
禁用特定仓库
1
| yum --disablerepo=<仓库ID> install <软件包名>
|
1
| yum --disablerepo=epel install vim
|
软件包组管理
列出所有可用的软件包组
安装软件包组
1
| yum groupinstall "Development Tools"
|
- 作用:安装开发工具组(包含 GCC、Make 等常用开发工具)。
卸载软件包组
1
| yum groupremove "Development Tools"
|
查看历史操作
查看操作历史
查看特定操作的详情
撤销某次操作
重做某次操作
常用选项
选项 |
作用 |
-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
|
查看软件包的依赖关系
显示仓库中某个包的详细信息
总结
功能分类 |
常用命令 |
安装软件 |
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 系统中的软件包和依赖关系。