yum 命令 #
yum
(Yellowdog Updater, Modified)是 CentOS、RHEL(Red Hat Enterprise Linux)和早期 Fedora 版本中的包管理工具,用于安装、更新、移除和管理 RPM 软件包,并自动处理依赖关系。
语法 #
yum [选项] 命令 [包...]
常用命令 #
命令 | 描述 |
---|---|
install |
安装包 |
update |
更新包 |
check-update |
检查可用更新 |
upgrade |
升级所有包 |
remove 或 erase |
移除包 |
list |
列出包 |
search |
搜索包 |
info |
显示包信息 |
provides 或 whatprovides |
查找提供特定文件的包 |
clean |
清理缓存 |
makecache |
下载并缓存元数据 |
groups |
显示、安装或移除包组 |
repolist |
列出配置的仓库 |
history |
查看或操作事务历史 |
reinstall |
重新安装包 |
downgrade |
降级包 |
localinstall |
安装本地 RPM 文件 |
deplist |
列出包的依赖关系 |
check |
检查包依赖问题 |
常用选项 #
选项 | 描述 |
---|---|
-y, --assumeyes |
自动回答是,不提示确认 |
-q, --quiet |
静默输出 |
-v, --verbose |
详细输出 |
--enablerepo=仓库 |
启用指定的仓库 |
--disablerepo=仓库 |
禁用指定的仓库 |
--exclude=包 |
排除指定的包 |
--disableexcludes |
禁用排除 |
--nogpgcheck |
禁用 GPG 签名检查 |
--downloadonly |
仅下载不安装 |
--downloaddir=目录 |
指定下载目录 |
--noplugins |
禁用所有插件 |
--skip-broken |
跳过有问题的包 |
--showduplicates |
显示所有版本的包 |
--setopt=选项=值 |
设置任意配置选项 |
--security |
包含安全更新 |
--bugfix |
包含 bug 修复更新 |
--cacheonly |
仅使用缓存,不下载 |
--refresh |
刷新过期的元数据 |
常见用法 #
1. 安装包 #
yum install package_name
例如:
yum install httpd
2. 安装多个包 #
yum install package1 package2 package3
3. 更新特定包 #
yum update package_name
4. 更新所有包 #
yum update
5. 检查可用更新 #
yum check-update
6. 移除包 #
yum remove package_name
7. 搜索包 #
yum search keyword
例如:
yum search "web server"
8. 显示包信息 #
yum info package_name
9. 列出所有已安装的包 #
yum list installed
10. 列出所有可用的包 #
yum list available
11. 列出可更新的包 #
yum list updates
12. 查找提供特定文件的包 #
yum provides /path/to/file
例如:
yum provides /usr/bin/htpasswd
13. 清理缓存 #
yum clean all
这将清理所有缓存的包和元数据。
14. 重建缓存 #
yum makecache
15. 列出包组 #
yum groups list
16. 安装包组 #
yum groups install "Group Name"
例如:
yum groups install "Development Tools"
17. 列出已启用的仓库 #
yum repolist
18. 列出所有仓库(包括禁用的) #
yum repolist all
19. 查看事务历史 #
yum history
20. 重新安装包 #
yum reinstall package_name
高级用法 #
1. 从特定仓库安装包 #
yum --enablerepo=epel install package_name
这将从 EPEL 仓库安装包。
2. 排除特定包更新 #
yum --exclude=package_name update
3. 仅下载包不安装 #
yum install --downloadonly --downloaddir=/path/to/directory package_name
4. 安装本地 RPM 文件并解决依赖 #
yum localinstall package.rpm
5. 降级包到早期版本 #
yum downgrade package_name
6. 列出包的依赖关系 #
yum deplist package_name
7. 查看特定事务的详细信息 #
yum history info transaction_id
8. 撤销特定事务 #
yum history undo transaction_id
9. 重做特定事务 #
yum history redo transaction_id
10. 安装特定版本的包 #
yum install package_name-version
例如:
yum install httpd-2.4.6-97.el7
11. 显示包的所有可用版本 #
yum --showduplicates list package_name
12. 只安装安全更新 #
yum --security update
13. 查看包的更新历史 #
yum updateinfo list
14. 查看包组内容 #
yum groupinfo "Group Name"
15. 使用插件 #
# 使用fastestmirror插件
yum --enableplugin=fastestmirror install package_name
# 禁用插件
yum --disableplugin=plugin_name install package_name
配置文件 #
yum 的主要配置文件和目录:
/etc/yum.conf
:主配置文件/etc/yum.repos.d/
:仓库配置文件目录/var/cache/yum/
:缓存目录/var/log/yum.log
:日志文件
与 DNF 的关系 #
dnf
(Dandified YUM)是yum
的下一代版本,在 Fedora 22 及更高版本中默认使用,并在 RHEL 8/CentOS 8 中取代了yum
。DNF 解决了 YUM 的一些性能和内存使用问题,但保持了类似的命令行接口。在 RHEL 8/CentOS 8 中,yum
命令实际上是指向dnf
的符号链接。
提示 #
-
使用
yum-utils
包中的工具可以扩展 yum 的功能yumdownloader
:下载但不安装 RPM 包repoquery
:查询包和仓库信息package-cleanup
:清理包问题yum-config-manager
:管理 yum 配置debuginfo-install
:安装调试信息包
-
定期运行
yum clean all
和yum makecache
可以保持仓库元数据的最新状态 -
使用
yum history
可以跟踪系统更改并在需要时回滚 -
在服务器环境中,考虑使用
yum-cron
自动应用安全更新 -
使用
--skip-broken
选项可以在有问题的包存在时继续安装其他包 -
创建
/etc/yum.repos.d/
中的自定义.repo 文件可以添加额外的软件仓库 -
使用
subscription-manager
可以管理 RHEL 系统的订阅 -
在生产环境中执行重大更改前,先在测试系统上验证
-
使用
yum-plugin-versionlock
可以锁定特定包的版本,防止意外更新